class RKS::Event::Processor
Attributes
correlation_id[RW]
event[RW]
payload[RW]
Public Class Methods
current()
click to toggle source
# File lib/rks/event/processor.rb, line 29 def current if @current @current.value else raise ProcessorNotInitialized, "#set_current_processor is needed" end end
new(correlation_id:, event:, payload:)
click to toggle source
# File lib/rks/event/processor.rb, line 10 def initialize(correlation_id:, event:, payload:) @correlation_id = correlation_id @event = event @payload = payload self.class.set_current_processor(self) end
process(args)
click to toggle source
# File lib/rks/event/processor.rb, line 37 def process(args) new(args).process end
set_current_processor(processor)
click to toggle source
# File lib/rks/event/processor.rb, line 25 def set_current_processor(processor) @current = Concurrent::ThreadLocalVar.new(processor) end
Public Instance Methods
process()
click to toggle source
# File lib/rks/event/processor.rb, line 18 def process Application.logger.with_rescue_and_duration_event(@correlation_id, @event, @payload) do RKS::Event::Handler.call(correlation_id: @correlation_id, event: @event, payload: @payload) end end