Class: FeatureToggleService::Repository
- Inherits:
-
Object
- Object
- FeatureToggleService::Repository
- Defined in:
- lib/feature_toggle_service/repository.rb
Constant Summary collapse
- DEFAULT_VALUE =
nil
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
- #clear_defaults ⇒ Object
- #clear_overrides ⇒ Object
- #default_value_for(key) ⇒ Object
- #get(key) ⇒ Object
-
#initialize(config) ⇒ Repository
constructor
A new instance of Repository.
- #set_default(key, value) ⇒ Object
- #set_override(key, value) ⇒ Object
- #unset_default(key) ⇒ Object
- #unset_override(key) ⇒ Object
Constructor Details
#initialize(config) ⇒ Repository
Returns a new instance of Repository.
7 8 9 10 11 12 |
# File 'lib/feature_toggle_service/repository.rb', line 7 def initialize(config) @config = config @overrides = {} @cached = {} @defaults = {} end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
5 6 7 |
# File 'lib/feature_toggle_service/repository.rb', line 5 def config @config end |
Instance Method Details
#clear_defaults ⇒ Object
42 43 44 |
# File 'lib/feature_toggle_service/repository.rb', line 42 def clear_defaults @defaults.clear end |
#clear_overrides ⇒ Object
30 31 32 |
# File 'lib/feature_toggle_service/repository.rb', line 30 def clear_overrides @overrides.clear end |
#default_value_for(key) ⇒ Object
18 19 20 |
# File 'lib/feature_toggle_service/repository.rb', line 18 def default_value_for(key) @defaults.fetch(key.to_s, DEFAULT_VALUE) end |
#get(key) ⇒ Object
14 15 16 |
# File 'lib/feature_toggle_service/repository.rb', line 14 def get(key) @overrides.fetch(key.to_s) { load_value(key) } end |
#set_default(key, value) ⇒ Object
34 35 36 |
# File 'lib/feature_toggle_service/repository.rb', line 34 def set_default(key, value) @defaults[key.to_s] = value end |
#set_override(key, value) ⇒ Object
22 23 24 |
# File 'lib/feature_toggle_service/repository.rb', line 22 def set_override(key, value) @overrides[key.to_s] = value end |
#unset_default(key) ⇒ Object
38 39 40 |
# File 'lib/feature_toggle_service/repository.rb', line 38 def unset_default(key) @defaults.delete key.to_s end |
#unset_override(key) ⇒ Object
26 27 28 |
# File 'lib/feature_toggle_service/repository.rb', line 26 def unset_override(key) @overrides.delete key.to_s end |