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