module FeatureFlipper::Config
Public Class Methods
active_features(context = nil)
click to toggle source
# File lib/feature_flipper/config.rb, line 69 def self.active_features(context = nil) self.features.collect { |key, value| self.is_active?(key, context) ? key : nil }.compact end
active_state?(state, feature_name, context = nil)
click to toggle source
# File lib/feature_flipper/config.rb, line 49 def self.active_state?(state, feature_name, context = nil) condition = states[state] if condition.is_a?(Proc) if context context.instance_exec(feature_name, &condition) else condition.call(feature_name) == true end else condition == true end end
ensure_config_is_loaded()
click to toggle source
# File lib/feature_flipper/config.rb, line 14 def self.ensure_config_is_loaded return if @config_loaded load path_to_file @config_loaded = true end
features()
click to toggle source
# File lib/feature_flipper/config.rb, line 28 def self.features @features end
features=(features)
click to toggle source
# File lib/feature_flipper/config.rb, line 32 def self.features=(features) @features = features end
get_state(feature_name)
click to toggle source
# File lib/feature_flipper/config.rb, line 44 def self.get_state(feature_name) feature = features[feature_name] feature ? feature[:state] : nil end
is_active?(feature_name, context = nil)
click to toggle source
# File lib/feature_flipper/config.rb, line 62 def self.is_active?(feature_name, context = nil) ensure_config_is_loaded state = get_state(feature_name) active_state?(state, feature_name, context) end
path_to_file()
click to toggle source
# File lib/feature_flipper/config.rb, line 6 def self.path_to_file @path_to_file end
path_to_file=(path_to_file)
click to toggle source
# File lib/feature_flipper/config.rb, line 10 def self.path_to_file=(path_to_file) @path_to_file = path_to_file end
reload_config()
click to toggle source
# File lib/feature_flipper/config.rb, line 21 def self.reload_config @features = {} @states = {} @config_loaded = false end
states()
click to toggle source
# File lib/feature_flipper/config.rb, line 36 def self.states @states end
states=(states)
click to toggle source
# File lib/feature_flipper/config.rb, line 40 def self.states=(states) @states = states end