class Que::Scheduler::ToEnqueue
Public Class Methods
active_job_loaded?()
click to toggle source
# File lib/que/scheduler/to_enqueue.rb, line 25 def active_job_loaded? !!active_job_version end
active_job_version()
click to toggle source
# File lib/que/scheduler/to_enqueue.rb, line 29 def active_job_version Gem.loaded_specs["activejob"]&.version end
active_job_version_supports_queues?()
click to toggle source
# File lib/que/scheduler/to_enqueue.rb, line 33 def active_job_version_supports_queues? # Supporting queue name in ActiveJob was removed in Rails 4.2.3 # https://github.com/rails/rails/pull/19498 # and readded in Rails 6.0.3 # https://github.com/rails/rails/pull/38635 ToEnqueue.active_job_version && ToEnqueue.active_job_version >= Gem::Version.create("6.0.3") end
create(options)
click to toggle source
# File lib/que/scheduler/to_enqueue.rb, line 15 def create(options) type_from_job_class(options.fetch(:job_class)).new( options.merge(run_at: Que::Scheduler::Db.now) ) end
valid_job_class?(job_class)
click to toggle source
# File lib/que/scheduler/to_enqueue.rb, line 21 def valid_job_class?(job_class) type_from_job_class(job_class).present? end
Private Class Methods
type_from_job_class(job_class)
click to toggle source
# File lib/que/scheduler/to_enqueue.rb, line 44 def type_from_job_class(job_class) types.each do |type, implementation| return implementation if job_class < type end nil end
types()
click to toggle source
# File lib/que/scheduler/to_enqueue.rb, line 51 def types @types ||= begin hash = { ::Que::Job => QueJobType, } hash[::ActiveJob::Base] = ActiveJobType if ToEnqueue.active_job_loaded? hash end end