123456789101112131415161718192021222324252627282930 |
- # frozen_string_literal: true
- # == Schema Information
- #
- # Table name: email_domain_blocks
- #
- # id :bigint(8) not null, primary key
- # domain :string default(""), not null
- # created_at :datetime not null
- # updated_at :datetime not null
- #
- class EmailDomainBlock < ApplicationRecord
- include DomainNormalizable
- validates :domain, presence: true, uniqueness: true, domain: true
- def self.block?(email)
- _, domain = email.split('@', 2)
- return true if domain.nil?
- begin
- domain = TagManager.instance.normalize_domain(domain)
- rescue Addressable::URI::InvalidURIError
- return true
- end
- where(domain: domain).exists?
- end
- end
|