class Bundler::Resolver::Base
Attributes
packages[R]
requirements[R]
source_requirements[R]
Public Class Methods
new(source_requirements, dependencies, base, platforms, options)
click to toggle source
# File bundler/resolver/base.rb, line 10 def initialize(source_requirements, dependencies, base, platforms, options) @source_requirements = source_requirements @base = base @packages = Hash.new do |hash, name| hash[name] = Package.new(name, platforms, **options) end @requirements = dependencies.map do |dep| dep_platforms = dep.gem_platforms(platforms) # Dependencies scoped to external platforms are ignored next if dep_platforms.empty? name = dep.name @packages[name] = Package.new(name, dep_platforms, **options.merge(:dependency => dep)) dep end.compact end
Public Instance Methods
[](name)
click to toggle source
# File bundler/resolver/base.rb, line 33 def [](name) @base[name] end
base_requirements()
click to toggle source
# File bundler/resolver/base.rb, line 47 def base_requirements @base_requirements ||= build_base_requirements end
delete(specs)
click to toggle source
# File bundler/resolver/base.rb, line 37 def delete(specs) specs.each do |spec| @base.delete(spec) end end
get_package(name)
click to toggle source
# File bundler/resolver/base.rb, line 43 def get_package(name) @packages[name] end
include_prereleases(names)
click to toggle source
# File bundler/resolver/base.rb, line 67 def include_prereleases(names) names.each do |name| get_package(name).consider_prereleases! end end
unlock_names(names)
click to toggle source
# File bundler/resolver/base.rb, line 51 def unlock_names(names) indirect_pins = indirect_pins(names) if indirect_pins.any? loosen_names(indirect_pins) else pins = pins(names) if pins.any? loosen_names(pins) else unrestrict_names(names) end end end