Class: MQueue::Protocols::SQS

Inherits:
Object
  • Object
show all
Defined in:
lib/m_queue/protocols/sqs.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ SQS

Returns a new instance of SQS.



8
9
10
# File 'lib/m_queue/protocols/sqs.rb', line 8

def initialize(opts = {})
  self.options = opts
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



6
7
8
# File 'lib/m_queue/protocols/sqs.rb', line 6

def options
  @options
end

Instance Method Details

#[](queue_name) ⇒ Object



19
20
21
22
# File 'lib/m_queue/protocols/sqs.rb', line 19

def [](queue_name)
  msg = queue(queue_name).receive_message
  msg.body if msg
end

#[]=(queue_name, msg) ⇒ Object



12
13
14
15
16
17
# File 'lib/m_queue/protocols/sqs.rb', line 12

def []=(queue_name, msg)
  queue(queue_name).send_message(msg)
  msg
rescue => e
  raise ConnectionError
end

#alive?Boolean

MQueue Protocol API

Returns:

  • (Boolean)


36
37
38
# File 'lib/m_queue/protocols/sqs.rb', line 36

def alive?
  true
end

#delete(queue_name) ⇒ Object



24
25
26
# File 'lib/m_queue/protocols/sqs.rb', line 24

def delete(queue_name)
  queue(queue_name).delete!
end

#delete!Object



28
29
30
31
32
# File 'lib/m_queue/protocols/sqs.rb', line 28

def delete!
  ::SQS.each_queue do |q|
    q.delete!
  end
end

#weightObject



40
41
42
# File 'lib/m_queue/protocols/sqs.rb', line 40

def weight
options[:weight] || 0  
end