class Bundler::Audit::Advisory
def self.load(path)
- Api: - semipublic
Returns:
-
(Advisory)
-
Parameters:
-
path
(String
) --
def self.load(path) id = File.basename(path).chomp('.yml') data = File.open(path) do |yaml| YAML.safe_load(yaml, permitted_classes: [Date]) end unless data.kind_of?(Hash) raise("advisory data in #{path.dump} was not a Hash") end parse_versions = lambda { |versions| Array(versions).map do |version| Gem::Requirement.new(*version.split(', ')) end } return new( path, id, data['url'], data['title'], data['date'], data['description'], data['cvss_v2'], data['cvss_v3'], data['cve'], data['osvdb'], data['ghsa'], parse_versions[data['unaffected_versions']], parse_versions[data['patched_versions']] ) end