Class: Operationable::Runners::Separate
- Inherits:
-
Base
- Object
- Base
- Operationable::Runners::Separate
show all
- Defined in:
- lib/operationable/runners/separate.rb
Instance Attribute Summary
Attributes inherited from Base
#callbacks, #params, #record, #result, #user
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#initialize
Class Method Details
.call(options, props) ⇒ Object
21
22
23
|
# File 'lib/operationable/runners/separate.rb', line 21
def self.call(options, props)
options[:callback_class_name].constantize.new(props).method(options[: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 options(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(options(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
|