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