class ActiveJob::QueueAdapters::TestAdapter
Unfortunately we need to monkey patch the Rails TestAdapter
class, because it does not save the job id on the enqueued_jobs array. We rely on a persisted id to fulfill the canceling of any given job id.
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/active_job/cancel/queue_adapters/test_adapter.rb, line 9 def initialize if Gem::Requirement.new('>= 5.0').satisfied_by? ActiveJob.version require 'active_job/cancel/queue_adapters/test_adapter/rails' elsif Gem::Requirement.new('~> 4.2').satisfied_by? ActiveJob.version require 'active_job/cancel/queue_adapters/test_adapter/rails_4' end super end
Public Instance Methods
enqueue(job)
click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter/rails_4.rb, line 12 def enqueue(job) result = original_enqueue(job) fixup_last_job(job) result end
Also aliased as: original_enqueue
enqueue_at(job, timestamp)
click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter/rails_4.rb, line 18 def enqueue_at(job, timestamp) result = original_enqueue_at(job, timestamp) fixup_last_job(job) result end
Also aliased as: original_enqueue_at
fixup_last_job(job)
click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter/rails_4.rb, line 7 def fixup_last_job(job) list = perform_enqueued_jobs ? performed_jobs : enqueued_jobs list.last[:id] = job.job_id end
job_to_hash(job, extras = {})
click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter/rails.rb, line 6 def job_to_hash(job, extras = {}) original_job_to_hash(job, extras).merge!({ id: job.job_id, job: job.class, args: job.serialize.fetch('arguments'), queue: job.queue_name }) end
Also aliased as: original_job_to_hash