class Arsenicum::Queue::Sqs

Attributes

sqs_queue[R]
via_sns[R]

Public Class Methods

new(name, options = {}) click to toggle source
Calls superclass method Arsenicum::Queue::new
# File lib/arsenicum/queue/sqs.rb, line 7
def initialize(name, options = {})
  super name, options
  sqs_args = [options[:aws_account]].tap(&:compact!)
  sqs = AWS::SQS.new *sqs_args
  @sqs_queue = sqs.queues.named(name)
  @via_sns = options[:via_sns]
end

Public Instance Methods

handle_success(original_message) click to toggle source
# File lib/arsenicum/queue/sqs.rb, line 23
def handle_success(original_message)
  original_message.delete
end
pick() click to toggle source
# File lib/arsenicum/queue/sqs.rb, line 15
def pick
  message = sqs_message = sqs_queue.receive_message
  return unless message
  message = message.as_sns_message if via_sns

  [MultiJson.decode(message.body), sqs_message]
end