Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
instance method
Gem::Resolver#versions_for
versions_for(package, range = Gem::PubGrub::VersionRange.any)
lib/rubygems/resolver.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/lib/rubygems/resolver.rb, line 235
def versions_for(package, range = Gem::PubGrub::VersionRange.any)
@versions_for_cache[package][range] ||= begin
candidates = range.select_versions(@sorted_versions[package])
if Gem::PubGrub::Package.root?(package) ||
(@set.respond_to?(:prerelease) && @set.prerelease) ||
range_admits_prerelease?(range)
candidates
elsif @all_versions[package].any? {|v| !v.prerelease? }
candidates.reject(&:prerelease?)
else
# Only prereleases exist for this gem; fall back to them so
# dependencies like `>= 1.0` can still be satisfied.
candidates
end
end
end
No documentation available