class Maitredee::Adapters::SnsSqsAdapter::Worker

@private

Constants

MESSAGE_KEYS

Attributes

subscriber_class[RW]

Public Instance Methods

perform(sqs_message, body) click to toggle source
# File lib/maitredee/adapters/sns_sqs_adapter.rb, line 214
def perform(sqs_message, body)
  attributes = MESSAGE_KEYS.each_with_object({}) do |key, hash|
    hash[key.to_sym] = sqs_message.message_attributes[key]&.string_value
  end

  attributes.merge!(
    adapter_message: sqs_message,
    body: body,
    broker_message_id: sqs_message.message_id,
    message_id: sqs_message.message_id,
    raw_message: sqs_message.body,
    sent_at: Time.at(sqs_message.attributes["SentTimestamp"].to_i)
  )

  subscriber_message = SubscriberMessage.new(attributes)

  self.class.subscriber_class.process(subscriber_message)
end