module Bibliothecary::MultiParsers::BundlerLikeManifest

Public Instance Methods

parse_ruby_manifest(manifest) click to toggle source

this takes parsed Bundler and Bundler-like (CocoaPods) manifests and turns them into a list of dependencies.

# File lib/bibliothecary/multi_parsers/bundler_like_manifest.rb, line 6
def parse_ruby_manifest(manifest)
  manifest.dependencies.inject([]) do |deps, dep|
    deps.push(Dependency.new(
      name: dep.name,
      requirement: dep
        .requirement
        .requirements
        .sort_by(&:last)
        .map { |op, version| "#{op} #{version}" }
        .join(", "),
      type: dep.type.to_s,
    ))
  end.uniq
end