summaryrefslogtreecommitdiff
path: root/lib/rubygems/source.rb
diff options
context:
space:
mode:
authorNathan Ladd <[email protected]>2025-04-23 12:26:03 -0400
committerHiroshi SHIBATA <[email protected]>2025-05-21 11:33:32 +0900
commit3ac239f7904816a61137524140306123e53c18dd ()
tree91e1257b6ac681c51fbe0f1d618acd4c59050013 /lib/rubygems/source.rb
parent27b0638386de460fde4a9fc3adb35400994aa2fa (diff)
[rubygems/rubygems] Copy prerelease attribute to dependency resolver sets
https://.com/rubygems/rubygems/commit/5956e7f8e5
-rw-r--r--lib/rubygems/source.rb50
1 files changed, 28 insertions, 22 deletions
@@ -67,28 +67,11 @@ class Gem::Source
##
# Returns a Set that can fetch specifications from this source.
-
- def dependency_resolver_set # :nodoc:
- return Gem::Resolver::IndexSet.new self if uri.scheme == "file"
-
- fetch_uri = if uri.host == "rubygems.org"
- index_uri = uri.dup
- index_uri.host = "index.rubygems.org"
- index_uri
- else
- uri
- end
-
- bundler_api_uri = enforce_trailing_slash(fetch_uri) + "versions"
-
- begin
- fetcher = Gem::RemoteFetcher.fetcher
- response = fetcher.fetch_path bundler_api_uri, nil, true
- rescue Gem::RemoteFetcher::FetchError
- Gem::Resolver::IndexSet.new self
- else
- Gem::Resolver::APISet.new response.uri + "./info/"
- end
end
def hash # :nodoc:
@@ -234,6 +217,29 @@ class Gem::Source
private
def enforce_trailing_slash(uri)
uri.merge(uri.path.gsub(%r{/+$}, "") + "/")
end