Sha256: 9cf86a20d2fa835a1813a4c9e2f56fe4c434c9d0fba9b3973f9273e9a9382a1b

Contents?: true

Size: 719 Bytes

Versions: 6

Compression:

Stored size: 719 Bytes

Contents

module Jets::Job::Helpers
  module SqsEvent
    def sqs_events
      records = event["Records"]
      return [] unless records
      records.map do |record|
        message = record["body"]
        ActiveSupport::HashWithIndifferentAccess.new(JSON.load(message))
      end
    end
    alias sqs_event_payloads sqs_events

    def sqs_events?
      event["Records"]&.any? { |r| r.dig("body") }
    end
    alias sqs_event_payloads? sqs_events?

    # Deprecated methods below
    def sqs_event_payload
      puts "WARN: sqs_event_payload is deprecated".color(:yellow)
      puts "It can possibly drop events when they come in extremely fast."
      puts "Use sqs_events instead"
      sqs_events.first
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
jets-5.0.13 lib/jets/job/helpers/sqs_event.rb
jets-5.0.12 lib/jets/job/helpers/sqs_event.rb
jets-5.0.11 lib/jets/job/helpers/sqs_event.rb
jets-5.0.10 lib/jets/job/helpers/sqs_event.rb
jets-5.0.9 lib/jets/job/helpers/sqs_event.rb
jets-5.0.8 lib/jets/job/helpers/sqs_event.rb