- # frozen_string_literal: true
-
- class DomainBlock < ApplicationRecord
- enum severity: [:silence, :suspend]
-
- attr_accessor :retroactive
-
- validates :domain, presence: true, uniqueness: true
-
- has_many :accounts, foreign_key: :domain, primary_key: :domain
- delegate :count, to: :accounts, prefix: true
-
- def self.blocked?(domain)
- where(domain: domain, severity: :suspend).exists?
- end
-
- before_validation :normalize_domain
-
- private
-
- def normalize_domain
- self.domain = TagManager.instance.normalize_domain(domain)
- end
- end
|