class Queight::Queue
Attributes
name[R]
routing_patterns[R]
Public Class Methods
new(name, options = {})
click to toggle source
# File lib/queight/queue.rb, line 3 def initialize(name, options = {}) @name = name @routing_patterns = Array(options.delete(:routing)) @queue_options = options end
Public Instance Methods
declare(channel)
click to toggle source
# File lib/queight/queue.rb, line 11 def declare(channel) queue(channel) end
delete(channel)
click to toggle source
# File lib/queight/queue.rb, line 22 def delete(channel) channel.queue(@name).delete end
message_count(channel)
click to toggle source
# File lib/queight/queue.rb, line 30 def message_count(channel) queue(channel).message_count end
purge(channel)
click to toggle source
# File lib/queight/queue.rb, line 34 def purge(channel) queue(channel).purge end
queue(channel)
click to toggle source
# File lib/queight/queue.rb, line 26 def queue(channel) channel.queue(@name, queue_options) end
subscribe(channel, options = {}) { |channel, *args| ... }
click to toggle source
# File lib/queight/queue.rb, line 15 def subscribe(channel, options = {}) queue = queue(channel) queue.subscribe(subscribe_options(options)) do |*args| yield(channel, *args) end end
Private Instance Methods
queue_options()
click to toggle source
# File lib/queight/queue.rb, line 47 def queue_options { :auto_delete => false, :durable => true, :exclusive => false, }.merge(@queue_options) end
subscribe_options(options)
click to toggle source
# File lib/queight/queue.rb, line 40 def subscribe_options(options) { :block => true, :manual_ack => true, }.merge(options) end