2019-08-30 08:02:41 +00:00
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: domain_subscribes
|
|
|
|
#
|
|
|
|
# id :bigint(8) not null, primary key
|
|
|
|
# account_id :bigint(8)
|
|
|
|
# list_id :bigint(8)
|
|
|
|
# domain :string default(""), not null
|
|
|
|
# created_at :datetime not null
|
|
|
|
# updated_at :datetime not null
|
|
|
|
# exclude_reblog :boolean default(TRUE)
|
2020-11-15 06:57:58 +00:00
|
|
|
# media_only :boolean default(FALSE), not null
|
2019-08-30 08:02:41 +00:00
|
|
|
#
|
|
|
|
|
|
|
|
class DomainSubscribe < ApplicationRecord
|
|
|
|
belongs_to :account
|
|
|
|
belongs_to :list, optional: true
|
|
|
|
|
|
|
|
validates :domain, presence: true
|
|
|
|
validates :account_id, uniqueness: { scope: [:domain, :list_id] }
|
|
|
|
|
|
|
|
scope :domain_to_home, ->(domain) { where(domain: domain).where(list_id: nil) }
|
|
|
|
scope :domain_to_list, ->(domain) { where(domain: domain).where.not(list_id: nil) }
|
|
|
|
scope :with_reblog, ->(reblog) { where(exclude_reblog: false) if reblog }
|
2020-11-15 06:57:58 +00:00
|
|
|
scope :with_media, ->(status) { where(media_only: false) unless status.with_media? }
|
2019-08-30 08:02:41 +00:00
|
|
|
end
|