Class: WAZ::Queues::Queue
- Inherits:
-
Object
- Object
- WAZ::Queues::Queue
- Defined in:
- lib/waz/queues/queue.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
Returns the value of attribute name.
-
#url ⇒ Object
Returns the value of attribute url.
Class Method Summary collapse
Instance Method Summary collapse
- #clear ⇒ Object
- #destroy! ⇒ Object
- #enqueue!(message, ttl = 604800) ⇒ Object
-
#initialize(options = {}) ⇒ Queue
constructor
A new instance of Queue.
- #lock(num_of_messages = 1, visibility_timeout = nil) ⇒ Object
- #metadata ⇒ Object
- #peek(num_of_messages = 1) ⇒ Object
-
#put_properties!(new_metadata = {}, overwrite = false) ⇒ Object
when overwrite passed different than true it overrides the metadata for the queue.
- #size ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Queue
Returns a new instance of Queue.
34 35 36 37 38 39 |
# File 'lib/waz/queues/queue.rb', line 34 def initialize( = {}) raise WAZ::Queues::InvalidOption, :name unless .keys.include?(:name) raise WAZ::Queues::InvalidOption, :url unless .keys.include?(:url) self.name = [:name] self.url = [:url] end |
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
32 33 34 |
# File 'lib/waz/queues/queue.rb', line 32 def name @name end |
#url ⇒ Object
Returns the value of attribute url.
32 33 34 |
# File 'lib/waz/queues/queue.rb', line 32 def url @url end |
Class Method Details
.create(queue_name, metadata = {}) ⇒ Object
11 12 13 14 |
# File 'lib/waz/queues/queue.rb', line 11 def create(queue_name, = {}) service_instance.create_queue(queue_name, ) WAZ::Queues::Queue.new({:name => queue_name, :url => service_instance.generate_request_uri(nil, queue_name)}) end |
.find(queue_name) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/waz/queues/queue.rb', line 16 def find(queue_name) begin service_instance.(queue_name) WAZ::Queues::Queue.new({:name => queue_name, :url => service_instance.generate_request_uri(nil, queue_name)}) rescue RestClient::ResourceNotFound return nil end end |
.list ⇒ Object
5 6 7 8 9 |
# File 'lib/waz/queues/queue.rb', line 5 def list service_instance.list_queues.map do |queue| WAZ::Queues::Queue.new(queue) end end |
Instance Method Details
#clear ⇒ Object
85 86 87 |
# File 'lib/waz/queues/queue.rb', line 85 def clear service_instance.clear_queue(self.name) end |
#destroy! ⇒ Object
41 42 43 |
# File 'lib/waz/queues/queue.rb', line 41 def destroy! service_instance.delete_queue(self.name) end |
#enqueue!(message, ttl = 604800) ⇒ Object
56 57 58 |
# File 'lib/waz/queues/queue.rb', line 56 def enqueue!(, ttl = 604800) service_instance.enqueue(self.name, , ttl) end |
#lock(num_of_messages = 1, visibility_timeout = nil) ⇒ Object
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/waz/queues/queue.rb', line 64 def lock( = 1, visibility_timeout = nil) = {} [:num_of_messages] = [:visiblity_timeout] = visibility_timeout unless visibility_timeout.nil? = service_instance.(self.name, ).map do || WAZ::Queues::Message.new(.merge(:queue_name => self.name)) end return .first() if == 1 return end |
#metadata ⇒ Object
45 46 47 |
# File 'lib/waz/queues/queue.rb', line 45 def service_instance.(self.name) end |
#peek(num_of_messages = 1) ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'lib/waz/queues/queue.rb', line 75 def peek( = 1) = {} [:num_of_messages] = = service_instance.peek(self.name, ).map do || WAZ::Queues::Message.new(.merge(:queue_name => self.name)) end return .first() if == 1 return end |
#put_properties!(new_metadata = {}, overwrite = false) ⇒ Object
when overwrite passed different than true it overrides the metadata for the queue
51 52 53 54 |
# File 'lib/waz/queues/queue.rb', line 51 def put_properties!( = {}, overwrite = false) .merge!(.reject { |k, v| !k.to_s.start_with? "x_ms_meta"} ) unless overwrite service_instance.() end |
#size ⇒ Object
60 61 62 |
# File 'lib/waz/queues/queue.rb', line 60 def size [:x_ms_approximate_messages_count].to_i end |