module Q::Methods::Base::ClassMethods
Public Instance Methods
queue(*args, &block)
click to toggle source
# File lib/q/methods/base.rb, line 32 def queue(*args, &block) queue = self.class_variable_get(:@@_q_queue) return queue unless block_given? queue_name = args.shift job = Q.proc_to_lambda(&block) raise "first argument #{queue_name.inspect} must be a symbol to define a queue" unless queue_name.is_a?(Symbol) options = { base: self, queue_name: queue_name, queue_klass_name: Q.camelize(queue_name) } queue_klass = self.class_variable_get(:@@_q_klass) queue_klass::QueueBuild.call(options, &job) queue_klass::QueueMethod.call(options) end