Sha256: fc273b3fbf4d969cfdb10c29ba2650c1571d5a56b57c7e177ffc9d7b31f11d96

Contents?: true

Size: 561 Bytes

Versions: 2

Compression:

Stored size: 561 Bytes

Contents

module Space
  class Screen
    autoload :Progress,  'space/screen/progress'
    autoload :Dashboard, 'space/screen/dashboard'
    autoload :View,      'space/screen/view'

    attr_reader :project, :view

    def initialize(project)
      @project = project
    end

    def display(name)
      @view = create(name)
      render
    end

    def render
      view.render
    end

    def notify(event)
      view.notify(event)
    end

    private

      def create(screen)
        self.class.const_get(screen.to_s.capitalize).new(project)
      end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
space-0.0.5 lib/space/screen.rb
space-0.0.4 lib/space/screen.rb