class Sidecloq::JobEnqueuer
Attributes
spec[R]
Public Class Methods
new(spec)
click to toggle source
# File lib/sidecloq/job_enqueuer.rb, line 5 def initialize(spec) # Dup to prevent JID reuse in subsequent enqueue's @spec = spec.dup @spec['class'] = Object.const_get(spec['class']) end
Public Instance Methods
enqueue()
click to toggle source
# File lib/sidecloq/job_enqueuer.rb, line 11 def enqueue if active_job_class? initialize_active_job_class.enqueue(queue: spec['queue']) else Sidekiq::Client.push(spec) end end
Private Instance Methods
active_job_class?()
click to toggle source
# File lib/sidecloq/job_enqueuer.rb, line 25 def active_job_class? defined?(ActiveJob::Base) && klass < ActiveJob::Base end
initialize_active_job_class()
click to toggle source
# File lib/sidecloq/job_enqueuer.rb, line 29 def initialize_active_job_class args = spec['args'] if args.is_a?(Array) klass.new(*args) else klass.new(args) end end
klass()
click to toggle source
# File lib/sidecloq/job_enqueuer.rb, line 21 def klass spec['class'] end