Class: Prefab::FeatureFlagClient
- Inherits:
-
Object
- Object
- Prefab::FeatureFlagClient
- Defined in:
- lib/prefab/feature_flag_client.rb
Instance Method Summary collapse
- #feature_is_on?(feature_name) ⇒ Boolean
- #feature_is_on_for?(feature_name, lookup_key, attributes: {}) ⇒ Boolean
- #get(feature_name, lookup_key = nil, attributes = {}, default: false) ⇒ Object
-
#initialize(base_client) ⇒ FeatureFlagClient
constructor
A new instance of FeatureFlagClient.
Constructor Details
#initialize(base_client) ⇒ FeatureFlagClient
Returns a new instance of FeatureFlagClient.
5 6 7 |
# File 'lib/prefab/feature_flag_client.rb', line 5 def initialize(base_client) @base_client = base_client end |
Instance Method Details
#feature_is_on?(feature_name) ⇒ Boolean
9 10 11 |
# File 'lib/prefab/feature_flag_client.rb', line 9 def feature_is_on?(feature_name) feature_is_on_for?(feature_name, nil) end |
#feature_is_on_for?(feature_name, lookup_key, attributes: {}) ⇒ Boolean
13 14 15 16 17 18 19 |
# File 'lib/prefab/feature_flag_client.rb', line 13 def feature_is_on_for?(feature_name, lookup_key, attributes: {}) @base_client.stats.increment('prefab.featureflag.on', tags: ["feature:#{feature_name}"]) variant = @base_client.config_client.get(feature_name, false, attributes, lookup_key) is_on?(variant) end |
#get(feature_name, lookup_key = nil, attributes = {}, default: false) ⇒ Object
21 22 23 24 25 |
# File 'lib/prefab/feature_flag_client.rb', line 21 def get(feature_name, lookup_key = nil, attributes = {}, default: false) value = _get(feature_name, lookup_key, attributes) value.nil? ? default : value end |