Class: FeatureFlagger::Control
- Inherits:
-
Object
- Object
- FeatureFlagger::Control
- Defined in:
- lib/feature_flagger/control.rb
Constant Summary collapse
- RELEASED_FEATURES =
'released_features'
Instance Attribute Summary collapse
-
#storage ⇒ Object
readonly
Returns the value of attribute storage.
Instance Method Summary collapse
- #all_feature_keys(resource_name, resource_id) ⇒ Object
-
#initialize(storage) ⇒ Control
constructor
A new instance of Control.
- #release(feature_key, resource_name, resource_id) ⇒ Object
- #release_to_all(feature_key, resource_name) ⇒ Object
- #released?(feature_key, resource_name, resource_id) ⇒ Boolean
- #released_features_to_all(resource_name) ⇒ Object
- #released_to_all?(feature_key, resource_name) ⇒ Boolean
- #resource_ids(feature_key, resource_name) ⇒ Object
- #search_keys(query) ⇒ Object
- #unrelease(feature_key, resource_name, resource_id) ⇒ Object
- #unrelease_to_all(feature_key, resource_name) ⇒ Object
Constructor Details
#initialize(storage) ⇒ Control
Returns a new instance of Control.
9 10 11 |
# File 'lib/feature_flagger/control.rb', line 9 def initialize(storage) @storage = storage end |
Instance Attribute Details
#storage ⇒ Object (readonly)
Returns the value of attribute storage.
5 6 7 |
# File 'lib/feature_flagger/control.rb', line 5 def storage @storage end |
Instance Method Details
#all_feature_keys(resource_name, resource_id) ⇒ Object
26 27 28 |
# File 'lib/feature_flagger/control.rb', line 26 def all_feature_keys(resource_name, resource_id) @storage.all_feature_keys(RELEASED_FEATURES, resource_name, resource_id) end |
#release(feature_key, resource_name, resource_id) ⇒ Object
18 19 20 |
# File 'lib/feature_flagger/control.rb', line 18 def release(feature_key, resource_name, resource_id) @storage.add(feature_key, resource_name, resource_id) end |
#release_to_all(feature_key, resource_name) ⇒ Object
22 23 24 |
# File 'lib/feature_flagger/control.rb', line 22 def release_to_all(feature_key, resource_name) @storage.add_all(RELEASED_FEATURES, feature_key, resource_name) end |
#released?(feature_key, resource_name, resource_id) ⇒ Boolean
13 14 15 16 |
# File 'lib/feature_flagger/control.rb', line 13 def released?(feature_key, resource_name, resource_id) @storage.has_value?(feature_key, resource_name, RELEASED_FEATURES) || @storage.has_value?(feature_key, resource_name, resource_id) end |
#released_features_to_all(resource_name) ⇒ Object
42 43 44 |
# File 'lib/feature_flagger/control.rb', line 42 def released_features_to_all(resource_name) @storage.all_feature_keys(RELEASED_FEATURES, resource_name) end |
#released_to_all?(feature_key, resource_name) ⇒ Boolean
46 47 48 |
# File 'lib/feature_flagger/control.rb', line 46 def released_to_all?(feature_key, resource_name) @storage.has_value?(feature_key, resource_name, RELEASED_FEATURES) end |
#resource_ids(feature_key, resource_name) ⇒ Object
38 39 40 |
# File 'lib/feature_flagger/control.rb', line 38 def resource_ids(feature_key, resource_name) @storage.all_values(feature_key, resource_name) end |
#search_keys(query) ⇒ Object
50 51 52 |
# File 'lib/feature_flagger/control.rb', line 50 def search_keys(query) @storage.search_keys(query) end |
#unrelease(feature_key, resource_name, resource_id) ⇒ Object
30 31 32 |
# File 'lib/feature_flagger/control.rb', line 30 def unrelease(feature_key, resource_name, resource_id) @storage.remove(feature_key, resource_name, resource_id) end |
#unrelease_to_all(feature_key, resource_name) ⇒ Object
34 35 36 |
# File 'lib/feature_flagger/control.rb', line 34 def unrelease_to_all(feature_key, resource_name) @storage.remove_all(feature_key, resource_name) end |