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"]
SEARCHABLE_COLUMNS =
[ :method, :args ]

Instance Method Summary collapse

Instance Method Details

#extra_columnsObject



11
12
13
# File 'app/models/queue_classic_admin/job_common.rb', line 11

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

#queue_countsObject



7
8
9
# File 'app/models/queue_classic_admin/job_common.rb', line 7

def queue_counts
  group(:q_name).count
end

#search(query) ⇒ Object



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

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

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

#searchable_columnsObject



15
16
17
# File 'app/models/queue_classic_admin/job_common.rb', line 15

def searchable_columns
  @searchable_columns ||= SEARCHABLE_COLUMNS.dup
end