diff --git a/lib/bundler/gem_version_promoter.rb b/lib/bundler/gem_version_promoter.rb index c7eacd193049a3..b666c29d32f819 100644 --- a/lib/bundler/gem_version_promoter.rb +++ b/lib/bundler/gem_version_promoter.rb @@ -53,7 +53,7 @@ def level=(value) # @return [Specification] A new instance of the Specification Array sorted and # possibly filtered. def sort_versions(package, specs) - specs = filter_dep_specs(specs, package) if strict + specs = filter_versions(package, specs) sort_dep_specs(specs, package) end @@ -73,9 +73,9 @@ def pre? pre == true end - private + def filter_versions(package, specs) + return specs unless strict - def filter_dep_specs(specs, package) locked_version = package.locked_version return specs if locked_version.nil? || major? @@ -89,6 +89,8 @@ def filter_dep_specs(specs, package) end end + private + def sort_dep_specs(specs, package) locked_version = package.locked_version diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index d1c3addea2dbae..1cd94ccf50c6b1 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -275,7 +275,7 @@ def all_versions_for(package) groups end - sort_versions_by_preferred(package, versions) + @gem_version_promoter.filter_versions(package, versions) end def source_for(name)