class Q::Methods::ThreadedInMemoryQueue::QueueMethod
Public Class Methods
call(options = {})
click to toggle source
# 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