class SqsQueuer::Queue

Attributes

client[R]
queue_url[R]

Public Class Methods

new(queue_url) click to toggle source
# File lib/sqs_queuer.rb, line 9
def initialize(queue_url)
  @client = Aws::SQS::Client.new(
    access_key_id: ENV['AWS_KEY_ID'],
    secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
  )
  @queue_url = queue_url
end

Public Instance Methods

add_to_queue(body) click to toggle source
# File lib/sqs_queuer.rb, line 17
def add_to_queue(body)
  body = YAML::dump(body)

  client.send_message({
    queue_url: queue_url,
    message_body: body
  })
end
pull_from_queue() click to toggle source
# File lib/sqs_queuer.rb, line 26
def pull_from_queue
  resp = client.receive_message({
    queue_url: queue_url,
    max_number_of_messages: 1
  })

  if resp.messages[0]
    message = resp.messages[0]
    client.delete_message(queue_url: queue_url, receipt_handle: message.receipt_handle)
    YAML::load(message.body)
  end
end