2
0

Replace EmailHelper module with normalizes via model concern (#35702)

This commit is contained in:
Matt Jankowski
2025-08-07 09:47:47 -04:00
committed by GitHub
parent 496a5f423e
commit a485f97d21
4 changed files with 47 additions and 25 deletions

View File

@@ -12,24 +12,29 @@
#
class CanonicalEmailBlock < ApplicationRecord
include EmailHelper
include CanonicalEmail
include Paginable
belongs_to :reference_account, class_name: 'Account', optional: true
validates :canonical_email_hash, presence: true, uniqueness: true
scope :matching_email, ->(email) { where(canonical_email_hash: email_to_canonical_email_hash(email)) }
scope :matching_email, ->(email) { where(canonical_email_hash: digest(normalize_value_for(:email, email))) }
def self.block?(email)
matching_email(email).exists?
end
def self.digest(value)
Digest::SHA256.hexdigest(value)
end
def to_log_human_identifier
canonical_email_hash
end
def email=(email)
self.canonical_email_hash = email_to_canonical_email_hash(email)
end
def self.block?(email)
matching_email(email).exists?
super
self.canonical_email_hash = self.class.digest(self.email)
end
end