Class: Unleash::Strategy::EmailDomain

Inherits:
Base
  • Object
show all
Defined in:
lib/unleash/strategy/email_domain.rb

Constant Summary collapse

PARAM =
'emailDomains'.freeze

Instance Method Summary collapse

Instance Method Details

#is_enabled?(params = {}, context = nil) ⇒ Boolean

requires: params, context.properties.user_email,

Returns:

  • (Boolean)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/unleash/strategy/email_domain.rb', line 11

def is_enabled?(params = {}, context = nil)
  return false unless params.is_a?(Hash) && params.key?(PARAM)
  return false unless params.fetch(PARAM, nil).is_a? String
  return false unless context.class.name == 'Unleash::Context'
  return false unless context.properties.fetch(:user_email, nil)

  user_email = context.properties.fetch(:user_email)
  user_email_domain = user_email.split('@').last

  params[PARAM]
    .split(',')
    .map(&:strip)
    .include?(user_email_domain)
end

#nameObject



6
7
8
# File 'lib/unleash/strategy/email_domain.rb', line 6

def name
  'EmailDomain'
end