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