49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/q/methods/threaded_in_memory_queue.rb', line 49
def self.call(options = {})
base = options[:base]
queue_name = options[:queue_name]
queue_klass_name = options[:queue_klass_name]
queue_klass = base.const_get(queue_klass_name)
raise Q::DuplicateQueueMethodError.new(base, queue_name) if base.queue.respond_to?(queue_name)
base.queue.define_singleton_method(queue_name) do |*args|
::ThreadedInMemoryQueue.start unless ::ThreadedInMemoryQueue.started?
::ThreadedInMemoryQueue.enqueue(queue_klass, *args)
end
end
|