class Sequent::Util::DryRun::RecordingEventPublisher
Records which Projector’s and Workflow’s are executed
Attributes
projectors[R]
workflows[R]
Public Class Methods
new(result)
click to toggle source
Calls superclass method
# File lib/sequent/util/dry_run.rb, line 63 def initialize(result) super() @result = result end
Public Instance Methods
process_event(event)
click to toggle source
# File lib/sequent/util/dry_run.rb, line 68 def process_event(event) [*Sequent::Core::Workflow.descendants, *Sequent::Core::Projector.descendants].each do |handler_class| next unless handler_class.handles_message?(event) if handler_class < Sequent::Workflow @result.invoked_workflow(EventInvokedHandler.new(event, handler_class)) elsif handler_class < Sequent::Projector @result.invoked_projector(EventInvokedHandler.new(event, handler_class)) else fail "Unrecognized event_handler #{handler_class} called for event #{event.class}" end rescue StandardError raise PublishEventError.new(handler_class, event) end end