Class: EventEngine::Subscribers::Registry
- Inherits:
-
Object
- Object
- EventEngine::Subscribers::Registry
- Defined in:
- lib/event_engine/subscribers/registry.rb
Overview
In-memory registry mapping event names to their subscriber classes.
Populated at load time (subscribers self-register via Base.subscribes_to)
and consulted when an event is dispatched, so the handler can invoke each
subscriber's #handle(event) in the process type's execution context.
Class Method Summary collapse
-
.clear! ⇒ void
Removes all registrations.
-
.register(event_name, subscriber) ⇒ void
Registers a subscriber class for an event.
-
.subscribers_for(event_name) ⇒ Array<Class>
Returns the subscriber classes registered for an event.
Class Method Details
.clear! ⇒ void
This method returns an undefined value.
Removes all registrations. Intended for test isolation.
29 30 31 |
# File 'lib/event_engine/subscribers/registry.rb', line 29 def self.clear! @registrations = {} end |
.register(event_name, subscriber) ⇒ void
This method returns an undefined value.
Registers a subscriber class for an event.
13 14 15 16 |
# File 'lib/event_engine/subscribers/registry.rb', line 13 def self.register(event_name, subscriber) registrations[event_name.to_sym] ||= [] registrations[event_name.to_sym] << subscriber end |
.subscribers_for(event_name) ⇒ Array<Class>
Returns the subscriber classes registered for an event.
22 23 24 |
# File 'lib/event_engine/subscribers/registry.rb', line 22 def self.subscribers_for(event_name) registrations[event_name&.to_sym] || [] end |