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
#check_status?, #ensure_enqueue, #initialize, #job_async_execute_method, #job_class, #job_sync_execute_method, #persist?, #store_callback
Class Method Details
.call(q_options:, props:) ⇒ Object
26
27
28
|
# File 'lib/operationable/runners/separate.rb', line 26
def self.call(q_options:, props:)
q_options[:callback_class_name].constantize.new(props).method(q_options[:callback_method_name]).call
end
|
Instance Method Details
#process(callback_method_name:, job_class_name: nil, queue: nil, params:) ⇒ Object
9
10
11
12
13
14
15
16
17
|
# File 'lib/operationable/runners/separate.rb', line 9
def process(callback_method_name:, job_class_name: nil, queue: nil, params:)
(queue.blank? ? self.class : job_class_name.constantize.method(perform_method)).call(
q_options: q_options(callback_method_name, queue),
props: props
)
end
|
#q_options(callback_method_name, queue) ⇒ Object
19
20
21
22
23
24
|
# File 'lib/operationable/runners/separate.rb', line 19
def q_options(callback_method_name, queue)
store_callback({ type: 'separate',
callback_class_name: callback_class_name,
callback_method_name: callback_method_name,
queue: queue })
end
|
#run ⇒ Object
5
6
7
|
# File 'lib/operationable/runners/separate.rb', line 5
def run
check_callbacks.each { |callback| process(callback) }
end
|