module FastConfig
Public Class Methods
config_dir()
click to toggle source
# File lib/fast_config.rb, line 10 def self.config_dir ENV['FAST_CONFIG_DIR'] || @@config_dir || "config" end
config_dir=(dir)
click to toggle source
# File lib/fast_config.rb, line 6 def self.config_dir=(dir) @@config_dir = dir end
extended(main_class)
click to toggle source
Calls superclass method
# File lib/fast_config.rb, line 14 def self.extended(main_class) path = File.expand_path("#{self.config_dir}/#{snake_case(main_class)}.yml") configs = YAML.load(ERB.new(File.read(path)).result) if configs.has_key?(snake_case(main_class)) configs[snake_case(main_class)].each{ |k,v| main_class.set(k.to_sym, v) } elsif configs.has_key?(snake_case(ENV['ENV'])) configs[snake_case(ENV['ENV'])].each{ |k,v| main_class.set(k.to_sym, v) } end super end
snake_case(camel_cased_word)
click to toggle source
# File lib/fast_config.rb, line 34 def self.snake_case(camel_cased_word) camel_cased_word.to_s.gsub(/::/, '_'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase end
Public Instance Methods
set(key, val)
click to toggle source
# File lib/fast_config.rb, line 30 def set(key, val) settings[key] = val end
settings()
click to toggle source
# File lib/fast_config.rb, line 26 def settings @settings ||= {} end