class Synapse::ProcessManager::MappingProcess
Process
that has the mapping DSL built-in
@example
class OrderProcess < MappingProcess map_event OrderCreatedEvent, correlate: :order_id, start: true do |event| # ... end map_event OrderFinishedEvent, correlate: :order_id, finish: true, to: :on_finish end
@abstract
Public Class Methods
map_event(type, *args, &block)
click to toggle source
@see Mapper#map @param [Class] type @param [Object…] args @param [Proc] block @return [undefined]
# File lib/synapse/process_manager/mapping/process.rb, line 26 def self.map_event(type, *args, &block) event_mapper.map type, *args, &block end
Public Instance Methods
handle(event)
click to toggle source
@param [EventMessage] event @return [undefined]
# File lib/synapse/process_manager/mapping/process.rb, line 32 def handle(event) return unless @active mapping = event_mapper.mapping_for event.payload_type if mapping mapping.invoke self, event.payload, event finish if mapping.options[:finish] end end