Sha256: 11698245aca2f700f8c31cea2f2260eab235a0c6b509964650a0472ed13af1b0
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require "bundler" module LicenseFinder class Bundler < PackageManager def initialize options={} super @ignore_groups = options[:ignore_groups] # dependency injection for tests @definition = options[:definition] # dependency injection for tests end def current_packages logger.log self.class, "including groups #{included_groups.inspect}" definition.specs_for(included_groups).map do |gem_def| bundler_def = bundler_defs.detect { |bundler_def| bundler_def.name == gem_def.name } BundlerPackage.new(gem_def, bundler_def, logger: logger).tap do |package| logger.package self.class, package end end end private def definition # DI @definition ||= ::Bundler::Definition.build(package_path, lockfile_path, nil) end def ignore_groups # DI @ignore_groups ||= LicenseFinder.config.ignore_groups end def package_path Pathname.new("Gemfile") end def bundler_defs # memoized @bundler_defs ||= definition.dependencies end def included_groups definition.groups - ignore_groups.map(&:to_sym) end def lockfile_path package_path.dirname.join('Gemfile.lock') end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
license_finder-1.2 | lib/license_finder/package_managers/bundler.rb |
license_finder-1.2-java | lib/license_finder/package_managers/bundler.rb |