Method: Config::Sources::YAMLSource#load

Defined in:
lib/config/sources/yaml_source.rb

#loadObject

returns a config hash from the YML file



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/config/sources/yaml_source.rb', line 16

def load
  if @path and File.exist?(@path)
    file_contents = File.read(@path)
    file_contents = ERB.new(file_contents).result if evaluate_erb
    result = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(file_contents) : YAML.load(file_contents)
  end

  result || {}

rescue Psych::SyntaxError => e
  raise "YAML syntax error occurred while parsing #{@path}. " \
        "Please note that YAML must be consistently indented using spaces. Tabs are not allowed. " \
        "Error: #{e.message}"
end