class Bundler::Resolver::Base

Public Class Methods

new(base, additional_base_requirements) click to toggle source
# File bundler/resolver/base.rb, line 6
def initialize(base, additional_base_requirements)
  @base = base
  @additional_base_requirements = additional_base_requirements
end

Public Instance Methods

[](name) click to toggle source
# File bundler/resolver/base.rb, line 11
def [](name)
  @base[name]
end
base_requirements() click to toggle source
# File bundler/resolver/base.rb, line 19
def base_requirements
  @base_requirements ||= build_base_requirements
end
delete(spec) click to toggle source
# File bundler/resolver/base.rb, line 15
def delete(spec)
  @base.delete(spec)
end
unlock_deps(deps) click to toggle source
# File bundler/resolver/base.rb, line 23
def unlock_deps(deps)
  exact, lower_bound = deps.partition(&:specific?)

  exact.each do |exact_dep|
    @base.delete_by_name_and_version(exact_dep.name, exact_dep.requirement.requirements.first.last)
  end

  lower_bound.each do |lower_bound_dep|
    @additional_base_requirements.delete(lower_bound_dep)
  end

  @base_requirements = nil
end

Private Instance Methods

build_base_requirements() click to toggle source
# File bundler/resolver/base.rb, line 39
def build_base_requirements
  base_requirements = {}
  @base.each do |ls|
    dep = Dependency.new(ls.name, ls.version)
    base_requirements[ls.name] = dep
  end
  @additional_base_requirements.each {|d| base_requirements[d.name] = d }
  base_requirements
end