def load(source)
@config = {:backends => "yaml",
:hierarchy => "common"}
if source.is_a?(String)
if File.exist?(source)
config = begin
yaml_load_file(source)
rescue TypeError => detail
case detail.message
when /no implicit conversion from nil to integer/
false
else
raise detail
end
end
@config.merge! config if config
else
raise "Config file #{source} not found"
end
elsif source.is_a?(Hash)
@config.merge! source
end
@config[:backends] = [ @config[:backends] ].flatten
if @config.include?(:logger)
Hiera.logger = @config[:logger].to_s
else
@config[:logger] = "console"
Hiera.logger = "console"
end
@config
end