Module: Operationable::Runners::Wrappable
- Included in:
- Base
- Defined in:
- lib/operationable/runners/base.rb
Instance Method Summary collapse
- #add_part(modul, opts = nil) ⇒ Object
- #callbacks ⇒ Object
- #inherited_callbacks ⇒ Object
- #new(*arguments, &block) ⇒ Object
- #push_to_queue(*callback_method_names, job_class_name: nil, queue: nil, params: {}) ⇒ Object
Instance Method Details
#add_part(modul, opts = nil) ⇒ Object
16 17 18 |
# File 'lib/operationable/runners/base.rb', line 16 def add_part(modul, opts=nil) modul.execute(self, opts) end |
#callbacks ⇒ Object
20 21 22 |
# File 'lib/operationable/runners/base.rb', line 20 def callbacks @callbacks ||= [] end |
#inherited_callbacks ⇒ Object
24 25 26 27 28 29 |
# File 'lib/operationable/runners/base.rb', line 24 def inherited_callbacks ancestors .grep(Wrappable) .reverse .flat_map(&:callbacks) end |
#new(*arguments, &block) ⇒ Object
31 32 33 34 35 36 37 |
# 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: {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# 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 |