Sha256: f1110e083734d8fbdfd67dfddf6b13f5cd7e797045bc0ae2d59368d55a0054a6

Contents?: true

Size: 1.06 KB

Versions: 8

Compression:

Stored size: 1.06 KB

Contents

module Shoryuken
  class Message
    extend Forwardable

    def_delegators(:data,
                   :message_id,
                   :receipt_handle,
                   :md5_of_body,
                   :body,
                   :attributes,
                   :md5_of_message_attributes,
                   :message_attributes)

    attr_accessor :client, :queue_url, :queue_name, :data

    def initialize(client, queue, data)
      self.client     = client
      self.data       = data
      self.queue_url  = queue.url
      self.queue_name = queue.name
    end

    def delete
      client.delete_message(
        queue_url: queue_url,
        receipt_handle: data.receipt_handle
      )
    end

    def change_visibility(options)
      client.change_message_visibility(
        options.merge(queue_url: queue_url, receipt_handle: data.receipt_handle)
      )
    end

    def visibility_timeout=(timeout)
      client.change_message_visibility(
        queue_url: queue_url,
        receipt_handle: data.receipt_handle,
        visibility_timeout: timeout
      )
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
shoryuken-6.2.1 lib/shoryuken/message.rb
shoryuken-6.2.0 lib/shoryuken/message.rb
shoryuken-6.1.1 lib/shoryuken/message.rb
shoryuken-6.1.0 lib/shoryuken/message.rb
shoryuken-6.0.0 lib/shoryuken/message.rb
shoryuken-5.3.2 lib/shoryuken/message.rb
shoryuken-5.3.1 lib/shoryuken/message.rb
shoryuken-5.3.0 lib/shoryuken/message.rb