Sha256: 7ec0120298c1d80ad9f56e6dd3524d87f38d6a8b9c5fc9cdfdc311e9455b6dd2
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
module LicenseFinder class Bundle attr_writer :ignore_groups def initialize(bundler_definition=nil) @definition = bundler_definition || Bundler::Definition.build(gemfile_path, lockfile_path, nil) end def gems return @gems if @gems @gems ||= definition.specs_for(included_groups).map do |spec| dependency = dependencies.detect { |dep| dep.name == spec.name } BundledGem.new(spec, dependency) end setup_parent_child_relationships @gems end private attr_reader :definition def ignore_groups @ignore_groups ||= LicenseFinder.config.ignore_groups end def setup_parent_child_relationships dependency_index = {} gems.each do |dep| dependency_index[dep.dependency_name] = dep end gems.each do |dep| dep.children.each do |child_dep| license_finder_dependency = dependency_index[child_dep] license_finder_dependency.parents << dep.dependency_name if license_finder_dependency end end end def dependencies @dependencies ||= definition.dependencies end def included_groups definition.groups - ignore_groups end def gemfile_path Pathname.new("Gemfile").expand_path end def lockfile_path gemfile_path.dirname.join('Gemfile.lock') end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
license_finder-0.7.3 | lib/license_finder/bundle.rb |
license_finder-0.7.1 | lib/license_finder/bundle.rb |