Module: Alephant::Harness::Service::SQS

Defined in:
lib/alephant/harness/service/sqs.rb

Class Method Summary collapse

Class Method Details

.clientObject



8
9
10
# File 'lib/alephant/harness/service/sqs.rb', line 8

def self.client
  @@client ||= ::AWS::SQS.new
end

.create(queue) ⇒ Object



12
13
14
# File 'lib/alephant/harness/service/sqs.rb', line 12

def self.create(queue)
  client.queues.create queue_name(queue)
end

.delete(queue_name) ⇒ Object



28
29
30
# File 'lib/alephant/harness/service/sqs.rb', line 28

def self.delete(queue_name)
  get(queue_name).delete
end

.exists?(queue_name) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
# File 'lib/alephant/harness/service/sqs.rb', line 22

def self.exists?(queue_name)
  if get(queue_name)
    yield
  end
end

.get(queue) ⇒ Object



16
17
18
19
20
# File 'lib/alephant/harness/service/sqs.rb', line 16

def self.get(queue)
  client.queues.named(queue_name(queue))
rescue ::AWS::SQS::Errors::NonExistentQueue
  false
end

.queue_name(queue) ⇒ Object



32
33
34
# File 'lib/alephant/harness/service/sqs.rb', line 32

def self.queue_name(queue)
  /(?<name>[^\/]+)$/.match(queue)[:name]
end