Class: AWS::SQS::Queue
- Inherits:
-
Object
- Object
- AWS::SQS::Queue
- Defined in:
- lib/aws/sqs/queue.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#delete_message(receipt_handle) ⇒ Object
Delete a message.
-
#get_queue_attributes(attribute) ⇒ Object
Get a queue attribute.
-
#initialize(name, sqs_client) ⇒ Queue
constructor
A new instance of Queue.
-
#receive_messages(max_number_of_messages = -1,, visibility_timeout = -1)) ⇒ Object
Get a message(s) from your queue.
-
#send_message(body) ⇒ Object
Send a message to your queue.
Constructor Details
#initialize(name, sqs_client) ⇒ Queue
Returns a new instance of Queue.
14 15 16 |
# File 'lib/aws/sqs/queue.rb', line 14 def initialize(name, sqs_client) @name, @sqs_client = name, sqs_client end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
12 13 14 |
# File 'lib/aws/sqs/queue.rb', line 12 def name @name end |
Instance Method Details
#delete_message(receipt_handle) ⇒ Object
Delete a message
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/aws/sqs/queue.rb', line 52 def (receipt_handle) params = {} params['ReceiptHandle'] = receipt_handle result = @sqs_client.make_request('DeleteMessage', self.name, params) unless result.include?('Error') return true else raise Exception, "Amazon SQS Error Code :" + result['Error'][0]['Code'][0] + "\n" + result['Error'][0]['Message'][0] end end |
#get_queue_attributes(attribute) ⇒ Object
Get a queue attribute
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/aws/sqs/queue.rb', line 67 def get_queue_attributes(attribute) params = {} params['AttributeName'] = attribute result = @sqs_client.make_request('GetQueueAttributes', self.name, params) unless result.include?('Error') return result['GetQueueAttributesResult'][0]['Attribute'][0]["Value"][0] else raise Exception, "Amazon SQS Error Code :" + result['Error'][0]['Code'][0] + "\n" + result['Error'][0]['Message'][0] end end |
#receive_messages(max_number_of_messages = -1,, visibility_timeout = -1)) ⇒ Object
Get a message(s) from your queue
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/aws/sqs/queue.rb', line 36 def ( = -1, visibility_timeout = -1) params = {} params['MaxNumberOfMessages'] = if > -1 params['VisibilityTimeout'] = visibility_timeout if visibility_timeout > -1 result = @sqs_client.make_request('ReceiveMessage', self.name, params) unless result.include?('Error') return result['ReceiveMessageResult'] else raise Exception, "Amazon SQS Error Code :" + result['Error'][0]['Code'][0] + "\n" + result['Error'][0]['Message'][0] end end |
#send_message(body) ⇒ Object
Send a message to your queue
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/aws/sqs/queue.rb', line 21 def (body) params = {} params['MessageBody'] = body result = @sqs_client.make_request('SendMessage', self.name, params) unless result.include?('Error') return result['SendMessageResult'][0]['MessageId'][0].to_s else raise Exception, "Amazon SQS Error Code :" + result['Error'][0]['Code'][0] + "\n" + result['Error'][0]['Message'][0] end end |