Module: Julewire::Karafka::MessageExecution

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

Constant Summary collapse

DEFAULT_TYPE =
:karafka_message
DEFAULT_SUMMARY_EVENT =
"message.completed"

Class Method Summary collapse

Class Method Details

.call(message, configuration: Configuration.new, **options) ⇒ Object

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/julewire/karafka/message_execution.rb', line 10

def call(message, configuration: Configuration.new, **options, &)
  raise ArgumentError, "block required" unless block_given?

  fields = PayloadReader.message_payload(message)
  execution_fields = execution_fields(options)
  type = execution_fields.delete(:type) || DEFAULT_TYPE
  id = execution_fields.delete(:id) || execution_id(fields)
  emit_summary = execution_fields.delete(:emit_summary) { true }
  summary_event = execution_fields.delete(:summary_event) || DEFAULT_SUMMARY_EVENT
  summary_severity = execution_fields.delete(:summary_severity)
  summary_source = execution_fields.delete(:summary_source) || configuration.source
  MessageContext.call(message, configuration: configuration, fields: fields) do
    Julewire::Core::Integration::Facade.with_execution(
      type: type,
      id: id,
      emit_summary: emit_summary,
      fields: execution_fields,
      summary_event: summary_event,
      summary_severity: summary_severity,
      summary_source: summary_source,
      &
    )
  end
end