Class: Que::ActiveRecord::Model

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/que/active_record/model.rb

Class Method Summary collapse

Class Method Details

.by_args(*args) ⇒ Object



42
43
44
# File 'lib/que/active_record/model.rb', line 42

def by_args(*args)
  where("que_jobs.args @> ?", JSON.dump(args))
end

.by_job_class(job_class) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/que/active_record/model.rb', line 26

def by_job_class(job_class)
  job_class = job_class.name if job_class.is_a?(Class)
  where(
    "que_jobs.job_class = ? OR (que_jobs.job_class = 'ActiveJob::QueueAdapters::QueAdapter::JobWrapper' AND que_jobs.args->0->>'job_class' = ?)",
    job_class, job_class,
  )
end

.by_queue(queue) ⇒ Object



34
35
36
# File 'lib/que/active_record/model.rb', line 34

def by_queue(queue)
  where(arel_table[:queue].eq(queue))
end

.by_tag(tag) ⇒ Object



38
39
40
# File 'lib/que/active_record/model.rb', line 38

def by_tag(tag)
  where("que_jobs.data @> ?", JSON.dump(tags: [tag]))
end