Class: Osbourne::Queue

Inherits:
Object
  • Object
show all
Includes:
Services::SQS
Defined in:
lib/osbourne/queue.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Services::SQS

#sqs, #sqs=

Constructor Details

#initialize(name) ⇒ Queue

Returns a new instance of Queue.



7
8
9
10
11
# File 'lib/osbourne/queue.rb', line 7

def initialize(name)
  @name = name
  @prefixed_name = Osbourne.prefixer(@name)
  arn
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/osbourne/queue.rb', line 6

def name
  @name
end

#prefixed_nameObject (readonly)

Returns the value of attribute prefixed_name.



6
7
8
# File 'lib/osbourne/queue.rb', line 6

def prefixed_name
  @prefixed_name
end

Instance Method Details

#arnObject



17
18
19
# File 'lib/osbourne/queue.rb', line 17

def arn
  @arn ||= get_attributes["QueueArn"]
end

#redrive(retries, dead_letter_arn) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/osbourne/queue.rb', line 21

def redrive(retries, dead_letter_arn)
  sqs.set_queue_attributes(queue_url:  url,
                           attributes: {
                             'RedrivePolicy': {
                               'deadLetterTargetArn': dead_letter_arn,
                               'maxReceiveCount':     retries
                             }.to_json
                           })
end

#urlObject



13
14
15
# File 'lib/osbourne/queue.rb', line 13

def url
  @url ||= ensure_queue
end