27 lines
596 B
Ruby
27 lines
596 B
Ruby
class Download < ApplicationRecord
|
|
include PgSearch
|
|
|
|
belongs_to :project
|
|
|
|
has_one_attached :file
|
|
|
|
enum status: { not_started: 0, pending: 1, success: 2, failure: 3 }
|
|
|
|
scope :unfinished_desc_order, -> { where(status: [:not_started, :pending]).order("created_at DESC") }
|
|
|
|
def self.searchable_on(fields)
|
|
search_opts = {
|
|
against: fields,
|
|
using: {
|
|
tsearch: { any_word: true, prefix: true },
|
|
trigram: {},
|
|
dmetaphone: { any_word: true },
|
|
}
|
|
}
|
|
|
|
send(:pg_search_scope, :search, search_opts)
|
|
end
|
|
|
|
searchable_on %i[name release_type]
|
|
end
|