class DependencySpy::Formatters::Yaml

Public Class Methods

format(manifests) click to toggle source
# 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