class LicenseFinder::Bundle

def self.current_gem_dependencies(bundler_definition=nil)

def self.current_gem_dependencies(bundler_definition=nil)
  new(bundler_definition).gems.map(&:save_or_merge)
end

def dependencies

def dependencies
  @dependencies ||= definition.dependencies
end

def gemfile_path

def gemfile_path
  Pathname.new("Gemfile").expand_path
end

def gems

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
  @gems
end

def ignore_groups

def ignore_groups
  @ignore_groups ||= LicenseFinder.config.ignore_groups
end

def included_groups

def included_groups
  definition.groups - ignore_groups
end

def initialize(bundler_definition=nil)

def initialize(bundler_definition=nil)
  @definition = bundler_definition || Bundler::Definition.build(gemfile_path, lockfile_path, nil)
end

def lockfile_path

def lockfile_path
  gemfile_path.dirname.join('Gemfile.lock')
end