class EventManager
Core of the event managing system, this class stores listener and call them on event triggering.
Public Class Methods
new()
click to toggle source
# File lib/gimuby/event/event_manager.rb, line 7 def initialize @listeners_registry = {} #contains array end
Public Instance Methods
register_listener(name, &block)
click to toggle source
@param name {String} The event name @param block {Block} The callback that will be call @api
# File lib/gimuby/event/event_manager.rb, line 14 def register_listener(name, &block) unless @listeners_registry.has_key? name @listeners_registry[name] = [] end @listeners_registry[name].push block end
trigger_event(name, event = {})
click to toggle source
@param name {String} The event name @param event {Event} The event object
# File lib/gimuby/event/event_manager.rb, line 23 def trigger_event(name, event = {}) if @listeners_registry.has_key? name if event.class == Hash event = Event.new(name, event) end listeners = @listeners_registry[name] listeners.each do |block| block.call event end end end