aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-10-20 09:40:58 +0100
committerGareth Rees <gareth@mysociety.org>2014-10-29 13:01:10 +0000
commit7a3b462f41321034cbdd2c83707f739a442e83c6 (patch)
tree30ccacd7bba238c69f7b6b38aa8004f09088e055
parent7b73e272580e8fbb59611a8be5bf3c18dce9d528 (diff)
Remove duplication in ChangeEmailValidator
-rw-r--r--app/models/change_email_validator.rb13
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