Module: Watobo::Subscriber

Overview

:nodoc: all

Instance Method Summary collapse

Instance Method Details

#clearEvents(event) ⇒ Object



10
11
12
13
14
# File 'lib/watobo/core/subscriber.rb', line 10

def clearEvents(event)
  @event_dispatcher_listeners ||= Hash.new
  @event_dispatcher_listeners[event] ||= []
  @event_dispatcher_listeners[event].clear
end

#notify(event, *args) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/watobo/core/subscriber.rb', line 16

def notify(event, *args)
  @event_dispatcher_listeners ||= Hash.new
  if @event_dispatcher_listeners[event]
   # puts "NOTIFY: #{self}(:#{event}) [#{@event_dispatcher_listeners[event].length}]" if $DEBUG
    @event_dispatcher_listeners[event].each do |m|
      m.call(*args) if m.respond_to? :call
    end
  end
end

#subscribe(event, &callback) ⇒ Object



5
6
7
8
# File 'lib/watobo/core/subscriber.rb', line 5

def subscribe(event, &callback)
  @event_dispatcher_listeners ||= Hash.new
  (@event_dispatcher_listeners[event] ||= []) << callback
end