module Operationable::Runners::Wrappable

Public Instance Methods

add_part(modul, opts=nil) click to toggle source
# File lib/operationable/runners/base.rb, line 16
def add_part(modul, opts=nil)
  modul.execute(self, opts)
end
callbacks() click to toggle source
# File lib/operationable/runners/base.rb, line 20
def callbacks
  @callbacks ||= []
end
inherited_callbacks() click to toggle source
# File lib/operationable/runners/base.rb, line 24
def inherited_callbacks
  ancestors
    .grep(Wrappable)
    .reverse
    .flat_map(&:callbacks)
end
new(*arguments, &block) click to toggle source
# File lib/operationable/runners/base.rb, line 31
def new(*arguments, &block)
  instance = allocate
  instance.send(:initialize, *arguments, &block)
  instance_callbacks = instance.instance_variable_get(:@callbacks)
  instance.instance_variable_set(:@callbacks, instance_callbacks.concat(inherited_callbacks).uniq)
  instance
end
push_to_queue(*callback_method_names, job_class_name: nil, queue: nil, params: {}) click to toggle source
# File lib/operationable/runners/base.rb, line 5
def push_to_queue(*callback_method_names, job_class_name: nil, queue: nil, params: {})
  callback_method_names.each do |callback_method_name|
    callbacks << {
      callback_method_name: callback_method_name.to_s,
      job_class_name: job_class_name.nil? ? job_class.to_s : job_class_name.to_s,
      queue: (job_class_name && queue.blank?) ? job_class_name.to_s.constantize.queue_name : queue.to_s,
      params: params
    }
  end
end