Module: Foggle::Toggle

Defined in:
lib/foggle/toggle.rb

Overview

Namespace for the feature toggle implementation.

Instance Method Summary collapse

Instance Method Details

#enabled?(feature) ⇒ Boolean Also known as: feature?

Checks if a feature is enabled.

Examples:

using a Symbol as a parameter

# export FEATURE_COOL_STUFF=true
enabled? :cool_stuff
# => true

# export FEATURE_COOL_STUFF=false
enabled? :cool_stuff
# => false

using a String as a parameter

# export FEATURE_COOL_STUFF=true
enabled? "cool_stuff"
# => true

# export FEATURE_COOL_STUFF=false
enabled? "cool_stuff"
# => false

# export FEATURE_COOL_STUFF=true
enabled? "COOL_STUFF"
# => true

using the feature? alias method

# export FEATURE_COOL_STUFF=true
feature? :cool_stuff
# => true

# export FEATURE_COOL_STUFF=false
feature? :cool_stuff
# => false

Parameters:

  • feature (Symbol, String)

    the snake_case NAME of a feature used in a FEATURE_NAME environment variable.

Returns:

  • (Boolean)

    if a feature is enabled.



40
41
42
43
# File 'lib/foggle/toggle.rb', line 40

def enabled?(feature)
  feature_name = "FEATURE_#{feature.to_s.upcase}"
  "true" == ENV.fetch(feature_name) { "false" }
end