module ActiveJob::Cancel::ClassMethods
Public Instance Methods
can_cancel?()
click to toggle source
# File lib/active_job/cancel.rb, line 38 def can_cancel? SUPPORTED_ADAPTERS.include?(adapter_name) end
cancel(job_id)
click to toggle source
# File lib/active_job/cancel.rb, line 22 def cancel(job_id) if can_cancel? cancel_adapter_class.new.cancel(job_id, self.new.queue_name) else raise NotImplementedError, 'This queueing backend does not support cancel.' end end
cancel_adapter_class()
click to toggle source
# File lib/active_job/cancel.rb, line 42 def cancel_adapter_class Object.const_get("ActiveJob::Cancel::QueueAdapters::#{adapter_name}Adapter") end
cancel_by(opts)
click to toggle source
# File lib/active_job/cancel.rb, line 30 def cancel_by(opts) if can_cancel? cancel_adapter_class.new.cancel_by(opts, self.new.queue_name) else raise NotImplementedError, 'This queueing backend does not support cancel_by.' end end
Private Instance Methods
adapter_name()
click to toggle source
# File lib/active_job/cancel.rb, line 47 def adapter_name if ActiveJob.version > Gem::Version.new('4.3') self.queue_adapter.class.name.demodulize.chomp('Adapter') else self.queue_adapter.name.demodulize.chomp('Adapter') end end