Class: ROM::Notifications::EventBus

Inherits:
Object
  • Object
show all
Includes:
Publisher
Defined in:
lib/rom/support/notifications.rb

Overview

Event bus

An event bus stores listeners (callbacks) and events

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Publisher

#subscribe, #trigger

Constructor Details

#initialize(id, events: EMPTY_HASH, listeners: LISTENERS_HASH.dup) ⇒ EventBus

Initialize a new event bus

Parameters:

  • id (Symbol)

    The bus identifier

  • events (Hash) (defaults to: EMPTY_HASH)

    A hash with events

  • listeners (Hash) (defaults to: LISTENERS_HASH.dup)

    A hash with listeners



225
226
227
228
229
# File 'lib/rom/support/notifications.rb', line 225

def initialize(id, events: EMPTY_HASH, listeners: LISTENERS_HASH.dup)
  @id = id
  @listeners = listeners
  @events = events
end

Instance Attribute Details

#eventsObject (readonly)



212
213
214
# File 'lib/rom/support/notifications.rb', line 212

def events
  @events
end

#idObject (readonly)



208
209
210
# File 'lib/rom/support/notifications.rb', line 208

def id
  @id
end

#listenersObject (readonly)



216
217
218
# File 'lib/rom/support/notifications.rb', line 216

def listeners
  @listeners
end