Module: Julewire::Karafka::MessageContext

Defined in:
lib/julewire/karafka/message_context.rb

Class Method Summary collapse

Class Method Details

.call(message, configuration:, fields: nil) ⇒ Object

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/julewire/karafka/message_context.rb', line 7

def call(message, configuration:, fields: nil, &)
  raise ArgumentError, "block required" unless block_given?

  fields ||= PayloadReader.message_payload(message)
  carrier = carrier_for(fields, configuration)

  Julewire::Core::Propagation::Carrier.restore(carrier, key: configuration.carrier_key) do
    Julewire::Core::Integration::Facade.with_neutral(message_neutral(fields)) do
      Julewire::Core::Integration::Facade.with_attributes(message_attributes(fields), &)
    end
  end
end