diff options
author | Gareth Rees <gareth@mysociety.org> | 2014-10-20 09:40:58 +0100 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2014-10-29 13:01:10 +0000 |
commit | 7a3b462f41321034cbdd2c83707f739a442e83c6 (patch) | |
tree | 30ccacd7bba238c69f7b6b38aa8004f09088e055 | |
parent | 7b73e272580e8fbb59611a8be5bf3c18dce9d528 (diff) |
Remove duplication in ChangeEmailValidator
-rw-r--r-- | app/models/change_email_validator.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/app/models/change_email_validator.rb b/app/models/change_email_validator.rb index 9ba66a602..b6708640f 100644 --- a/app/models/change_email_validator.rb +++ b/app/models/change_email_validator.rb @@ -38,9 +38,7 @@ class ChangeEmailValidator private def password_and_format_of_email - if !old_email.blank? && !MySociety::Validate.is_valid_email(old_email) - errors.add(:old_email, _("Old email doesn't look like a valid address")) - end + check_email_is_present_and_valid(:old_email) if errors[:old_email].blank? if old_email.downcase != logged_in_user.email.downcase @@ -52,8 +50,13 @@ class ChangeEmailValidator end end - if !new_email.blank? && !MySociety::Validate.is_valid_email(new_email) - errors.add(:new_email, _("New email doesn't look like a valid address")) + check_email_is_present_and_valid(:new_email) + end + + def check_email_is_present_and_valid(email) + if !send(email).blank? && !MySociety::Validate.is_valid_email(send(email)) + errors.add(email, _("#{ email.to_s.humanize } doesn't look like a valid address")) end end + end |