module FeatureToggle

Constants

VERSION

Public Class Methods

configuration() click to toggle source
# File lib/feature_toggle.rb, line 20
def self.configuration
  @config ||= OpenStruct.new
end
features() click to toggle source
# File lib/feature_toggle.rb, line 16
def self.features
  @features ||= []
end
on?(feature, state_context) click to toggle source
# File lib/feature_toggle.rb, line 24
def self.on?(feature, state_context)
  enable_state_names = Feature.where(feature: feature, enable: true).pluck(:state)
  enable_states = states.select {|state| enable_state_names.include?(state.name.to_s) }
  enable_states.any? do |state|
    state_context.instance_eval &state.value
  end
end
setup() { |configuration| ... } click to toggle source
# File lib/feature_toggle.rb, line 8
def self.setup(&block)
  yield configuration
end
states() click to toggle source
# File lib/feature_toggle.rb, line 12
def self.states
  @states ||= []
end