Class: AliMns::Message
- Inherits:
-
Object
- Object
- AliMns::Message
- Defined in:
- lib/ali_mns/message.rb
Instance Attribute Summary collapse
-
#body ⇒ Object
readonly
Returns the value of attribute body.
-
#body_md5 ⇒ Object
readonly
Returns the value of attribute body_md5.
-
#dequeue_count ⇒ Object
readonly
Returns the value of attribute dequeue_count.
-
#enqueue_at ⇒ Object
readonly
Returns the value of attribute enqueue_at.
-
#first_enqueue_at ⇒ Object
readonly
Returns the value of attribute first_enqueue_at.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#next_visible_at ⇒ Object
readonly
Returns the value of attribute next_visible_at.
-
#priority ⇒ Object
readonly
Returns the value of attribute priority.
-
#queue ⇒ Object
readonly
Returns the value of attribute queue.
-
#receipt_handle ⇒ Object
readonly
Returns the value of attribute receipt_handle.
Instance Method Summary collapse
- #change_visibility(seconds) ⇒ Object
- #delete ⇒ Object
-
#initialize(queue, content) ⇒ Message
constructor
A new instance of Message.
- #to_s ⇒ Object
Constructor Details
#initialize(queue, content) ⇒ Message
Returns a new instance of Message.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/ali_mns/message.rb', line 6 def initialize queue, content h = Hash.xml_object(content, "Message") @queue = queue @id = h["MessageId"] @body_md5 = h["MessageBodyMD5"] @body = h["MessageBody"] @enqueue_at = Time.at(h["EnqueueTime"].to_i/1000.0) @first_enqueue_at = Time.at(h["FirstDequeueTime"].to_i/1000.0) @next_visible_at = Time.at(h["NextVisibleTime"].to_i/1000.0) if h["NextVisibleTime"] @dequeue_count = h["DequeueCount"].to_i @priority = h["Priority"].to_i @receipt_handle = h["ReceiptHandle"] end |
Instance Attribute Details
#body ⇒ Object (readonly)
Returns the value of attribute body.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def body @body end |
#body_md5 ⇒ Object (readonly)
Returns the value of attribute body_md5.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def body_md5 @body_md5 end |
#dequeue_count ⇒ Object (readonly)
Returns the value of attribute dequeue_count.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def dequeue_count @dequeue_count end |
#enqueue_at ⇒ Object (readonly)
Returns the value of attribute enqueue_at.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def enqueue_at @enqueue_at end |
#first_enqueue_at ⇒ Object (readonly)
Returns the value of attribute first_enqueue_at.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def first_enqueue_at @first_enqueue_at end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def id @id end |
#next_visible_at ⇒ Object (readonly)
Returns the value of attribute next_visible_at.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def next_visible_at @next_visible_at end |
#priority ⇒ Object (readonly)
Returns the value of attribute priority.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def priority @priority end |
#queue ⇒ Object (readonly)
Returns the value of attribute queue.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def queue @queue end |
#receipt_handle ⇒ Object (readonly)
Returns the value of attribute receipt_handle.
4 5 6 |
# File 'lib/ali_mns/message.rb', line 4 def receipt_handle @receipt_handle end |
Instance Method Details
#change_visibility(seconds) ⇒ Object
25 26 27 28 |
# File 'lib/ali_mns/message.rb', line 25 def change_visibility seconds check_receipt_handle AliMns::Request.put(queue., params:{:ReceiptHandle => receipt_handle, :VisibilityTimeout=>seconds}) end |
#delete ⇒ Object
20 21 22 23 |
# File 'lib/ali_mns/message.rb', line 20 def delete check_receipt_handle AliMns::Request.delete(queue., params:{:ReceiptHandle => receipt_handle}) end |
#to_s ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/ali_mns/message.rb', line 30 def to_s s = { "队列"=> queue.name, "ID"=>id, "MD5"=>body_md5, "Receipt handle"=>receipt_handle, "Enqueue at"=>enqueue_at, "First enqueue at"=>first_enqueue_at, "Next visible at"=>next_visible_at, "Dequeue count" => dequeue_count, "Priority"=>priority }.collect{|k,v| "#{k}: #{v}"} sep = "=============================================" s.unshift sep s << sep s << body s.join("\n") end |