class Fixer::SqsClient

Public Class Methods

new(options = {}) { |self| ... } click to toggle source
# File lib/fixer/sqs_client.rb, line 30
def initialize(options = {})
  apply_options(options)
  yield(self) if block_given?
end

Public Instance Methods

apply_options(options = {}) click to toggle source
# File lib/fixer/sqs_client.rb, line 35
def apply_options(options = {})
  current_options = Fixer.options.merge(options).with_indifferent_access
  Fixer::Configuration.keys.each do |key|
    send("#{key}=", current_options[key])
  end
end
create_job(job, opts = {}) click to toggle source
# File lib/fixer/sqs_client.rb, line 10
def create_job(job, opts = {})
  job[:job][:id] ||= SecureRandom.uuid
  job[:job][:client_id] ||= client_id

  sqs_options = options.merge(opts)
  sqs_queue = sqs_options[:queue]
  conn = sqs(sqs_options[:aws])
  queue_url = conn.get_queue_url(queue_name: sqs_queue).queue_url
  conn.send_message(queue_url: queue_url, message_body: job.to_json)
  job
end
sqs(opts = nil) click to toggle source
# File lib/fixer/sqs_client.rb, line 22
def sqs(opts = nil)
  @sqs ||= Aws::SQS::Client.new(opts || {})
end
sqs=(sqs) click to toggle source
# File lib/fixer/sqs_client.rb, line 26
def sqs=(sqs)
  @sqs = sqs
end