Module: QueueClassicAdmin::JobCommon::ClassMethods

Defined in:
app/models/queue_classic_admin/job_common.rb

Constant Summary collapse

KNOWN_COLUMN =
["id", "q_name", "method", "args", "locked_at", "created_at", "not_before"].freeze
SEARCHABLE_COLUMNS =
[ :method, :args ].freeze

Instance Method Summary collapse

Instance Method Details

#extra_columnsObject



13
14
15
# File 'app/models/queue_classic_admin/job_common.rb', line 13

def extra_columns
  columns.map(&:name) - KNOWN_COLUMN
end

#queue_countsObject



9
10
11
# File 'app/models/queue_classic_admin/job_common.rb', line 9

def queue_counts
  group(:q_name).count
end

#search(query) ⇒ Object



21
22
23
24
25
26
27
28
# File 'app/models/queue_classic_admin/job_common.rb', line 21

def search(query)
  sql = searchable_columns.inject([]) do |sql, field|
    sql << "#{field} LIKE :query"
  end.join(" OR ")

  wildcard_query = ["%", query, "%"].join
  relation.where(sql, query: wildcard_query)
end

#searchable_columnsObject



17
18
19
# File 'app/models/queue_classic_admin/job_common.rb', line 17

def searchable_columns
  @searchable_columns ||= SEARCHABLE_COLUMNS.dup
end