Class: Dragoon::EventManager

Inherits:
Object
  • Object
show all
Defined in:
lib/dragoon/event_manager.rb

Overview

only supports a very basic one-to-one mapping of events currently no support for event heirarchy

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#handlersObject (readonly)

Returns the value of attribute handlers.



6
7
8
# File 'lib/dragoon/event_manager.rb', line 6

def handlers
  @handlers
end

Instance Method Details

#dispatch(event, source) ⇒ Object



8
9
10
11
12
# File 'lib/dragoon/event_manager.rb', line 8

def dispatch(event, source)
  if @handlers.include?(event.name)
    @handlers[event.name].call(event.message, source)
  end
end

#on(event_name, &callback) ⇒ Object

register callbacks for certain events



15
16
17
18
# File 'lib/dragoon/event_manager.rb', line 15

def on(event_name, &callback)
  @handlers ||= {}
  @handlers[event_name] = callback
end