class Joyce::Application

Constants

DEFAULT_HEIGHT
DEFAULT_WIDTH

Attributes

view_class[R]

Public Class Methods

connect_immediately?() click to toggle source
# File lib/joyce/application.rb, line 53
def self.connect_immediately?
  false
end
new(headless: false) click to toggle source
# File lib/joyce/application.rb, line 6
def initialize(headless: false)
  @headless = headless
end
simulation_class() click to toggle source
# File lib/joyce/application.rb, line 45
def self.simulation_class
  if connect_immediately?
    RemoteSim
  else
    Metacosm::Simulation
  end
end

Private Class Methods

kickstart!(headless: false, setup: {}) click to toggle source
# File lib/joyce/application.rb, line 85
def kickstart!(headless: false, setup: {})
  app = new(headless: headless)
  app.launch(setup)
  app
end
viewed_with(view_class) click to toggle source
# File lib/joyce/application.rb, line 80
def viewed_with(view_class)
  @view_class ||= view_class
  self
end

Public Instance Methods

click() click to toggle source
# File lib/joyce/application.rb, line 18
def click
  # ...
end
fire(cmd) click to toggle source
# File lib/joyce/application.rb, line 33
def fire(cmd)
  sim.fire(cmd)
end
height() click to toggle source
# File lib/joyce/application.rb, line 69
def height
  DEFAULT_HEIGHT
end
launch(*setup_args) click to toggle source
# File lib/joyce/application.rb, line 26
def launch(*setup_args)
  sim.conduct!
  setup(*setup_args)
  window.show
  self
end
press(*) click to toggle source
# File lib/joyce/application.rb, line 22
def press(*)
  # ...
end
received_events() click to toggle source
# File lib/joyce/application.rb, line 37
def received_events
  sim.received_events
end
setup(*) click to toggle source
# File lib/joyce/application.rb, line 10
def setup(*)
  # ...
end
sim() click to toggle source
# File lib/joyce/application.rb, line 41
def sim
  @simulation ||= self.class.simulation_class.current # RemoteSim.current
end
tick() click to toggle source
# File lib/joyce/application.rb, line 14
def tick
  # ...
end
view() click to toggle source
# File lib/joyce/application.rb, line 57
def view
  @view ||= construct_view
end
width() click to toggle source
# File lib/joyce/application.rb, line 65
def width
  DEFAULT_WIDTH
end
window() click to toggle source
# File lib/joyce/application.rb, line 61
def window
  @window ||= @headless ? NullWindow.new(self) : ApplicationWindow.new(self, width: width, height: height)
end

Private Instance Methods

construct_view() click to toggle source
# File lib/joyce/application.rb, line 74
def construct_view
  self.class.view_class.new(self)
end