diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/bundler/resolver.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index 30e9a7beaa..2b6022cc27 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -156,7 +156,7 @@ module Bundler end def versions_for(package, range=VersionRange.any) - versions = range.select_versions(@sorted_versions[package]) + versions = select_sorted_versions(package, range) # Conditional avoids (among other things) calling # sort_versions_by_preferred with the root package @@ -381,11 +381,12 @@ module Bundler next [dep_package, dep_constraint] if name == "bundler" - versions = versions_for(dep_package, dep_constraint.range) + dep_range = dep_constraint.range + versions = select_sorted_versions(dep_package, dep_range) if versions.empty? && dep_package.ignores_prereleases? @sorted_versions.delete(dep_package) dep_package.consider_prereleases! - versions = versions_for(dep_package, dep_constraint.range) + versions = select_sorted_versions(dep_package, dep_range) end next [dep_package, dep_constraint] unless versions.empty? @@ -395,6 +396,10 @@ module Bundler end.compact.to_h end + def select_sorted_versions(package, range) + range.select_versions(@sorted_versions[package]) + end + def other_specs_matching_message(specs, requirement) message = String.new("The source contains the following gems matching '#{requirement}':\n") message << specs.map {|s| " * #{s.full_name}" }.join("\n") |
