This method is only available on newer versions.
The first available version (v2_6_3) is shown here.
sort_versions(dep, spec_groups)
public
Given a Dependency and an Array of SpecGroups of available versions for a gem,
this method will return the Array of SpecGroups
sorted (and possibly truncated if strict is true) in an order to give
preference to the current level (:major, :minor or :patch) when resolution
is deciding what versions best resolve all dependencies in the bundle.
@param dep [Dependency] The Dependency of the gem. @param spec_groups
[SpecGroup] An array of
SpecGroups for the same gem
# File lib/bundler/gem_version_promoter.rb, line 68
def sort_versions(dep, spec_groups)
before_result = "before sort_versions: #{debug_format_result(dep, spec_groups).inspect}" if DEBUG
@sort_versions[dep] ||= begin
gem_name = dep.name
# An Array per version returned, different entries for different platforms.
# We only need the version here so it's ok to hard code this to the first instance.
locked_spec = locked_specs[gem_name].first
if strict
filter_dep_specs(spec_groups, locked_spec)
else
sort_dep_specs(spec_groups, locked_spec)
end.tap do |specs|
if DEBUG
STDERR.puts before_result
STDERR.puts " after sort_versions: #{debug_format_result(dep, specs).inspect}"
end
end
end
end