Class: Prefab::FeatureFlagClient
- Inherits:
-
Object
- Object
- Prefab::FeatureFlagClient
show all
- Includes:
- ConfigHelper
- Defined in:
- lib/prefab/feature_flag_client.rb
Constant Summary
collapse
- MAX_32_FLOAT =
4294967294.0
Instance Method Summary
collapse
#value_of, #value_of_variant
Constructor Details
Returns a new instance of FeatureFlagClient.
7
8
9
|
# File 'lib/prefab/feature_flag_client.rb', line 7
def initialize(base_client)
@base_client = base_client
end
|
Instance Method Details
#feature_is_on?(feature_name) ⇒ Boolean
15
16
17
|
# File 'lib/prefab/feature_flag_client.rb', line 15
def feature_is_on?(feature_name)
feature_is_on_for?(feature_name, nil)
end
|
#feature_is_on_for?(feature_name, lookup_key, attributes: {}) ⇒ Boolean
19
20
21
22
23
|
# File 'lib/prefab/feature_flag_client.rb', line 19
def feature_is_on_for?(feature_name, lookup_key, attributes: {})
@base_client.stats.increment("prefab.featureflag.on", tags: ["feature:#{feature_name}"])
return is_on?(_get(feature_name, lookup_key, attributes, default: false))
end
|
#get(feature_name, lookup_key = nil, attributes = {}, default: false) ⇒ Object
25
26
27
28
29
|
# File 'lib/prefab/feature_flag_client.rb', line 25
def get(feature_name, lookup_key=nil, attributes={}, default: false)
variant = _get(feature_name, lookup_key, attributes, default: default)
value_of_variant_or_nil(variant, default)
end
|
#upsert(feature_name, feature_obj) ⇒ Object
11
12
13
|
# File 'lib/prefab/feature_flag_client.rb', line 11
def upsert(feature_name, feature_obj)
@base_client.config_client.upsert(feature_name, Prefab::ConfigValue.new(feature_flag: feature_obj))
end
|