emails: move EmailValidator into Danbooru::EmailAddress.
This commit is contained in:
@@ -77,7 +77,7 @@ with_confirmation do
|
||||
address = address.downcase.gsub(/^(.*)\1$/i, '\1') if address.downcase.match?(/^(.*)\1$/i) # Foo@gmail.comfoo@gmail.com -> foo@gmail.com
|
||||
address = address.downcase.gsub(/^(.*)@\1@[a-zA-Z]+\.com$/i, '\1') if address.downcase.match?(/^(.*)@\1@[a-zA-Z]+\.com$/i) # foo@foo@gmail.com -> foo@gmail.com
|
||||
|
||||
normalized_address = EmailValidator.normalize(address)
|
||||
normalized_address = Danbooru::EmailAddress.parse(address)&.canonicalized_address&.to_s
|
||||
dupe_emails = EmailAddress.where(normalized_address: normalized_address).excluding(email)
|
||||
if dupe_emails.present?
|
||||
puts "#{old_address.ljust(40, " ")} DELETE (#{dupe_emails.map { "#{_1.user.name}##{_1.user.id}" }.join(", ")}, #{email.user.name}##{email.user.id})"
|
||||
|
||||
@@ -4,7 +4,7 @@ require_relative "base"
|
||||
|
||||
with_confirmation do
|
||||
emails = EmailAddress.find_each do |email|
|
||||
normalized_address = EmailValidator.normalize(email.address)
|
||||
normalized_address = Danbooru::EmailAddress.new(email.address).canonicalized_address.to_s
|
||||
|
||||
if email.normalized_address != normalized_address
|
||||
dupe_emails = EmailAddress.where(normalized_address: normalized_address).joins(:user).to_a
|
||||
|
||||
@@ -5,8 +5,8 @@ require_relative "base"
|
||||
with_confirmation do
|
||||
EmailAddress.find_each do |email|
|
||||
old_address = email.address.to_s
|
||||
fixed_address = Danbooru::EmailAddress.normalize(old_address).to_s
|
||||
normalized_address = EmailValidator.normalize(fixed_address)
|
||||
fixed_address = Danbooru::EmailAddress.correct(old_address).to_s
|
||||
normalized_address = Danbooru::EmailAddress.new(fixed_address).canonicalized_address.to_s
|
||||
|
||||
next if old_address == fixed_address
|
||||
|
||||
|
||||
Reference in New Issue
Block a user