Class: DaemonKit::SQS

Inherits:
Object
  • Object
show all
Defined in:
lib/daemon_kit/dk_sqs.rb

Overview

Thin wrapper around the aws-sdk gem, specifically designed to ease configuration of the SQS client

Constant Summary collapse

@@instance =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSQS

Returns a new instance of SQS.



23
24
25
# File 'lib/daemon_kit/dk_sqs.rb', line 23

def initialize
  @config = DaemonKit::Config.load("sqs").to_h(true)
end

Class Method Details

.instanceObject



12
13
14
# File 'lib/daemon_kit/dk_sqs.rb', line 12

def instance
  @instance ||= new
end

.run(config = {}, &block) ⇒ Object



18
19
20
# File 'lib/daemon_kit/dk_sqs.rb', line 18

def run(config = {}, &block)
  instance.run(config, &block)
end

Instance Method Details

#run(config = {}, &block) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/daemon_kit/dk_sqs.rb', line 27

def run(config = {}, &block)
  sqs_config = @config.merge(config)
  DaemonKit.logger.debug("AWS::SQS.new(#{sqs_config.inspect})")
  sqs = ::AWS::SQS.new(sqs_config)
  DaemonKit.logger.debug("# => #{sqs.client.inspect}")
  block.call(sqs)
end