class Koine::EventManager::EventManager
Public Class Methods
new()
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 6 def initialize @internal_listener = EventListener.new end
Public Instance Methods
attach_listener(listener)
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 22 def attach_listener(listener) listeners << listener end
detach_listener(listener)
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 26 def detach_listener(listener) listeners.delete(listener) end
listen_to(event, &block)
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 10 def listen_to(event, &block) @internal_listener.listen_to(event, &block) end
listeners()
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 38 def listeners @listeners ||= [] end
subscribe(subscriber, to:)
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 14 def subscribe(subscriber, to:) @internal_listener.subscribe(subscriber, to: to) end
trigger(event)
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 30 def trigger(event) @internal_listener.trigger(event) listeners.each do |listener| listener.trigger(event) end end
unsubscribe(subscriber, from:)
click to toggle source
# File lib/koine/event_manager/event_manager.rb, line 18 def unsubscribe(subscriber, from:) @internal_listener.unsubscribe(subscriber, from: from) end