class Kybus::Configuration::FeatureFlag
Public Class Methods
from_config(conf)
click to toggle source
# File lib/kybus/configs/feature_flag.rb, line 26 def self.from_config(conf) case conf when String, TrueClass, FalseClass Base.new(conf) when Hash klass = resource(:custom_provider, conf['provider']) klass.new(conf) end end
new(confs)
click to toggle source
# File lib/kybus/configs/feature_flag.rb, line 12 def initialize(confs) @flags = {} confs.each do |name, conf| @flags[name] = self.class.from_config(conf) end end
register_provider(name, klass)
click to toggle source
# File lib/kybus/configs/feature_flag.rb, line 36 def self.register_provider(name, klass) register(:custom_provider, name, klass) end
Public Instance Methods
[](key)
click to toggle source
# File lib/kybus/configs/feature_flag.rb, line 19 def [](key) feature_flag = @flags[key] raise KeyError, "#{key} is not configured as flag" unless feature_flag feature_flag.active? end