1
0
Fork 0
mirror of https://github.com/mastodon/mastodon.git synced 2024-08-20 21:08:15 -07:00

Compare commits

...

4 commits

Author SHA1 Message Date
Matt Jankowski
e64777413e
Merge ef87fb8a5d into 549ab089ee 2024-07-31 11:08:53 +00:00
Matt Jankowski
ef87fb8a5d Improve var names 2024-07-29 16:59:17 -04:00
Matt Jankowski
2ac99032eb Add private method declaration 2024-07-29 16:44:20 -04:00
Matt Jankowski
fa07a97815 Convert EmailHelper to CanonicalEmail model concern 2024-07-29 15:40:20 -04:00
3 changed files with 26 additions and 20 deletions

View file

@ -1,18 +0,0 @@
# 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.delete('.').split('+', 2)
"#{username}@#{domain}"
end
def email_to_canonical_email_hash(str)
Digest::SHA2.new(256).hexdigest(email_to_canonical_email(str))
end
end

View file

@ -12,7 +12,7 @@
#
class CanonicalEmailBlock < ApplicationRecord
include EmailHelper
include CanonicalEmail
include Paginable
belongs_to :reference_account, class_name: 'Account', optional: true
@ -26,7 +26,7 @@ class CanonicalEmailBlock < ApplicationRecord
end
def email=(email)
self.canonical_email_hash = email_to_canonical_email_hash(email)
self.canonical_email_hash = self.class.email_to_canonical_email_hash(email)
end
def self.block?(email)

View file

@ -0,0 +1,24 @@
# frozen_string_literal: true
module CanonicalEmail
extend ActiveSupport::Concern
class_methods do
def email_to_canonical_email_hash(value)
Digest::SHA2
.new(256)
.hexdigest(
email_to_canonical_email(value)
)
end
private
def email_to_canonical_email(value)
username, domain = value.downcase.split('@', 2)
username, = username.delete('.').split('+', 2)
"#{username}@#{domain}"
end
end
end