Class: DependencySpy::Formatters::Yaml

Inherits:
Object
  • Object
show all
Defined in:
lib/dependency_spy/formatters/yaml.rb

Class Method Summary collapse

Class Method Details

.format(manifests) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/dependency_spy/formatters/yaml.rb', line 21

def self.format(manifests)
  filtered_manifests = manifests.map do |manifest|
    vulnerable_dependencies      = manifest[:dependencies]
                                     .select { |dependency| dependency[:vulnerabilities].any? }
    manifest_copy                = Marshal.load(Marshal.dump(manifest))
    manifest_copy[:dependencies] = vulnerable_dependencies
    manifest_copy
  end

  filtered_manifests
    .reject { |m| m[:dependencies].nil? }
    .to_yaml
end