Module: FeatureSwitch
- Defined in:
- lib/feature_switch.rb
Overview
Instance Method Summary collapse
-
#disable(feature) ⇒ Object
Disable a feature.
-
#disabled?(feature) ⇒ Boolean
Returns if the feature has been disabled.
-
#enable(feature) ⇒ Object
Enable a feature.
-
#enabled?(feature) ⇒ Boolean
Returns if the feature has been enabled.
-
#feature(feature) ⇒ Object
Yields a block if the feature is enabled.
Instance Method Details
#disable(feature) ⇒ Object
Disable a feature
20 21 22 |
# File 'lib/feature_switch.rb', line 20 def disable(feature) (@_disabled_features ||= []) << feature end |
#disabled?(feature) ⇒ Boolean
Returns if the feature has been disabled
34 35 36 |
# File 'lib/feature_switch.rb', line 34 def disabled?(feature) disabled_features.include?(feature) end |
#enable(feature) ⇒ Object
Enable a feature
13 14 15 |
# File 'lib/feature_switch.rb', line 13 def enable(feature) (@_enabled_features ||= []) << feature end |
#enabled?(feature) ⇒ Boolean
Returns if the feature has been enabled
27 28 29 |
# File 'lib/feature_switch.rb', line 27 def enabled?(feature) enabled_features.include?(feature) end |
#feature(feature) ⇒ Object
Yields a block if the feature is enabled
6 7 8 |
# File 'lib/feature_switch.rb', line 6 def feature(feature) yield if enabled_features.include?(feature) || (enabled_features(current_user.features).include?(feature) if respond_to?(:current_user) && current_user.respond_to?(:features)) end |