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
28
29
30
|
# File 'lib/operationable/runners/separate.rb', line 28
def self.call(q_options:, props:)
q_options[:callback_class_name].constantize.new(props, q_options).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
18
19
|
# File 'lib/operationable/runners/separate.rb', line 9
def process(callback_method_name:, job_class_name: nil, queue: nil, params:)
args = {
q_options: q_options(callback_method_name, queue),
props: props.merge(params)
}
queue.blank? ? self.class.call(args) : perform(job_class_name, args)
end
|
#q_options(callback_method_name, queue) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/operationable/runners/separate.rb', line 21
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
|