class Smith::Messaging::Queue

Public Class Methods

channel() { |channel| ... } click to toggle source
# File lib/smith/messaging/queue.rb, line 43
def channel
  open_channel do |channel, ok|
    yield channel
  end
end
consumers?(queue_def) { |n > 0| ... } click to toggle source
# File lib/smith/messaging/queue.rb, line 14
def consumers?(queue_def)
  number_of_consumers(queue_def) do |n|
    yield n > 0
  end
end
messages?(queue_def) { |n > 0| ... } click to toggle source
# File lib/smith/messaging/queue.rb, line 8
def messages?(queue_def, &blk)
  number_of_messages(queue_def) do |n|
    yield n > 0
  end
end
number_of_consumers(queue_def) { |number_consumers| ... } click to toggle source
# File lib/smith/messaging/queue.rb, line 20
def number_of_consumers(queue_def)
  status(queue_def) do |_, number_consumers|
    yield number_consumers
  end
end
number_of_messages(queue_def) { |number_messages| ... } click to toggle source
# File lib/smith/messaging/queue.rb, line 26
def number_of_messages(queue_def)
  status(queue_def) do |number_messages, _|
    yield number_messages
  end
end
status(queue_def) { |number_messages, number_consumers| ... } click to toggle source
# File lib/smith/messaging/queue.rb, line 32
def status(queue_def)
  open_channel do |channel, ok|

    queue_def = queue_def.is_a?(QueueDefinition) ? queue_def : QueueDefinition.new(queue_def, :passive => true)
    channel.queue(*queue_def.to_a).status do |number_messages, number_consumers|
      yield number_messages, number_consumers
      channel.close
    end
  end
end