Module: Cura::Event
- Defined in:
- lib/cura/event.rb,
lib/cura/event/base.rb,
lib/cura/event/click.rb,
lib/cura/event/focus.rb,
lib/cura/event/mouse.rb,
lib/cura/event/resize.rb,
lib/cura/event/handler.rb,
lib/cura/event/unfocus.rb,
lib/cura/event/key_down.rb,
lib/cura/event/selected.rb,
lib/cura/event/dispatcher.rb,
lib/cura/event/mouse_button.rb,
lib/cura/event/mouse_wheel_up.rb,
lib/cura/event/middleware/base.rb,
lib/cura/event/mouse_wheel_down.rb,
lib/cura/event/middleware/dispatch.rb,
lib/cura/event/middleware/aimer/base.rb,
lib/cura/event/middleware/translator/base.rb,
lib/cura/event/middleware/aimer/mouse_focus.rb,
lib/cura/event/middleware/aimer/target_option.rb,
lib/cura/event/middleware/translator/mouse_click.rb,
lib/cura/event/middleware/aimer/dispatcher_target.rb
Overview
The container for Event::Base and it’s subclasses.
Defined Under Namespace
Modules: Middleware Classes: Base, Click, Dispatcher, Focus, Handler, KeyDown, Mouse, MouseButton, MouseWheelDown, MouseWheelUp, Resize, Selected, Unfocus
Class Method Summary collapse
-
.all ⇒ Array<Class>
Get all Event::Base subclasses.
-
.find_by_name(name) ⇒ nil, Class
Find an Event::Base subclass by it’s name.
-
.new_from_name(name, attributes = {}) ⇒ Object
Initialize an Event::Base subclass by it’s name.
Class Method Details
.all ⇒ Array<Class>
Get all Event::Base subclasses.
8 9 10 |
# File 'lib/cura/event.rb', line 8 def all @all ||= [] end |
.find_by_name(name) ⇒ nil, Class
Find an Event::Base subclass by it’s name.
16 17 18 19 20 |
# File 'lib/cura/event.rb', line 16 def find_by_name(name) name = name.to_sym all.find { |event_class| event_class.name == name } end |
.new_from_name(name, attributes = {}) ⇒ Object
Initialize an Event::Base subclass by it’s name.
25 26 27 28 29 30 31 |
# File 'lib/cura/event.rb', line 25 def new_from_name(name, attributes={}) # TODO: name should be a string formatted like so 'mouse:button:down' which would correspond to Cura::Event::Mouse::Button::Down event_class = find_by_name(name) raise ArgumentError, "Unknown event name '#{name}'" if event_class.nil? event_class.new(attributes) end |