fix email typo

pull/440/head
Pete Matsyburka 9 months ago
parent 4dc325a6bb
commit ec8e35ed7a

@ -107,20 +107,24 @@ module Submissions
def normalize_email(email)
return if email.blank?
return email.downcase if email.to_s.include?(',')
return email.downcase if email.to_s.include?('.gob')
return email.downcase if email.to_s.include?('.om')
return email.downcase if email.to_s.include?('.mm')
return email.downcase if email.to_s.include?('.cm')
return email.downcase if email.to_s.include?('.et')
return email.downcase if email.to_s.include?('.mo')
return email.downcase if email.to_s.include?('.nz')
return email.downcase if email.to_s.include?('.za')
return email.downcase unless email.to_s.include?('.')
return email.downcase if email.to_s.include?(',') ||
email.to_s.match?(/\.(?:gob|om|mm|cm|et|mo|nz|za|ie)\z/) ||
email.to_s.exclude?('.')
fixed_email = EmailTypo.call(email.delete_prefix('<'))
Rails.logger.info("Fixed email #{email.split('@').last}") if fixed_email != email.downcase.delete_prefix('<').strip
return fixed_email if fixed_email == email
domain = email.to_s.split('@').last.to_s.downcase
if DidYouMean::Levenshtein.distance(domain, fixed_email.to_s.split('@').last) > 3
Rails.logger.info("Skipped email fix #{domain}")
return email.downcase
end
Rails.logger.info("Fixed email #{domain}") if fixed_email != email.downcase.delete_prefix('<').strip
fixed_email
end

Loading…
Cancel
Save