Class: RubyEventStore::ComposedDispatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_event_store/composed_dispatcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(*dispatchers) ⇒ ComposedDispatcher

Returns a new instance of ComposedDispatcher.



3
4
5
# File 'lib/ruby_event_store/composed_dispatcher.rb', line 3

def initialize(*dispatchers)
  @dispatchers = dispatchers
end

Instance Method Details

#call(subscriber, event, serialized_event) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/ruby_event_store/composed_dispatcher.rb', line 7

def call(subscriber, event, serialized_event)
  @dispatchers.each do |dispatcher|
    if dispatcher.verify(subscriber)
      dispatcher.call(subscriber, event, serialized_event)
      break
    end
  end
end

#verify(subscriber) ⇒ Object



16
17
18
19
20
# File 'lib/ruby_event_store/composed_dispatcher.rb', line 16

def verify(subscriber)
  @dispatchers.any? do |dispatcher|
    dispatcher.verify(subscriber)
  end
end