Class: RailsEventStore::PubSub::Broker
- Inherits:
-
Object
- Object
- RailsEventStore::PubSub::Broker
- Defined in:
- lib/rails_event_store/pub_sub/broker.rb
Instance Method Summary collapse
- #add_subscriber(subscriber, event_types) ⇒ Object
-
#initialize ⇒ Broker
constructor
A new instance of Broker.
- #notify_subscribers(event) ⇒ Object
Constructor Details
#initialize ⇒ Broker
Returns a new instance of Broker.
5 6 7 |
# File 'lib/rails_event_store/pub_sub/broker.rb', line 5 def initialize @subscribers = {} end |
Instance Method Details
#add_subscriber(subscriber, event_types) ⇒ Object
9 10 11 12 13 |
# File 'lib/rails_event_store/pub_sub/broker.rb', line 9 def add_subscriber(subscriber, event_types) raise SubscriberNotExist if subscriber.nil? raise MethodNotDefined unless subscriber.methods.include? :handle_event subscribe(subscriber, [*event_types]) end |
#notify_subscribers(event) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/rails_event_store/pub_sub/broker.rb', line 15 def notify_subscribers(event) if subscribers.key? event.event_type subscribers[event.event_type].each do |subscriber| subscriber.handle_event(event) end end end |