Module: Shamu::Features::Support
- Extended by:
- ActiveSupport::Concern
- Included in:
- Rails::Features
- Defined in:
- lib/shamu/features/support.rb
Overview
Add feature togggle support to an object.
Dependencies collapse
-
#features_service ⇒ Features::FeaturesService
The service used to resolve enabled features.
Instance Method Summary collapse
-
#feature_enabled?(feature) ⇒ Boolean
Determines if the given feature has been toggled.
-
#when_feature(feature, override: nil) { ... } ⇒ Object
Only execute the block if the current Context has the named featue enabled.
Instance Attribute Details
#features_service ⇒ Features::FeaturesService
Returns the service used to resolve enabled features.
17 |
# File 'lib/shamu/features/support.rb', line 17 attr_dependency :features_service, Features::FeaturesService, lazy: true |
Instance Method Details
#feature_enabled?(feature) ⇒ Boolean
Determines if the given feature has been toggled.
46 47 48 |
# File 'lib/shamu/features/support.rb', line 46 def feature_enabled?( feature ) features_service.enabled?( feature ) end |
#when_feature(feature, override: nil) { ... } ⇒ Object
Only execute the block if the current Context has the named featue enabled.
36 37 38 |
# File 'lib/shamu/features/support.rb', line 36 def when_feature( feature, override: nil, &block ) yield if override.nil? ? feature_enabled?( feature ) : override end |