Class: Brown::QueueFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/brown/queue_factory.rb

Instance Method Summary collapse

Constructor Details

#initializeQueueFactory

Returns a new instance of QueueFactory.



4
5
6
# File 'lib/brown/queue_factory.rb', line 4

def initialize
  @cache = {}
end

Instance Method Details

#each_queueObject

Passes each queue to the supplied block.



23
24
25
26
27
# File 'lib/brown/queue_factory.rb', line 23

def each_queue
  @cache.values.each do |queue|
    yield queue if block_given?
  end
end

#queuesObject

Returns all queues as a hash, with the queue name being the key.



30
31
32
# File 'lib/brown/queue_factory.rb', line 30

def queues
  @cache
end

#receiver(queue_name, opts = {}, &blk) ⇒ Object

Convenience method that returns a Receiver object.



16
17
18
19
20
# File 'lib/brown/queue_factory.rb', line 16

def receiver(queue_name, opts={}, &blk)
  k = "receiver:#{queue_name}"
  @cache[k] ||= Brown::Receiver.new(queue_name, opts)
  blk.call(@cache[k])
end

#sender(queue_name, opts = {}, &blk) ⇒ Object

Convenience method that returns a Sender object.



9
10
11
12
13
# File 'lib/brown/queue_factory.rb', line 9

def sender(queue_name, opts={}, &blk)
  k = "sender:#{queue_name}"
  @cache[k] ||= Brown::Sender.new(queue_name, opts)
  blk.call(@cache[k])
end