class Operationable::Runners::Serial

Public Class Methods

call(q_options:, props:) click to toggle source
# File lib/operationable/runners/serial.rb, line 17
def self.call(q_options:, props:)
  instance = q_options[:callback_class_name].constantize.new(props, q_options)
  q_options[:callback_names].each { |method_name| instance.method(method_name).call }
end

Public Instance Methods

callback_names() click to toggle source
# File lib/operationable/runners/serial.rb, line 29
def callback_names
  check_callbacks.map { |callback| callback[:callback_method_name] }
end
process() click to toggle source
# File lib/operationable/runners/serial.rb, line 10
def process
  (queue.blank? ? self.class : perform(job_class_name)).call(
    q_options: q_options,
    props: props
  )
end
q_options() click to toggle source
# File lib/operationable/runners/serial.rb, line 22
def q_options
  store_callback({ type: 'serial',
    callback_class_name: callback_class_name,
    callback_names: callback_names,
    queue: queue })
end
run() click to toggle source
# File lib/operationable/runners/serial.rb, line 6
def run
  process
end

Private Instance Methods

queue() click to toggle source
# File lib/operationable/runners/serial.rb, line 35
def queue
  check_callbacks.first[:queue]
end