Module: Central::Support::TeamConcern::DomainValidator

Defined in:
lib/central/support/concerns/team_concern/domain_validator.rb

Constant Summary collapse

DOMAIN_SEPARATORS_REGEX =
/[,;\|\n]/

Instance Method Summary collapse

Instance Method Details

#allowed_domain?(email) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
13
14
15
# File 'lib/central/support/concerns/team_concern/domain_validator.rb', line 7

def allowed_domain?(email)
  whitelist = ( registration_domain_whitelist || "" ).split(DOMAIN_SEPARATORS_REGEX).map(&:strip)
  blacklist = ( registration_domain_blacklist || "" ).split(DOMAIN_SEPARATORS_REGEX).map(&:strip)
  has_whitelist = true
  has_whitelist = whitelist.any? { |domain| email.include?(domain) } unless whitelist.empty?
  has_blacklist = false
  has_blacklist = blacklist.any? { |domain| email.include?(domain) } unless blacklist.empty?
  has_whitelist && !has_blacklist
end