class ActiveJob::Cancel::QueueAdapters::TestAdapter

Public Instance Methods

cancel(job_id, queue_name) click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter.rb, line 24
def cancel(job_id, queue_name)
  original_count = adapter.enqueued_jobs.count
  adapter.enqueued_jobs = reject_job_from_enqueued_jobs(job_id)
  (original_count == adapter.enqueued_jobs.count) ? false : true
end
cancel_by(opts, queue_name) click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter.rb, line 30
def cancel_by(opts, queue_name)
  unless opts[:provider_job_id]
    raise ArgumentError, 'Please specify ":provider_job_id"'
  end
  self.cancel(opts[:provider_job_id], queue_name)
end

Private Instance Methods

adapter() click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter.rb, line 38
def adapter
  ActiveJob::Base.queue_adapter
end
reject_job_from_enqueued_jobs(job_id) click to toggle source
# File lib/active_job/cancel/queue_adapters/test_adapter.rb, line 42
def reject_job_from_enqueued_jobs(job_id)
  adapter.enqueued_jobs.reject { |job| job[:id] == job_id }
end