Sha256: 84d3f9b102dddeb7239111354c30f38f220389f6f7783d1a366ae1e2b3240c38
Contents?: true
Size: 1.43 KB
Versions: 3
Compression:
Stored size: 1.43 KB
Contents
module Joyce class Application DEFAULT_WIDTH = 1920 DEFAULT_HEIGHT = 1080 def initialize(headless: false) @headless = headless end def setup(*) # ... end def tick # ... end def click # ... end def press(*) # ... end def launch(*setup_args) sim.conduct! setup(*setup_args) window.show self end def fire(cmd) sim.fire(cmd) end def received_events sim.received_events end def sim @simulation ||= self.class.simulation_class.current # RemoteSim.current end def self.simulation_class if connect_immediately? RemoteSim else Metacosm::Simulation end end def self.connect_immediately? false end def view @view ||= construct_view end def window @window ||= @headless ? NullWindow.new(self) : ApplicationWindow.new(self, width: width, height: height) end def width DEFAULT_WIDTH end def height DEFAULT_HEIGHT end private def construct_view self.class.view_class.new(self) end class << self attr_reader :view_class def viewed_with(view_class) @view_class ||= view_class self end def kickstart!(headless: false, setup: {}) app = new(headless: headless) app.launch(setup) app end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
joyce-0.2.6 | lib/joyce/application.rb |
joyce-0.2.5 | lib/joyce/application.rb |
joyce-0.2.4 | lib/joyce/application.rb |