class RackFlags::Config
Attributes
flags[R]
Public Class Methods
load( yaml_path )
click to toggle source
# File lib/rack-flags/config.rb, line 8 def self.load( yaml_path ) flags = YAML.load( File.read( yaml_path ) ) new( flags ) end
new(flag_config)
click to toggle source
# File lib/rack-flags/config.rb, line 13 def initialize(flag_config) flag_config ||= {} @flags = flag_config.map do |flag_name, flag_details| base_flag_from_config_entry(flag_name,flag_details) end end
Private Instance Methods
base_flag_from_config_entry( name, details )
click to toggle source
# File lib/rack-flags/config.rb, line 23 def base_flag_from_config_entry( name, details ) symbolized_details = symbolize_keys( details ) BaseFlag.new( name.to_sym, symbolized_details.fetch( :description ,""), symbolized_details.fetch( :default ,false) ) end
symbolize_keys(hash)
click to toggle source
# File lib/rack-flags/config.rb, line 32 def symbolize_keys(hash) hash.inject({}) do |symbolized_hash, (key, value)| symbolized_hash[key.to_sym] = value symbolized_hash end end