Class: FeatureToggleService::Service
- Inherits:
-
Object
- Object
- FeatureToggleService::Service
- Defined in:
- lib/feature_toggle_service/service.rb
Constant Summary collapse
- FALSE_VALUES =
[:false, 'false', false, 0]
- TRUE_VALUES =
[:true, 'true', true, 1]
Instance Method Summary collapse
- #config ⇒ Object
-
#config_params ⇒ Object
Instance.
- #default_off(key) ⇒ Object
-
#default_on(key) ⇒ Object
helper methods.
- #off?(key) ⇒ Boolean
- #on?(key) ⇒ Boolean
- #override_off(key) ⇒ Object
- #override_on(key) ⇒ Object
Instance Method Details
#config ⇒ Object
52 53 54 |
# File 'lib/feature_toggle_service/service.rb', line 52 def config @config ||= Config.new config_params end |
#config_params ⇒ Object
Instance
8 9 10 |
# File 'lib/feature_toggle_service/service.rb', line 8 def config_params @config_params ||= { key_suffix: 'suffix', enabled: true, cache_toggles: false, app_name: 'Default App', etcd_client: { port: 4001 } } end |
#default_off(key) ⇒ Object
37 38 39 40 |
# File 'lib/feature_toggle_service/service.rb', line 37 def default_off(key) logger.info "FeaturedToggleService: default OFF for key: #{key}" repository.set_default key, false end |
#default_on(key) ⇒ Object
helper methods
32 33 34 35 |
# File 'lib/feature_toggle_service/service.rb', line 32 def default_on(key) logger.info "FeaturedToggleService: default ON for key: #{key}" repository.set_default key, true end |
#off?(key) ⇒ Boolean
12 13 14 |
# File 'lib/feature_toggle_service/service.rb', line 12 def off?(key) !on? key end |
#on?(key) ⇒ Boolean
16 17 18 19 20 21 22 23 |
# File 'lib/feature_toggle_service/service.rb', line 16 def on?(key) case repository.get(key) when *TRUE_VALUES true else false end end |
#override_off(key) ⇒ Object
47 48 49 50 |
# File 'lib/feature_toggle_service/service.rb', line 47 def override_off(key) logger.info "FeaturedToggleService: override OFF for key: #{key}" repository.set_override key, false end |
#override_on(key) ⇒ Object
42 43 44 45 |
# File 'lib/feature_toggle_service/service.rb', line 42 def override_on(key) logger.info "FeaturedToggleService: override ON for key: #{key}" repository.set_override key, true end |