diff options
author | ysksn <bluewhale1982@gmail.com> | 2018-12-29 15:23:44 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2018-12-29 07:23:44 +0100 |
commit | 05edec69172f553397164b4e0a71c798124b8f19 (patch) | |
tree | c942ea82de45d3761530f1009e05d735fc1b412a /app | |
parent | 29484f655596158bbbb6fcd493b28d7f990116e8 (diff) |
Add specs for BlackListedEmailValidator (#9651)
* Add specs for BlackListedEmailValidator * Use instance variable
Diffstat (limited to 'app')
-rw-r--r-- | app/validators/blacklisted_email_validator.rb | 17 |
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 |