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