Method: PDK::Module::Metadata.from_file

Defined in:
lib/pdk/module/metadata.rb

.from_file(metadata_json_path) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/pdk/module/metadata.rb', line 45

def self.from_file()
  unless File.file?()
    raise ArgumentError, _("'%{file}' does not exist or is not a file.") % { file:  }
  end

  unless File.readable?()
    raise ArgumentError, _("Unable to open '%{file}' for reading.") % { file:  }
  end

  begin
    data = JSON.parse(File.read())
  rescue JSON::JSONError => e
    raise ArgumentError, _('Invalid JSON in metadata.json: %{msg}') % { msg: e.message }
  end

  new(data)
end