Method: PDK::Config::IniFile#parse_file

Defined in:
lib/pdk/config/ini_file.rb

#parse_file(filename) ⇒ Object

Parses an IniFile document.

See Also:

  • Namespace.parse_file


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pdk/config/ini_file.rb', line 16

def parse_file(filename)
  raise unless block_given?
  data = load_data(filename)
  return if data.nil? || data.empty?

  ini_file = IniFileImpl.parse(data)
  ini_file.to_hash.each do |name, value|
    begin
      new_setting = PDK::Config::IniFileSetting.new(name, self, value)
    rescue StandardError
      # We just ignore invalid initial settings
      new_setting = PDK::Config::IniFileSetting.new(name, self, nil)
    end

    yield name, new_setting
  end
end