Class: Operationable::Runners::Separate
- Defined in:
- lib/operationable/runners/separate.rb
Instance Attribute Summary
Attributes inherited from Base
#callbacks, #params, #record, #result, #user
Class Method Summary collapse
-
.call(options, props) ⇒ Object
def self.call(options, props) options.constantize.new(props).method(options).call end.
Instance Method Summary collapse
- #options(callback_method_name, queue) ⇒ Object
- #process(callback_method_name:, queue: nil) ⇒ Object
- #run ⇒ Object
Methods inherited from Base
Constructor Details
This class inherits a constructor from Operationable::Runners::Base
Class Method Details
.call(options, props) ⇒ Object
def self.call(options, props)
[:callback_class_name].constantize.new(props).method([:callback_method_name]).call
end
25 26 27 28 29 |
# File 'lib/operationable/runners/separate.rb', line 25 def self.call(, props) ::Operationable::Persister.around_call([:op_id], [:callback_method_name], -> { [:callback_class_name].constantize.new(props).method([:callback_method_name]).call }) end |
Instance Method Details
#options(callback_method_name, queue) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/operationable/runners/separate.rb', line 13 def (callback_method_name, queue) { type: 'separate', callback_class_name: callback_class_name, callback_method_name: callback_method_name, queue: queue, op_id: persist_operation.id } end |
#process(callback_method_name:, queue: nil) ⇒ Object
9 10 11 |
# File 'lib/operationable/runners/separate.rb', line 9 def process(callback_method_name:, queue: nil) (queue.blank? ? self.class : OperationJob.method(perform_method)).call((callback_method_name, queue), props) end |
#run ⇒ Object
5 6 7 |
# File 'lib/operationable/runners/separate.rb', line 5 def run check_callbacks.each { |callback| process(callback) } end |