Class: Faulty::Events::Notifier

Inherits:
Object
  • Object
show all
Defined in:
lib/faulty/events/notifier.rb

Overview

The default event dispatcher for Faulty

Instance Method Summary collapse

Constructor Details

#initialize(listeners = []) ⇒ Notifier

Returns a new instance of Notifier.

Parameters:

  • listeners (Array<ListenerInterface>) (defaults to: [])

    An array of event listeners



8
9
10
# File 'lib/faulty/events/notifier.rb', line 8

def initialize(listeners = [])
  @listeners = listeners.freeze
end

Instance Method Details

#notify(event, payload) ⇒ Object

Notify all listeners of an event

Parameters:

  • event (Symbol)

    The event name

  • payload (Hash)

    A hash of event payload data. The payload keys differ between events, but should be consistent across calls for a single event

Raises:

  • (ArgumentError)


18
19
20
21
22
# File 'lib/faulty/events/notifier.rb', line 18

def notify(event, payload)
  raise ArgumentError, "Unknown event #{event}" unless EVENTS.include?(event)

  @listeners.each { |l| l.handle(event, payload) }
end