class BetterSqs::Message
A class that wraps Aws::Types::Message by reducing the size of the interface and adding imperative actions like deletion of self from a queue.
Attributes
queue[RW]
queue_client[RW]
sqs_message[RW]
Public Class Methods
new(queue_client: nil, queue: nil, sqs_message: nil)
click to toggle source
@param queue_client
[Clients::Sqs] a SQS client instance @param queue [String, Symbol] the name of the queue the message came from @param sqs_message
[Types::Message] the message result object
# File lib/better_sqs/message.rb, line 10 def initialize(queue_client: nil, queue: nil, sqs_message: nil) @queue_client = queue_client @queue = queue @sqs_message = sqs_message end
Public Instance Methods
==(other)
click to toggle source
# File lib/better_sqs/message.rb, line 39 def ==(other) sqs_message == other.sqs_message && queue_client == other.queue_client && queue == other.queue end
defer_retry()
click to toggle source
Defer for sqs_message_deferral_seconds the message, before it will be made visible in sqs
# File lib/better_sqs/message.rb, line 34 def defer_retry BetterSqs.logger.warn "Deferring retry processing of the message for #{BetterSqs.configuration.sqs_message_deferral_seconds} in SQS." queue_client.defer_retry self end
delete()
click to toggle source
Delete self from the SQS queue
# File lib/better_sqs/message.rb, line 28 def delete BetterSqs.logger.info "Deleting message from SQS queue." queue_client.delete self end
message_body()
click to toggle source
@return [String] the message's body contents
# File lib/better_sqs/message.rb, line 22 def message_body sqs_message.body end
Also aliased as: body
receipt_handle()
click to toggle source
@return [String] the receipt handle that is used to uniquely identify this particular receipt of the message
# File lib/better_sqs/message.rb, line 17 def receipt_handle sqs_message.receipt_handle end