Class: Prefab::FeatureFlagClient

Inherits:
Object
  • Object
show all
Defined in:
lib/prefab/feature_flag_client.rb

Constant Summary collapse

LOG =
Prefab::InternalLogger.new(self)

Instance Method Summary collapse

Constructor Details

#initialize(base_client) ⇒ FeatureFlagClient

Returns a new instance of FeatureFlagClient.



6
7
8
# File 'lib/prefab/feature_flag_client.rb', line 6

def initialize(base_client)
  @base_client = base_client
end

Instance Method Details

#feature_is_on?(feature_name) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/prefab/feature_flag_client.rb', line 10

def feature_is_on?(feature_name)
  feature_is_on_for?(feature_name, {})
end

#feature_is_on_for?(feature_name, properties) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
# File 'lib/prefab/feature_flag_client.rb', line 14

def feature_is_on_for?(feature_name, properties)
  variant = @base_client.config_client.get(feature_name, false, properties)

  is_on?(variant)
end

#get(feature_name, properties, default: false) ⇒ Object



20
21
22
23
24
# File 'lib/prefab/feature_flag_client.rb', line 20

def get(feature_name, properties, default: false)
  value = _get(feature_name, properties)

  value.nil? ? default : value
end