rubygems-update 3.4.10 → 3.4.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/bundler/CHANGELOG.md +16 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/definition.rb +9 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +1 -1
- data/bundler/lib/bundler/lazy_specification.rb +1 -1
- data/bundler/lib/bundler/resolver/base.rb +1 -3
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +5 -3
- data/bundler/lib/bundler/source/rubygems.rb +5 -8
- data/bundler/lib/bundler/spec_set.rb +2 -2
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +5 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +2 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +2 -2
- data/lib/rubygems/command_manager.rb +2 -2
- data/lib/rubygems/installer.rb +1 -1
- data/lib/rubygems/request_set.rb +2 -2
- data/lib/rubygems/specification.rb +3 -1
- data/lib/rubygems/stub_specification.rb +2 -1
- data/lib/rubygems.rb +1 -1
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/helper.rb +14 -0
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_config.rb +1 -1
- data/test/rubygems/test_deprecate.rb +1 -1
- data/test/rubygems/test_exit.rb +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder.rb +1 -0
- data/test/rubygems/test_kernel.rb +1 -1
- data/test/rubygems/test_project_sanity.rb +32 -3
- data/test/rubygems/test_remote_fetch_error.rb +1 -1
- data/test/rubygems/utilities.rb +8 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b282bb00b57945e0f0754620e2748128cd209c4babfd48a99b65cd4b3a49453
|
4
|
+
data.tar.gz: c0eff9cc6ff4ab163302bd9157a18ba0da4ff1bbf3a3c739f5e2cae74b5d82c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8d6983ca3a5bc09424c7182ad4d6467bd7f3d4c464c2145e2948b5a3a8bdc2d9beebfc5a1dccbc29d214fe957fee57493361609f93828f6c90ffa6a49ff6e5a
|
7
|
+
data.tar.gz: f625b38ddc0dfa4403f2e643a12b300f94fc373c2ba108f21c5be468229aef1bec8f6e31a49061284cd102d22cd15e53b26a71f9ca8af983496317659a4b696a
|
data/CHANGELOG.md
CHANGED
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
# 2.4.11 (April 10, 2023)
|
2
|
+
|
3
|
+
## Security:
|
4
|
+
|
5
|
+
- Use URI-0.12.1 (safe against CVE-2023-28755 ReDoS vulnerability) [#6558](https://github.com/rubygems/rubygems/pull/6558)
|
6
|
+
|
7
|
+
## Enhancements:
|
8
|
+
|
9
|
+
- Remove one fallback to full indexes on big gemfiles [#6578](https://github.com/rubygems/rubygems/pull/6578)
|
10
|
+
- Generate native gems with `-fvisibility=hidden` [#6541](https://github.com/rubygems/rubygems/pull/6541)
|
11
|
+
|
12
|
+
## Bug fixes:
|
13
|
+
|
14
|
+
- Fix resolver hangs when dealing with an incomplete lockfile [#6552](https://github.com/rubygems/rubygems/pull/6552)
|
15
|
+
- Fix prereleases not being considered by gem version promoter when there's no lockfile [#6537](https://github.com/rubygems/rubygems/pull/6537)
|
16
|
+
|
1
17
|
# 2.4.10 (March 27, 2023)
|
2
18
|
|
3
19
|
## Bug fixes:
|
@@ -4,8 +4,8 @@ module Bundler
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
5
5
|
module BuildMetadata
|
6
6
|
# begin ivars
|
7
|
-
@built_at = "2023-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2023-04-10".freeze
|
8
|
+
@git_commit_sha = "be1d1b4623".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
@@ -668,9 +668,17 @@ module Bundler
|
|
668
668
|
def check_missing_lockfile_specs
|
669
669
|
all_locked_specs = @locked_specs.map(&:name) << "bundler"
|
670
670
|
|
671
|
-
@locked_specs.
|
671
|
+
missing = @locked_specs.select do |s|
|
672
672
|
s.dependencies.any? {|dep| !all_locked_specs.include?(dep.name) }
|
673
673
|
end
|
674
|
+
|
675
|
+
if missing.any?
|
676
|
+
@locked_specs.delete(missing)
|
677
|
+
|
678
|
+
true
|
679
|
+
else
|
680
|
+
false
|
681
|
+
end
|
674
682
|
end
|
675
683
|
|
676
684
|
def converge_paths
|
@@ -93,7 +93,7 @@ module Bundler
|
|
93
93
|
locked_version = package.locked_version
|
94
94
|
|
95
95
|
result = specs.sort do |a, b|
|
96
|
-
unless
|
96
|
+
unless package.prerelease_specified? || pre?
|
97
97
|
a_pre = a.prerelease?
|
98
98
|
b_pre = b.prerelease?
|
99
99
|
|
@@ -107,7 +107,7 @@ module Bundler
|
|
107
107
|
ruby_engine_version = RUBY_ENGINE == "ruby" ? ruby_version : RUBY_ENGINE_VERSION.dup
|
108
108
|
patchlevel = RUBY_PATCHLEVEL.to_s
|
109
109
|
|
110
|
-
@
|
110
|
+
@system ||= RubyVersion.new(ruby_version, patchlevel, ruby_engine, ruby_engine_version)
|
111
111
|
end
|
112
112
|
|
113
113
|
private
|
@@ -66,7 +66,9 @@ module Gem
|
|
66
66
|
|
67
67
|
alias_method :rg_extension_dir, :extension_dir
|
68
68
|
def extension_dir
|
69
|
-
|
69
|
+
# following instance variable is already used in original method
|
70
|
+
# and that is the reason to prefix it with bundler_ and add rubocop exception
|
71
|
+
@bundler_extension_dir ||= if source.respond_to?(:extension_dir_name) # rubocop:disable Naming/MemoizedInstanceVariableName
|
70
72
|
unique_extension_dir = [source.extension_dir_name, File.basename(full_gem_path)].uniq.join("-")
|
71
73
|
File.expand_path(File.join(extensions_dir, unique_extension_dir))
|
72
74
|
else
|
@@ -203,9 +205,9 @@ module Gem
|
|
203
205
|
protected
|
204
206
|
|
205
207
|
def _requirements_sorted?
|
206
|
-
return @
|
208
|
+
return @_requirements_sorted if defined?(@_requirements_sorted)
|
207
209
|
strings = as_list
|
208
|
-
@
|
210
|
+
@_requirements_sorted = strings == strings.sort
|
209
211
|
end
|
210
212
|
|
211
213
|
def _with_sorted_requirements
|
@@ -7,8 +7,6 @@ module Bundler
|
|
7
7
|
class Rubygems < Source
|
8
8
|
autoload :Remote, File.expand_path("rubygems/remote", __dir__)
|
9
9
|
|
10
|
-
# Use the API when installing less than X gems
|
11
|
-
API_REQUEST_LIMIT = 500
|
12
10
|
# Ask for X gems per API request
|
13
11
|
API_REQUEST_SIZE = 50
|
14
12
|
|
@@ -401,12 +399,11 @@ module Bundler
|
|
401
399
|
# gather lists from non-api sites
|
402
400
|
fetch_names(index_fetchers, nil, idx, false)
|
403
401
|
|
404
|
-
#
|
405
|
-
#
|
406
|
-
#
|
407
|
-
|
408
|
-
|
409
|
-
" Downloading full index instead..." unless allow_api
|
402
|
+
# legacy multi-remote sources need special logic to figure out
|
403
|
+
# dependency names and that logic can be very costly if one remote
|
404
|
+
# uses the dependency API but others don't. So use full indexes
|
405
|
+
# consistently in that particular case.
|
406
|
+
allow_api = !multiple_remotes?
|
410
407
|
|
411
408
|
fetch_names(api_fetchers, allow_api && dependency_names, idx, false)
|
412
409
|
end
|
@@ -2,4 +2,9 @@
|
|
2
2
|
|
3
3
|
require "mkmf"
|
4
4
|
|
5
|
+
# Makes all symbols private by default to avoid unintended conflict
|
6
|
+
# with other gems. To explicitly export symbols you can use RUBY_FUNC_EXPORTED
|
7
|
+
# selectively, or entirely remove this flag.
|
8
|
+
append_cflags("-fvisibility=hidden")
|
9
|
+
|
5
10
|
create_makefile(<%= config[:makefile_path].inspect %>)
|
@@ -2,8 +2,8 @@
|
|
2
2
|
module Bundler::URI
|
3
3
|
class RFC3986_Parser # :nodoc:
|
4
4
|
# Bundler::URI defined in RFC3986
|
5
|
-
RFC3986_URI = /\A(?<Bundler::URI>(?<scheme>[A-Za-z][+\-.0-9A-Za-z]
|
6
|
-
RFC3986_relative_ref = /\A(?<relative-ref>(?<relative-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])
|
5
|
+
RFC3986_URI = /\A(?<Bundler::URI>(?<scheme>[A-Za-z][+\-.0-9A-Za-z]*+):(?<hier-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*+)@)?(?<host>(?<IP-literal>\[(?:(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:)?\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h++\.[!$&-.0-;=A-Z_a-z~]++))\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])*+))(?::(?<port>\d*+))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*+))*+)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])++)(?:\/\g<segment>)*+)?)|(?<path-rootless>\g<segment-nz>(?:\/\g<segment>)*+)|(?<path-empty>))(?:\?(?<query>[^#]*+))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*+))?)\z/
|
6
|
+
RFC3986_relative_ref = /\A(?<relative-ref>(?<relative-part>\/\/(?<authority>(?:(?<userinfo>(?:%\h\h|[!$&-.0-;=A-Z_a-z~])*+)@)?(?<host>(?<IP-literal>\[(?:(?<IPv6address>(?:\h{1,4}:){6}(?<ls32>\h{1,4}:\h{1,4}|(?<IPv4address>(?<dec-octet>[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]|\d)\.\g<dec-octet>\.\g<dec-octet>\.\g<dec-octet>))|::(?:\h{1,4}:){5}\g<ls32>|\h{1,4}?::(?:\h{1,4}:){4}\g<ls32>|(?:(?:\h{1,4}:){,1}\h{1,4})?::(?:\h{1,4}:){3}\g<ls32>|(?:(?:\h{1,4}:){,2}\h{1,4})?::(?:\h{1,4}:){2}\g<ls32>|(?:(?:\h{1,4}:){,3}\h{1,4})?::\h{1,4}:\g<ls32>|(?:(?:\h{1,4}:){,4}\h{1,4})?::\g<ls32>|(?:(?:\h{1,4}:){,5}\h{1,4})?::\h{1,4}|(?:(?:\h{1,4}:){,6}\h{1,4})?::)|(?<IPvFuture>v\h++\.[!$&-.0-;=A-Z_a-z~]++))\])|\g<IPv4address>|(?<reg-name>(?:%\h\h|[!$&-.0-9;=A-Z_a-z~])++))?(?::(?<port>\d*+))?)(?<path-abempty>(?:\/(?<segment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])*+))*+)|(?<path-absolute>\/(?:(?<segment-nz>(?:%\h\h|[!$&-.0-;=@-Z_a-z~])++)(?:\/\g<segment>)*+)?)|(?<path-noscheme>(?<segment-nz-nc>(?:%\h\h|[!$&-.0-9;=@-Z_a-z~])++)(?:\/\g<segment>)*+)|(?<path-empty>))(?:\?(?<query>[^#]*+))?(?:\#(?<fragment>(?:%\h\h|[!$&-.0-;=@-Z_a-z~\/?])*+))?)\z/
|
7
7
|
attr_reader :regexp
|
8
8
|
|
9
9
|
def initialize
|
data/bundler/lib/bundler.rb
CHANGED
@@ -89,7 +89,7 @@ module Bundler
|
|
89
89
|
|
90
90
|
class << self
|
91
91
|
def configure
|
92
|
-
@
|
92
|
+
@configure ||= configure_gem_home_and_path
|
93
93
|
end
|
94
94
|
|
95
95
|
def ui
|
@@ -581,7 +581,7 @@ EOF
|
|
581
581
|
@bin_path = nil
|
582
582
|
@bundler_major_version = nil
|
583
583
|
@bundle_path = nil
|
584
|
-
@
|
584
|
+
@configure = nil
|
585
585
|
@configured_bundle_path = nil
|
586
586
|
@definition = nil
|
587
587
|
@load = nil
|
@@ -83,7 +83,7 @@ class Gem::CommandManager
|
|
83
83
|
# Return the authoritative instance of the command manager.
|
84
84
|
|
85
85
|
def self.instance
|
86
|
-
@
|
86
|
+
@instance ||= new
|
87
87
|
end
|
88
88
|
|
89
89
|
##
|
@@ -98,7 +98,7 @@ class Gem::CommandManager
|
|
98
98
|
# Reset the authoritative instance of the command manager.
|
99
99
|
|
100
100
|
def self.reset
|
101
|
-
@
|
101
|
+
@instance = nil
|
102
102
|
end
|
103
103
|
|
104
104
|
##
|
data/lib/rubygems/installer.rb
CHANGED
data/lib/rubygems/request_set.rb
CHANGED
@@ -107,7 +107,7 @@ class Gem::RequestSet
|
|
107
107
|
@requests = []
|
108
108
|
@sets = []
|
109
109
|
@soft_missing = false
|
110
|
-
@
|
110
|
+
@sorted_requests = nil
|
111
111
|
@specs = nil
|
112
112
|
@vendor_set = nil
|
113
113
|
@source_set = nil
|
@@ -424,7 +424,7 @@ class Gem::RequestSet
|
|
424
424
|
end
|
425
425
|
|
426
426
|
def sorted_requests
|
427
|
-
@
|
427
|
+
@sorted_requests ||= strongly_connected_components.flatten
|
428
428
|
end
|
429
429
|
|
430
430
|
def specs
|
@@ -2233,7 +2233,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
2233
2233
|
# The platform this gem runs on. See Gem::Platform for details.
|
2234
2234
|
|
2235
2235
|
def platform
|
2236
|
-
@new_platform ||= Gem::Platform::RUBY
|
2236
|
+
@new_platform ||= Gem::Platform::RUBY # rubocop:disable Naming/MemoizedInstanceVariableName
|
2237
2237
|
end
|
2238
2238
|
|
2239
2239
|
def pretty_print(q) # :nodoc:
|
@@ -2712,6 +2712,8 @@ class Gem::Specification < Gem::BasicSpecification
|
|
2712
2712
|
end
|
2713
2713
|
|
2714
2714
|
@installed_by_version ||= nil
|
2715
|
+
|
2716
|
+
nil
|
2715
2717
|
end
|
2716
2718
|
|
2717
2719
|
def flatten_require_paths # :nodoc:
|
@@ -183,7 +183,7 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
183
183
|
##
|
184
184
|
# The full Gem::Specification for this gem, loaded from evalling its gemspec
|
185
185
|
|
186
|
-
def
|
186
|
+
def spec
|
187
187
|
@spec ||= if @data
|
188
188
|
loaded = Gem.loaded_specs[name]
|
189
189
|
loaded if loaded && loaded.version == version
|
@@ -191,6 +191,7 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
191
191
|
|
192
192
|
@spec ||= Gem::Specification.load(loaded_from)
|
193
193
|
end
|
194
|
+
alias_method :to_spec, :spec
|
194
195
|
|
195
196
|
##
|
196
197
|
# Is this StubSpecification valid? i.e. have we found a stub line, OR does
|
data/lib/rubygems.rb
CHANGED
data/rubygems-update.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rubygems-update"
|
5
|
-
s.version = "3.4.
|
5
|
+
s.version = "3.4.11"
|
6
6
|
s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
|
7
7
|
s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
|
8
8
|
|
data/test/rubygems/helper.rb
CHANGED
@@ -1179,6 +1179,20 @@ Also, a list:
|
|
1179
1179
|
RUBY_PLATFORM.match("mswin")
|
1180
1180
|
end
|
1181
1181
|
|
1182
|
+
##
|
1183
|
+
# Is this test being run on a version of Ruby built with mingw?
|
1184
|
+
|
1185
|
+
def self.mingw_windows?
|
1186
|
+
RUBY_PLATFORM.match("mingw")
|
1187
|
+
end
|
1188
|
+
|
1189
|
+
##
|
1190
|
+
# Is this test being run on a version of Ruby built with mingw?
|
1191
|
+
|
1192
|
+
def mingw_windows?
|
1193
|
+
RUBY_PLATFORM.match("mingw")
|
1194
|
+
end
|
1195
|
+
|
1182
1196
|
##
|
1183
1197
|
# Is this test being run on a ruby/ruby repository?
|
1184
1198
|
#
|
@@ -14,7 +14,7 @@ require "rubygems/request"
|
|
14
14
|
# The tested hosts are explained in detail here: https://github.com/rubygems/rubygems/commit/5e16a5428f973667cabfa07e94ff939e7a83ebd9
|
15
15
|
#
|
16
16
|
|
17
|
-
class
|
17
|
+
class TestGemBundledCA < Gem::TestCase
|
18
18
|
def bundled_certificate_store
|
19
19
|
store = OpenSSL::X509::Store.new
|
20
20
|
|
data/test/rubygems/test_exit.rb
CHANGED
@@ -145,6 +145,7 @@ class TestGemExtCargoBuilder < Gem::TestCase
|
|
145
145
|
system(@rust_envs, "cargo", "-V", out: IO::NULL, err: [:child, :out])
|
146
146
|
pend "cargo not present" unless $?.success?
|
147
147
|
pend "ruby.h is not provided by ruby repo" if ruby_repo?
|
148
|
+
pend "rust toolchain of mingw is broken" if mingw_windows?
|
148
149
|
end
|
149
150
|
|
150
151
|
def assert_ffi_handle(bundle, name)
|
@@ -3,13 +3,36 @@
|
|
3
3
|
require_relative "helper"
|
4
4
|
require "open3"
|
5
5
|
|
6
|
-
class
|
6
|
+
class TestGemProjectSanity < Gem::TestCase
|
7
|
+
def setup
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
end
|
12
|
+
|
7
13
|
def test_manifest_is_up_to_date
|
8
|
-
pend unless File.exist?(
|
14
|
+
pend unless File.exist?("#{root}/Rakefile")
|
9
15
|
|
10
16
|
_, status = Open3.capture2e("rake check_manifest")
|
11
17
|
|
12
|
-
|
18
|
+
unless status.success?
|
19
|
+
original_contents = File.read("#{root}/Manifest.txt")
|
20
|
+
|
21
|
+
# Update the manifest to see if it fixes the problem
|
22
|
+
Open3.capture2e("rake update_manifest")
|
23
|
+
|
24
|
+
out, status = Open3.capture2e("rake check_manifest")
|
25
|
+
|
26
|
+
# If `rake update_manifest` fixed the problem, that was the original
|
27
|
+
# issue, otherwise it was an unknown error, so print the error output
|
28
|
+
if status.success?
|
29
|
+
File.write("#{root}/Manifest.txt", original_contents)
|
30
|
+
|
31
|
+
raise "Expected Manifest.txt to be up to date, but it's not. Run `rake update_manifest` to sync it."
|
32
|
+
else
|
33
|
+
raise "There was an error running `rake check_manifest`: #{out}"
|
34
|
+
end
|
35
|
+
end
|
13
36
|
end
|
14
37
|
|
15
38
|
def test_require_rubygems_package
|
@@ -17,4 +40,10 @@ class TestProjectSanity < Gem::TestCase
|
|
17
40
|
|
18
41
|
assert status.success?, err
|
19
42
|
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def root
|
47
|
+
File.expand_path("../..", __dir__)
|
48
|
+
end
|
20
49
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require_relative "helper"
|
3
3
|
|
4
|
-
class
|
4
|
+
class TestGemRemoteFetchError < Gem::TestCase
|
5
5
|
def test_password_redacted
|
6
6
|
error = Gem::RemoteFetcher::FetchError.new("There was an error fetching", "https://user:secret@gemsource.org")
|
7
7
|
refute_match %r{secret}, error.to_s
|
data/test/rubygems/utilities.rb
CHANGED
@@ -167,7 +167,7 @@ end
|
|
167
167
|
#
|
168
168
|
# Example:
|
169
169
|
#
|
170
|
-
# HTTPResponseFactory.create(
|
170
|
+
# Gem::HTTPResponseFactory.create(
|
171
171
|
# body: "",
|
172
172
|
# code: 301,
|
173
173
|
# msg: "Moved Permanently",
|
@@ -175,7 +175,7 @@ end
|
|
175
175
|
# )
|
176
176
|
#
|
177
177
|
|
178
|
-
class HTTPResponseFactory
|
178
|
+
class Gem::HTTPResponseFactory
|
179
179
|
def self.create(body:, code:, msg:, headers: {})
|
180
180
|
response = Net::HTTPResponse.send(:response_class, code.to_s).new("1.0", code.to_s, msg)
|
181
181
|
response.instance_variable_set(:@body, body)
|
@@ -372,7 +372,7 @@ end
|
|
372
372
|
#
|
373
373
|
# This class was added to flush out problems in Rubinius' IO implementation.
|
374
374
|
|
375
|
-
class TempIO < Tempfile
|
375
|
+
class Gem::TempIO < Tempfile
|
376
376
|
##
|
377
377
|
# Creates a new TempIO that will be initialized to contain +string+.
|
378
378
|
|
@@ -391,3 +391,8 @@ class TempIO < Tempfile
|
|
391
391
|
Gem.read_binary path
|
392
392
|
end
|
393
393
|
end
|
394
|
+
|
395
|
+
class Gem::TestCase
|
396
|
+
TempIO = Gem::TempIO
|
397
|
+
HTTPResponseFactory = Gem::HTTPResponseFactory
|
398
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2023-
|
19
|
+
date: 2023-04-10 00:00:00.000000000 Z
|
20
20
|
dependencies: []
|
21
21
|
description: |-
|
22
22
|
A package (also known as a library) contains a set of functionality
|
@@ -836,7 +836,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
836
836
|
- !ruby/object:Gem::Version
|
837
837
|
version: '0'
|
838
838
|
requirements: []
|
839
|
-
rubygems_version: 3.4.
|
839
|
+
rubygems_version: 3.4.11
|
840
840
|
signing_key:
|
841
841
|
specification_version: 4
|
842
842
|
summary: RubyGems is a package management framework for Ruby.
|