module App::Config

Public Class Methods

current() click to toggle source
# File lib/radiospieler/radiospieler/config.rb, line 34
def self.current
  @@configurations[App.root] ||= begin
    config = self.load
    default_settings = config["default"] || {}
    current_settings = config[App.env] || {}
    default_settings.update current_settings
  end.extend(TreatSymbolsAsStrings)
end
load() click to toggle source
# File lib/radiospieler/radiospieler/config.rb, line 21
def self.load
  config = paths.inject(nil) do |c, path|
    c || read(path)
  end

  config ||= begin
    App.logger.warn "No configuration found in #{App.root}"
    {}
  end
end
paths() click to toggle source
# File lib/radiospieler/radiospieler/config.rb, line 9
def self.paths
  [ "#{App.root}/config/app.yml", "#{App.root}/config.yml" ]
end
read(path) click to toggle source
# File lib/radiospieler/radiospieler/config.rb, line 13
def self.read(path)
  return unless File.exist?(path)
  App.logger.info "Reading '#{App.env}' configuration from #{path}"
  erb = File.read(path)
  yaml = ERB.new(erb).result(binding)
  YAML.load(yaml) || {}
end