class Persey::Loader

Attributes

configs[RW]

Public Class Methods

load(configs, env) click to toggle source
# File lib/persey/loader.rb, line 6
def load(configs, env)
  l = new(configs)
  l.load(env)
end
new(configs) click to toggle source
# File lib/persey/loader.rb, line 12
def initialize(configs)
  @configs = configs
end

Public Instance Methods

load(env) click to toggle source
# File lib/persey/loader.rb, line 16
def load(env)
  @defaults = {}

  configs.each do |pdc|
    klass = pdc[:class]
    raw_config = klass.load(pdc[:file], env)
    env_config = raw_config[env].nil? ? raw_config : raw_config[env]

    n = pdc[:namespace]
    if n.nil?
      @defaults.merge!(env_config)
    else
      @defaults[n].is_a?(Hash) ? @defaults[n].merge!(env_config) : @defaults[n] = env_config
    end
  end

  @defaults
end