Method: PDK::Config::JSON#parse_file

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

#parse_file(filename) ⇒ Object

Parses a JSON document.

See Also:

  • Namespace.parse_file


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/pdk/config/json.rb', line 9

def parse_file(filename)
  raise unless block_given?

  data = load_data(filename)
  return if data.nil? || data.empty?

  require 'json'

  data = ::JSON.parse(data)
  return if data.nil? || data.empty?

  data.each { |k, v| yield k, PDK::Config::Setting.new(k, self, v) }
rescue ::JSON::ParserError => e
  raise PDK::Config::LoadError, e.message
end