You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
398 B
18 lines
398 B
# frozen_string_literal: true |
|
|
|
module EmailHelper |
|
def self.included(base) |
|
base.extend(self) |
|
end |
|
|
|
def email_to_canonical_email(str) |
|
username, domain = str.downcase.split('@', 2) |
|
username, = username.gsub('.', '').split('+', 2) |
|
|
|
"#{username}@#{domain}" |
|
end |
|
|
|
def email_to_canonical_email_hash(str) |
|
Digest::SHA2.new(256).hexdigest(email_to_canonical_email(str)) |
|
end |
|
end
|
|
|