module CultomePlayer::Events
Public Instance Methods
emit_event(event, *data)
click to toggle source
Broadcast an event to all the registered listeners.
@param event [Symbol] The event name. @param data [Array] The information sended to the listeners.
# File lib/cultome_player/events.rb, line 25 def emit_event(event, *data) listeners[event].collect{|l| l.call(*data) } end
listeners()
click to toggle source
Lazy getter of registered event listeners.
@return [Hash] With event names as the keys and values are the listeners registered to that event.
# File lib/cultome_player/events.rb, line 7 def listeners @listeners ||= Hash.new{|h,k| h[k] = [] } end
register_listener(event, &callback)
click to toggle source
Register a callback to an event.
@param event [Symbol] The event name. @param callback [Object] Implements a callback with the name on_<event name>. @return [Object] The registered callback.
# File lib/cultome_player/events.rb, line 16 def register_listener(event, &callback) listeners[event] << callback return callback end