class Requeus::Adapter::SQS

Public Class Methods

new(options = {}) click to toggle source
# File lib/requeus/adapter/sqs.rb, line 4
def initialize options = {}
  @options = options
end

Public Instance Methods

confirm(queue, handle) click to toggle source
# File lib/requeus/adapter/sqs.rb, line 18
def confirm queue, handle
  connection.interface.delete_message(connection.interface.queue_url_by_name(queue), handle)
end
get(queue, limit = 1) click to toggle source
# File lib/requeus/adapter/sqs.rb, line 12
def get queue, limit = 1
  get_queue(queue).receive_messages(limit).map do |message|
    [message.receipt_handle, message.body]
  end
end
put(queue, request) click to toggle source
# File lib/requeus/adapter/sqs.rb, line 8
def put queue, request
  get_queue(queue).send_message(request)
end

Private Instance Methods

connection() click to toggle source
# File lib/requeus/adapter/sqs.rb, line 28
def connection
  @connection ||= Aws::Sqs.new(@options['access_key_id'], @options['secret_access_key'])
end
get_queue(queue) click to toggle source
# File lib/requeus/adapter/sqs.rb, line 24
def get_queue queue
  (@queues ||= {})[queue] ||= connection.queue(queue)
end