about summary refs log tree commit diff
path: root/app/validators
diff options
context:
space:
mode:
Diffstat (limited to 'app/validators')
-rw-r--r--app/validators/blacklisted_email_validator.rb17
1 files changed, 9 insertions, 8 deletions
diff --git a/app/validators/blacklisted_email_validator.rb b/app/validators/blacklisted_email_validator.rb
index 3f203f49a..a2061fdd3 100644
--- a/app/validators/blacklisted_email_validator.rb
+++ b/app/validators/blacklisted_email_validator.rb
@@ -2,31 +2,32 @@
 
 class BlacklistedEmailValidator < ActiveModel::Validator
   def validate(user)
-    user.errors.add(:email, I18n.t('users.invalid_email')) if blocked_email?(user.email)
+    @email = user.email
+    user.errors.add(:email, I18n.t('users.invalid_email')) if blocked_email?
   end
 
   private
 
-  def blocked_email?(value)
-    on_blacklist?(value) || not_on_whitelist?(value)
+  def blocked_email?
+    on_blacklist? || not_on_whitelist?
   end
 
-  def on_blacklist?(value)
-    return true if EmailDomainBlock.block?(value)
+  def on_blacklist?
+    return true if EmailDomainBlock.block?(@email)
     return false if Rails.configuration.x.email_domains_blacklist.blank?
 
     domains = Rails.configuration.x.email_domains_blacklist.gsub('.', '\.')
     regexp  = Regexp.new("@(.+\\.)?(#{domains})", true)
 
-    value =~ regexp
+    @email =~ regexp
   end
 
-  def not_on_whitelist?(value)
+  def not_on_whitelist?
     return false if Rails.configuration.x.email_domains_whitelist.blank?
 
     domains = Rails.configuration.x.email_domains_whitelist.gsub('.', '\.')
     regexp  = Regexp.new("@(.+\\.)?(#{domains})$", true)
 
-    value !~ regexp
+    @email !~ regexp
   end
 end