Class: Retl::EventRouter

Inherits:
Object
  • Object
show all
Defined in:
lib/retl/event_router.rb

Instance Method Summary collapse

Constructor Details

#initializeEventRouter

Returns a new instance of EventRouter.



3
4
5
# File 'lib/retl/event_router.rb', line 3

def initialize
  @listeners = {}
end

Instance Method Details

#listen_to(event_name, &block) ⇒ Object



7
8
9
10
# File 'lib/retl/event_router.rb', line 7

def listen_to(event_name, &block)
  @listeners[event_name] ||= []
  @listeners[event_name] << block
end

#trigger(event_name, args = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/retl/event_router.rb', line 12

def trigger(event_name, args={})
  listeners = @listeners[event_name]

  if listeners
    listeners.each do |handler|
      handler.call(args)
    end
  end
end