rubygems-update 3.4.22 → 3.5.0

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.
Files changed (528) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -2
  3. data/Manifest.txt +34 -221
  4. data/README.md +1 -3
  5. data/bundler/CHANGELOG.md +53 -0
  6. data/bundler/bundler.gemspec +4 -2
  7. data/bundler/exe/bundle +1 -10
  8. data/bundler/lib/bundler/build_metadata.rb +3 -3
  9. data/bundler/lib/bundler/capistrano.rb +1 -1
  10. data/bundler/lib/bundler/checksum.rb +245 -0
  11. data/bundler/lib/bundler/ci_detector.rb +75 -0
  12. data/bundler/lib/bundler/cli/add.rb +3 -3
  13. data/bundler/lib/bundler/cli/binstubs.rb +4 -4
  14. data/bundler/lib/bundler/cli/cache.rb +1 -1
  15. data/bundler/lib/bundler/cli/check.rb +1 -1
  16. data/bundler/lib/bundler/cli/common.rb +9 -1
  17. data/bundler/lib/bundler/cli/config.rb +8 -7
  18. data/bundler/lib/bundler/cli/console.rb +3 -2
  19. data/bundler/lib/bundler/cli/doctor.rb +2 -2
  20. data/bundler/lib/bundler/cli/exec.rb +1 -1
  21. data/bundler/lib/bundler/cli/gem.rb +28 -23
  22. data/bundler/lib/bundler/cli/info.rb +2 -13
  23. data/bundler/lib/bundler/cli/install.rb +5 -4
  24. data/bundler/lib/bundler/cli/issue.rb +1 -1
  25. data/bundler/lib/bundler/cli/lock.rb +4 -4
  26. data/bundler/lib/bundler/cli/open.rb +1 -1
  27. data/bundler/lib/bundler/cli/outdated.rb +6 -6
  28. data/bundler/lib/bundler/cli/plugin.rb +7 -14
  29. data/bundler/lib/bundler/cli/pristine.rb +38 -30
  30. data/bundler/lib/bundler/cli/show.rb +2 -2
  31. data/bundler/lib/bundler/cli/update.rb +5 -5
  32. data/bundler/lib/bundler/cli.rb +215 -263
  33. data/bundler/lib/bundler/compact_index_client/cache.rb +29 -9
  34. data/bundler/lib/bundler/compact_index_client/cache_file.rb +153 -0
  35. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +7 -3
  36. data/bundler/lib/bundler/compact_index_client/updater.rb +79 -81
  37. data/bundler/lib/bundler/compact_index_client.rb +14 -7
  38. data/bundler/lib/bundler/constants.rb +1 -1
  39. data/bundler/lib/bundler/current_ruby.rb +5 -21
  40. data/bundler/lib/bundler/definition.rb +42 -15
  41. data/bundler/lib/bundler/dependency.rb +16 -12
  42. data/bundler/lib/bundler/digest.rb +2 -2
  43. data/bundler/lib/bundler/dsl.rb +43 -25
  44. data/bundler/lib/bundler/endpoint_specification.rb +5 -1
  45. data/bundler/lib/bundler/env.rb +1 -3
  46. data/bundler/lib/bundler/errors.rb +43 -0
  47. data/bundler/lib/bundler/fetcher/base.rb +3 -1
  48. data/bundler/lib/bundler/fetcher/compact_index.rb +4 -4
  49. data/bundler/lib/bundler/fetcher/downloader.rb +13 -11
  50. data/bundler/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  51. data/bundler/lib/bundler/fetcher/index.rb +1 -1
  52. data/bundler/lib/bundler/fetcher.rb +28 -25
  53. data/bundler/lib/bundler/friendly_errors.rb +5 -5
  54. data/bundler/lib/bundler/gem_helper.rb +1 -1
  55. data/bundler/lib/bundler/gem_helpers.rb +5 -2
  56. data/bundler/lib/bundler/graph.rb +9 -9
  57. data/bundler/lib/bundler/index.rb +1 -2
  58. data/bundler/lib/bundler/injector.rb +1 -1
  59. data/bundler/lib/bundler/inline.rb +3 -3
  60. data/bundler/lib/bundler/installer/gem_installer.rb +5 -5
  61. data/bundler/lib/bundler/installer/parallel_installer.rb +16 -8
  62. data/bundler/lib/bundler/installer/standalone.rb +2 -3
  63. data/bundler/lib/bundler/installer.rb +9 -9
  64. data/bundler/lib/bundler/lazy_specification.rb +24 -17
  65. data/bundler/lib/bundler/lockfile_generator.rb +9 -0
  66. data/bundler/lib/bundler/lockfile_parser.rb +81 -10
  67. data/bundler/lib/bundler/man/bundle-add.1 +3 -26
  68. data/bundler/lib/bundler/man/bundle-binstubs.1 +4 -16
  69. data/bundler/lib/bundler/man/bundle-cache.1 +3 -24
  70. data/bundler/lib/bundler/man/bundle-check.1 +3 -12
  71. data/bundler/lib/bundler/man/bundle-clean.1 +3 -10
  72. data/bundler/lib/bundler/man/bundle-config.1 +20 -211
  73. data/bundler/lib/bundler/man/bundle-config.1.ronn +6 -0
  74. data/bundler/lib/bundler/man/bundle-console.1 +4 -22
  75. data/bundler/lib/bundler/man/bundle-doctor.1 +4 -18
  76. data/bundler/lib/bundler/man/bundle-exec.1 +12 -73
  77. data/bundler/lib/bundler/man/bundle-gem.1 +13 -49
  78. data/bundler/lib/bundler/man/bundle-help.1 +3 -7
  79. data/bundler/lib/bundler/man/bundle-info.1 +3 -9
  80. data/bundler/lib/bundler/man/bundle-init.1 +3 -12
  81. data/bundler/lib/bundler/man/bundle-inject.1 +6 -19
  82. data/bundler/lib/bundler/man/bundle-install.1 +27 -125
  83. data/bundler/lib/bundler/man/bundle-install.1.ronn +1 -0
  84. data/bundler/lib/bundler/man/bundle-list.1 +4 -19
  85. data/bundler/lib/bundler/man/bundle-lock.1 +5 -29
  86. data/bundler/lib/bundler/man/bundle-open.1 +7 -27
  87. data/bundler/lib/bundler/man/bundle-outdated.1 +3 -55
  88. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +1 -0
  89. data/bundler/lib/bundler/man/bundle-platform.1 +5 -27
  90. data/bundler/lib/bundler/man/bundle-plugin.1 +3 -29
  91. data/bundler/lib/bundler/man/bundle-pristine.1 +5 -16
  92. data/bundler/lib/bundler/man/bundle-remove.1 +4 -14
  93. data/bundler/lib/bundler/man/bundle-show.1 +3 -10
  94. data/bundler/lib/bundler/man/bundle-update.1 +18 -137
  95. data/bundler/lib/bundler/man/bundle-version.1 +3 -16
  96. data/bundler/lib/bundler/man/bundle-viz.1 +4 -16
  97. data/bundler/lib/bundler/man/bundle.1 +5 -44
  98. data/bundler/lib/bundler/man/gemfile.5 +24 -301
  99. data/bundler/lib/bundler/man/gemfile.5.ronn +4 -0
  100. data/bundler/lib/bundler/match_metadata.rb +4 -0
  101. data/bundler/lib/bundler/match_platform.rb +1 -1
  102. data/bundler/lib/bundler/plugin/api/source.rb +3 -2
  103. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  104. data/bundler/lib/bundler/plugin.rb +3 -3
  105. data/bundler/lib/bundler/resolver/base.rb +1 -1
  106. data/bundler/lib/bundler/resolver/incompatibility.rb +1 -1
  107. data/bundler/lib/bundler/resolver/spec_group.rb +1 -4
  108. data/bundler/lib/bundler/resolver.rb +16 -16
  109. data/bundler/lib/bundler/ruby_dsl.rb +20 -12
  110. data/bundler/lib/bundler/ruby_version.rb +1 -1
  111. data/bundler/lib/bundler/rubygems_ext.rb +24 -50
  112. data/bundler/lib/bundler/rubygems_gem_installer.rb +6 -56
  113. data/bundler/lib/bundler/rubygems_integration.rb +25 -94
  114. data/bundler/lib/bundler/runtime.rb +2 -2
  115. data/bundler/lib/bundler/self_manager.rb +23 -7
  116. data/bundler/lib/bundler/settings.rb +27 -7
  117. data/bundler/lib/bundler/setup.rb +4 -1
  118. data/bundler/lib/bundler/shared_helpers.rb +35 -13
  119. data/bundler/lib/bundler/source/git/git_proxy.rb +15 -15
  120. data/bundler/lib/bundler/source/git.rb +4 -3
  121. data/bundler/lib/bundler/source/metadata.rb +15 -15
  122. data/bundler/lib/bundler/source/path.rb +7 -6
  123. data/bundler/lib/bundler/source/rubygems.rb +21 -14
  124. data/bundler/lib/bundler/source.rb +2 -0
  125. data/bundler/lib/bundler/spec_set.rb +38 -10
  126. data/bundler/lib/bundler/stub_specification.rb +1 -0
  127. data/bundler/lib/bundler/templates/Executable.bundler +1 -1
  128. data/bundler/lib/bundler/templates/newgem/README.md.tt +3 -3
  129. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +2 -6
  130. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  131. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +1 -1
  132. data/bundler/lib/bundler/ui/shell.rb +1 -1
  133. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  134. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +53 -6
  135. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +8 -20
  136. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +3 -3
  137. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +2 -2
  138. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
  139. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +35 -35
  140. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +3 -0
  141. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +256 -132
  142. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1 -0
  143. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +95 -31
  144. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  145. data/bundler/lib/bundler/vendored_net_http.rb +8 -0
  146. data/bundler/lib/bundler/vendored_persistent.rb +0 -4
  147. data/bundler/lib/bundler/vendored_timeout.rb +8 -0
  148. data/bundler/lib/bundler/version.rb +1 -1
  149. data/bundler/lib/bundler/vlad.rb +1 -1
  150. data/bundler/lib/bundler/yaml_serializer.rb +3 -3
  151. data/bundler/lib/bundler.rb +38 -27
  152. data/lib/rubygems/available_set.rb +4 -4
  153. data/lib/rubygems/basic_specification.rb +35 -37
  154. data/lib/rubygems/bundler_version_finder.rb +4 -4
  155. data/lib/rubygems/ci_detector.rb +75 -0
  156. data/lib/rubygems/command.rb +13 -15
  157. data/lib/rubygems/command_manager.rb +5 -4
  158. data/lib/rubygems/commands/build_command.rb +2 -2
  159. data/lib/rubygems/commands/cert_command.rb +1 -2
  160. data/lib/rubygems/commands/check_command.rb +4 -4
  161. data/lib/rubygems/commands/cleanup_command.rb +12 -14
  162. data/lib/rubygems/commands/contents_command.rb +4 -4
  163. data/lib/rubygems/commands/dependency_command.rb +4 -5
  164. data/lib/rubygems/commands/environment_command.rb +1 -3
  165. data/lib/rubygems/commands/exec_command.rb +1 -1
  166. data/lib/rubygems/commands/fetch_command.rb +2 -2
  167. data/lib/rubygems/commands/generate_index_command.rb +39 -74
  168. data/lib/rubygems/commands/help_command.rb +3 -3
  169. data/lib/rubygems/commands/info_command.rb +2 -2
  170. data/lib/rubygems/commands/install_command.rb +8 -16
  171. data/lib/rubygems/commands/list_command.rb +2 -2
  172. data/lib/rubygems/commands/lock_command.rb +1 -1
  173. data/lib/rubygems/commands/open_command.rb +1 -1
  174. data/lib/rubygems/commands/owner_command.rb +1 -1
  175. data/lib/rubygems/commands/pristine_command.rb +13 -15
  176. data/lib/rubygems/commands/push_command.rb +2 -2
  177. data/lib/rubygems/commands/query_command.rb +4 -5
  178. data/lib/rubygems/commands/rdoc_command.rb +2 -2
  179. data/lib/rubygems/commands/search_command.rb +2 -2
  180. data/lib/rubygems/commands/setup_command.rb +31 -34
  181. data/lib/rubygems/commands/sources_command.rb +12 -12
  182. data/lib/rubygems/commands/specification_command.rb +10 -10
  183. data/lib/rubygems/commands/stale_command.rb +1 -1
  184. data/lib/rubygems/commands/uninstall_command.rb +9 -10
  185. data/lib/rubygems/commands/unpack_command.rb +4 -4
  186. data/lib/rubygems/commands/update_command.rb +10 -12
  187. data/lib/rubygems/commands/which_command.rb +1 -1
  188. data/lib/rubygems/commands/yank_command.rb +1 -1
  189. data/lib/rubygems/compatibility.rb +5 -6
  190. data/lib/rubygems/config_file.rb +4 -4
  191. data/lib/rubygems/core_ext/kernel_gem.rb +0 -2
  192. data/lib/rubygems/core_ext/kernel_require.rb +19 -48
  193. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  194. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  195. data/lib/rubygems/defaults.rb +15 -3
  196. data/lib/rubygems/dependency.rb +12 -14
  197. data/lib/rubygems/dependency_installer.rb +29 -30
  198. data/lib/rubygems/dependency_list.rb +1 -1
  199. data/lib/rubygems/deprecate.rb +16 -15
  200. data/lib/rubygems/doctor.rb +5 -5
  201. data/lib/rubygems/errors.rb +2 -6
  202. data/lib/rubygems/exceptions.rb +2 -1
  203. data/lib/rubygems/ext/builder.rb +15 -10
  204. data/lib/rubygems/ext/cargo_builder.rb +5 -5
  205. data/lib/rubygems/ext/ext_conf_builder.rb +1 -3
  206. data/lib/rubygems/gem_runner.rb +4 -4
  207. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +3 -3
  208. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -3
  209. data/lib/rubygems/gemcutter_utilities.rb +18 -19
  210. data/lib/rubygems/install_update_options.rb +18 -19
  211. data/lib/rubygems/installer.rb +59 -33
  212. data/lib/rubygems/installer_uninstaller_utils.rb +0 -2
  213. data/lib/rubygems/local_remote_options.rb +7 -10
  214. data/lib/rubygems/name_tuple.rb +7 -9
  215. data/lib/rubygems/net/http.rb +3 -0
  216. data/lib/rubygems/net-http/LICENSE.txt +22 -0
  217. data/lib/rubygems/net-http/lib/net/http/backward.rb +40 -0
  218. data/lib/rubygems/net-http/lib/net/http/exceptions.rb +34 -0
  219. data/lib/rubygems/net-http/lib/net/http/generic_request.rb +414 -0
  220. data/lib/rubygems/net-http/lib/net/http/header.rb +981 -0
  221. data/lib/rubygems/net-http/lib/net/http/proxy_delta.rb +17 -0
  222. data/lib/rubygems/net-http/lib/net/http/request.rb +88 -0
  223. data/lib/rubygems/net-http/lib/net/http/requests.rb +425 -0
  224. data/lib/rubygems/net-http/lib/net/http/response.rb +738 -0
  225. data/lib/rubygems/net-http/lib/net/http/responses.rb +1174 -0
  226. data/lib/rubygems/net-http/lib/net/http/status.rb +84 -0
  227. data/lib/rubygems/net-http/lib/net/http.rb +2496 -0
  228. data/lib/rubygems/net-http/lib/net/https.rb +23 -0
  229. data/lib/rubygems/net-protocol/LICENSE.txt +22 -0
  230. data/lib/rubygems/net-protocol/lib/net/protocol.rb +544 -0
  231. data/lib/rubygems/optparse/lib/optparse.rb +39 -17
  232. data/lib/rubygems/package/old.rb +2 -2
  233. data/lib/rubygems/package/tar_header.rb +45 -39
  234. data/lib/rubygems/package/tar_reader/entry.rb +5 -4
  235. data/lib/rubygems/package/tar_reader.rb +5 -3
  236. data/lib/rubygems/package/tar_writer.rb +19 -17
  237. data/lib/rubygems/package.rb +27 -26
  238. data/lib/rubygems/package_task.rb +2 -2
  239. data/lib/rubygems/path_support.rb +9 -10
  240. data/lib/rubygems/platform.rb +60 -45
  241. data/lib/rubygems/query_utils.rb +7 -9
  242. data/lib/rubygems/remote_fetcher.rb +15 -15
  243. data/lib/rubygems/request/connection_pools.rb +3 -3
  244. data/lib/rubygems/request.rb +20 -17
  245. data/lib/rubygems/request_set/gem_dependency_api.rb +119 -122
  246. data/lib/rubygems/request_set/lockfile/parser.rb +9 -9
  247. data/lib/rubygems/request_set/lockfile/tokenizer.rb +20 -12
  248. data/lib/rubygems/request_set/lockfile.rb +6 -11
  249. data/lib/rubygems/request_set.rb +5 -5
  250. data/lib/rubygems/requirement.rb +7 -7
  251. data/lib/rubygems/resolv/LICENSE.txt +22 -0
  252. data/lib/rubygems/resolv/lib/resolv.rb +3387 -0
  253. data/lib/rubygems/resolver/activation_request.rb +1 -3
  254. data/lib/rubygems/resolver/api_set/gem_parser.rb +7 -3
  255. data/lib/rubygems/resolver/best_set.rb +1 -1
  256. data/lib/rubygems/resolver/composed_set.rb +1 -1
  257. data/lib/rubygems/resolver/conflict.rb +4 -12
  258. data/lib/rubygems/resolver/index_set.rb +4 -4
  259. data/lib/rubygems/resolver/index_specification.rb +2 -2
  260. data/lib/rubygems/resolver/installer_set.rb +5 -6
  261. data/lib/rubygems/resolver/lock_set.rb +1 -1
  262. data/lib/rubygems/resolver.rb +3 -10
  263. data/lib/rubygems/s3_uri_signer.rb +6 -6
  264. data/lib/rubygems/safe_marshal/elements.rb +138 -0
  265. data/lib/rubygems/safe_marshal/reader.rb +306 -0
  266. data/lib/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  267. data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +385 -0
  268. data/lib/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  269. data/lib/rubygems/safe_marshal.rb +74 -0
  270. data/lib/rubygems/safe_yaml.rb +5 -28
  271. data/lib/rubygems/security/policies.rb +36 -38
  272. data/lib/rubygems/security/policy.rb +7 -11
  273. data/lib/rubygems/security/signer.rb +1 -1
  274. data/lib/rubygems/security/trust_dir.rb +3 -3
  275. data/lib/rubygems/security.rb +8 -22
  276. data/lib/rubygems/source/git.rb +1 -3
  277. data/lib/rubygems/source/installed.rb +0 -2
  278. data/lib/rubygems/source/local.rb +5 -8
  279. data/lib/rubygems/source/lock.rb +1 -3
  280. data/lib/rubygems/source/specific_file.rb +0 -1
  281. data/lib/rubygems/source/vendor.rb +0 -2
  282. data/lib/rubygems/source.rb +12 -12
  283. data/lib/rubygems/source_list.rb +4 -4
  284. data/lib/rubygems/spec_fetcher.rb +29 -29
  285. data/lib/rubygems/specification.rb +125 -138
  286. data/lib/rubygems/specification_policy.rb +55 -25
  287. data/lib/rubygems/stub_specification.rb +4 -5
  288. data/lib/rubygems/text.rb +1 -2
  289. data/lib/rubygems/timeout/LICENSE.txt +22 -0
  290. data/lib/rubygems/timeout/lib/timeout.rb +199 -0
  291. data/lib/rubygems/timeout.rb +3 -0
  292. data/lib/rubygems/tsort/lib/tsort.rb +3 -0
  293. data/lib/rubygems/uninstaller.rb +7 -9
  294. data/lib/rubygems/update_suggestion.rb +5 -18
  295. data/lib/rubygems/uri_formatter.rb +1 -1
  296. data/lib/rubygems/user_interaction.rb +15 -21
  297. data/lib/rubygems/util/licenses.rb +65 -35
  298. data/lib/rubygems/util/list.rb +3 -1
  299. data/lib/rubygems/util.rb +2 -4
  300. data/lib/rubygems/validator.rb +5 -3
  301. data/lib/rubygems/version.rb +34 -28
  302. data/lib/rubygems/version_option.rb +2 -5
  303. data/lib/rubygems/yaml_serializer.rb +3 -3
  304. data/lib/rubygems.rb +37 -37
  305. data/rubygems-update.gemspec +4 -4
  306. data/setup.rb +2 -2
  307. metadata +38 -225
  308. data/lib/rubygems/indexer.rb +0 -428
  309. data/lib/rubygems/mock_gem_ui.rb +0 -86
  310. data/test/rubygems/alternate_cert.pem +0 -19
  311. data/test/rubygems/alternate_cert_32.pem +0 -19
  312. data/test/rubygems/alternate_key.pem +0 -27
  313. data/test/rubygems/bad_rake.rb +0 -3
  314. data/test/rubygems/bundler_test_gem.rb +0 -424
  315. data/test/rubygems/ca_cert.pem +0 -77
  316. data/test/rubygems/child_cert.pem +0 -19
  317. data/test/rubygems/child_cert_32.pem +0 -19
  318. data/test/rubygems/child_key.pem +0 -27
  319. data/test/rubygems/client.pem +0 -107
  320. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  321. data/test/rubygems/data/gem-private_key.pem +0 -27
  322. data/test/rubygems/data/gem-public_cert.pem +0 -20
  323. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  324. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  325. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  326. data/test/rubygems/encrypted_private_key.pem +0 -30
  327. data/test/rubygems/expired_cert.pem +0 -19
  328. data/test/rubygems/fake_certlib/openssl.rb +0 -9
  329. data/test/rubygems/foo/discover.rb +0 -1
  330. data/test/rubygems/future_cert.pem +0 -19
  331. data/test/rubygems/future_cert_32.pem +0 -19
  332. data/test/rubygems/good_rake.rb +0 -3
  333. data/test/rubygems/grandchild_cert.pem +0 -19
  334. data/test/rubygems/grandchild_cert_32.pem +0 -19
  335. data/test/rubygems/grandchild_key.pem +0 -27
  336. data/test/rubygems/helper.rb +0 -1649
  337. data/test/rubygems/installer_test_case.rb +0 -248
  338. data/test/rubygems/invalid_client.pem +0 -49
  339. data/test/rubygems/invalid_issuer_cert.pem +0 -20
  340. data/test/rubygems/invalid_issuer_cert_32.pem +0 -20
  341. data/test/rubygems/invalid_key.pem +0 -27
  342. data/test/rubygems/invalid_signer_cert.pem +0 -19
  343. data/test/rubygems/invalid_signer_cert_32.pem +0 -19
  344. data/test/rubygems/invalidchild_cert.pem +0 -19
  345. data/test/rubygems/invalidchild_cert_32.pem +0 -19
  346. data/test/rubygems/invalidchild_key.pem +0 -27
  347. data/test/rubygems/multifactor_auth_utilities.rb +0 -111
  348. data/test/rubygems/package/tar_test_case.rb +0 -175
  349. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  350. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  351. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  352. data/test/rubygems/plugin/exception/rubygems_plugin.rb +0 -4
  353. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -5
  354. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +0 -4
  355. data/test/rubygems/private3072_key.pem +0 -40
  356. data/test/rubygems/private_ec_key.pem +0 -9
  357. data/test/rubygems/private_key.pem +0 -27
  358. data/test/rubygems/public3072_cert.pem +0 -25
  359. data/test/rubygems/public_cert.pem +0 -20
  360. data/test/rubygems/public_cert_32.pem +0 -19
  361. data/test/rubygems/public_key.pem +0 -9
  362. data/test/rubygems/rubygems/commands/crash_command.rb +0 -5
  363. data/test/rubygems/rubygems_plugin.rb +0 -24
  364. data/test/rubygems/sff/discover.rb +0 -1
  365. data/test/rubygems/simple_gem.rb +0 -68
  366. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -9
  367. data/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec +0 -0
  368. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +0 -14
  369. data/test/rubygems/ssl_cert.pem +0 -80
  370. data/test/rubygems/ssl_key.pem +0 -27
  371. data/test/rubygems/test_bundled_ca.rb +0 -61
  372. data/test/rubygems/test_config.rb +0 -28
  373. data/test/rubygems/test_deprecate.rb +0 -158
  374. data/test/rubygems/test_exit.rb +0 -17
  375. data/test/rubygems/test_gem.rb +0 -1799
  376. data/test/rubygems/test_gem_available_set.rb +0 -130
  377. data/test/rubygems/test_gem_bundler_version_finder.rb +0 -127
  378. data/test/rubygems/test_gem_command.rb +0 -403
  379. data/test/rubygems/test_gem_command_manager.rb +0 -400
  380. data/test/rubygems/test_gem_commands_build_command.rb +0 -739
  381. data/test/rubygems/test_gem_commands_cert_command.rb +0 -866
  382. data/test/rubygems/test_gem_commands_check_command.rb +0 -68
  383. data/test/rubygems/test_gem_commands_cleanup_command.rb +0 -292
  384. data/test/rubygems/test_gem_commands_contents_command.rb +0 -271
  385. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -228
  386. data/test/rubygems/test_gem_commands_environment_command.rb +0 -169
  387. data/test/rubygems/test_gem_commands_exec_command.rb +0 -857
  388. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -258
  389. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -81
  390. data/test/rubygems/test_gem_commands_help_command.rb +0 -94
  391. data/test/rubygems/test_gem_commands_info_command.rb +0 -70
  392. data/test/rubygems/test_gem_commands_install_command.rb +0 -1573
  393. data/test/rubygems/test_gem_commands_list_command.rb +0 -33
  394. data/test/rubygems/test_gem_commands_lock_command.rb +0 -67
  395. data/test/rubygems/test_gem_commands_mirror.rb +0 -20
  396. data/test/rubygems/test_gem_commands_open_command.rb +0 -101
  397. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -50
  398. data/test/rubygems/test_gem_commands_owner_command.rb +0 -503
  399. data/test/rubygems/test_gem_commands_pristine_command.rb +0 -708
  400. data/test/rubygems/test_gem_commands_push_command.rb +0 -603
  401. data/test/rubygems/test_gem_commands_query_command.rb +0 -858
  402. data/test/rubygems/test_gem_commands_search_command.rb +0 -16
  403. data/test/rubygems/test_gem_commands_server_command.rb +0 -20
  404. data/test/rubygems/test_gem_commands_setup_command.rb +0 -474
  405. data/test/rubygems/test_gem_commands_signin_command.rb +0 -259
  406. data/test/rubygems/test_gem_commands_signout_command.rb +0 -30
  407. data/test/rubygems/test_gem_commands_sources_command.rb +0 -534
  408. data/test/rubygems/test_gem_commands_specification_command.rb +0 -277
  409. data/test/rubygems/test_gem_commands_stale_command.rb +0 -43
  410. data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -542
  411. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -224
  412. data/test/rubygems/test_gem_commands_update_command.rb +0 -836
  413. data/test/rubygems/test_gem_commands_which_command.rb +0 -85
  414. data/test/rubygems/test_gem_commands_yank_command.rb +0 -299
  415. data/test/rubygems/test_gem_config_file.rb +0 -551
  416. data/test/rubygems/test_gem_dependency.rb +0 -398
  417. data/test/rubygems/test_gem_dependency_installer.rb +0 -1190
  418. data/test/rubygems/test_gem_dependency_list.rb +0 -265
  419. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -27
  420. data/test/rubygems/test_gem_doctor.rb +0 -195
  421. data/test/rubygems/test_gem_ext_builder.rb +0 -337
  422. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +0 -1
  423. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +0 -10
  424. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +0 -249
  425. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +0 -10
  426. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +0 -27
  427. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +0 -3
  428. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +0 -1
  429. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +0 -249
  430. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +0 -10
  431. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +0 -10
  432. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +0 -51
  433. data/test/rubygems/test_gem_ext_cargo_builder.rb +0 -167
  434. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +0 -34
  435. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -60
  436. data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -84
  437. data/test/rubygems/test_gem_ext_configure_builder.rb +0 -80
  438. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -229
  439. data/test/rubygems/test_gem_ext_rake_builder.rb +0 -113
  440. data/test/rubygems/test_gem_gem_runner.rb +0 -119
  441. data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -361
  442. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -60
  443. data/test/rubygems/test_gem_indexer.rb +0 -381
  444. data/test/rubygems/test_gem_install_update_options.rb +0 -208
  445. data/test/rubygems/test_gem_installer.rb +0 -2512
  446. data/test/rubygems/test_gem_local_remote_options.rb +0 -133
  447. data/test/rubygems/test_gem_name_tuple.rb +0 -43
  448. data/test/rubygems/test_gem_package.rb +0 -1306
  449. data/test/rubygems/test_gem_package_old.rb +0 -91
  450. data/test/rubygems/test_gem_package_tar_header.rb +0 -226
  451. data/test/rubygems/test_gem_package_tar_reader.rb +0 -150
  452. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -350
  453. data/test/rubygems/test_gem_package_tar_writer.rb +0 -331
  454. data/test/rubygems/test_gem_package_task.rb +0 -118
  455. data/test/rubygems/test_gem_path_support.rb +0 -139
  456. data/test/rubygems/test_gem_platform.rb +0 -497
  457. data/test/rubygems/test_gem_rdoc.rb +0 -137
  458. data/test/rubygems/test_gem_remote_fetcher.rb +0 -1227
  459. data/test/rubygems/test_gem_request.rb +0 -547
  460. data/test/rubygems/test_gem_request_connection_pools.rb +0 -152
  461. data/test/rubygems/test_gem_request_set.rb +0 -672
  462. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -853
  463. data/test/rubygems/test_gem_request_set_lockfile.rb +0 -469
  464. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -544
  465. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -307
  466. data/test/rubygems/test_gem_requirement.rb +0 -505
  467. data/test/rubygems/test_gem_resolver.rb +0 -859
  468. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -43
  469. data/test/rubygems/test_gem_resolver_api_set.rb +0 -210
  470. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -167
  471. data/test/rubygems/test_gem_resolver_best_set.rb +0 -159
  472. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -44
  473. data/test/rubygems/test_gem_resolver_conflict.rb +0 -82
  474. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -83
  475. data/test/rubygems/test_gem_resolver_git_set.rb +0 -188
  476. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -114
  477. data/test/rubygems/test_gem_resolver_index_set.rb +0 -88
  478. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -93
  479. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -47
  480. data/test/rubygems/test_gem_resolver_installer_set.rb +0 -320
  481. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -44
  482. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -62
  483. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -98
  484. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -19
  485. data/test/rubygems/test_gem_resolver_specification.rb +0 -63
  486. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -82
  487. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -82
  488. data/test/rubygems/test_gem_security.rb +0 -341
  489. data/test/rubygems/test_gem_security_policy.rb +0 -535
  490. data/test/rubygems/test_gem_security_signer.rb +0 -218
  491. data/test/rubygems/test_gem_security_trust_dir.rb +0 -99
  492. data/test/rubygems/test_gem_silent_ui.rb +0 -123
  493. data/test/rubygems/test_gem_source.rb +0 -254
  494. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -37
  495. data/test/rubygems/test_gem_source_git.rb +0 -310
  496. data/test/rubygems/test_gem_source_installed.rb +0 -35
  497. data/test/rubygems/test_gem_source_list.rb +0 -119
  498. data/test/rubygems/test_gem_source_local.rb +0 -107
  499. data/test/rubygems/test_gem_source_lock.rb +0 -113
  500. data/test/rubygems/test_gem_source_specific_file.rb +0 -76
  501. data/test/rubygems/test_gem_source_subpath_problem.rb +0 -50
  502. data/test/rubygems/test_gem_source_vendor.rb +0 -30
  503. data/test/rubygems/test_gem_spec_fetcher.rb +0 -338
  504. data/test/rubygems/test_gem_specification.rb +0 -3856
  505. data/test/rubygems/test_gem_stream_ui.rb +0 -255
  506. data/test/rubygems/test_gem_stub_specification.rb +0 -278
  507. data/test/rubygems/test_gem_text.rb +0 -103
  508. data/test/rubygems/test_gem_uninstaller.rb +0 -675
  509. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -31
  510. data/test/rubygems/test_gem_update_suggestion.rb +0 -209
  511. data/test/rubygems/test_gem_uri.rb +0 -41
  512. data/test/rubygems/test_gem_uri_formatter.rb +0 -27
  513. data/test/rubygems/test_gem_util.rb +0 -91
  514. data/test/rubygems/test_gem_validator.rb +0 -42
  515. data/test/rubygems/test_gem_version.rb +0 -305
  516. data/test/rubygems/test_gem_version_option.rb +0 -165
  517. data/test/rubygems/test_kernel.rb +0 -124
  518. data/test/rubygems/test_project_sanity.rb +0 -49
  519. data/test/rubygems/test_remote_fetch_error.rb +0 -20
  520. data/test/rubygems/test_require.rb +0 -732
  521. data/test/rubygems/test_rubygems.rb +0 -76
  522. data/test/rubygems/test_webauthn_listener.rb +0 -143
  523. data/test/rubygems/test_webauthn_listener_response.rb +0 -93
  524. data/test/rubygems/test_webauthn_poller.rb +0 -124
  525. data/test/rubygems/utilities.rb +0 -436
  526. data/test/rubygems/wrong_key_cert.pem +0 -19
  527. data/test/rubygems/wrong_key_cert_32.pem +0 -19
  528. data/test/test_changelog_generator.rb +0 -17
@@ -11,10 +11,10 @@ class Gem::Commands::PristineCommand < Gem::Command
11
11
  def initialize
12
12
  super "pristine",
13
13
  "Restores installed gems to pristine condition from files located in the gem cache",
14
- :version => Gem::Requirement.default,
15
- :extensions => true,
16
- :extensions_set => false,
17
- :all => false
14
+ version: Gem::Requirement.default,
15
+ extensions: true,
16
+ extensions_set: false,
17
+ all: false
18
18
 
19
19
  add_option("--all",
20
20
  "Restore all installed gems to pristine",
@@ -114,16 +114,14 @@ extensions will be restored.
114
114
  spec.extensions && !spec.extensions.empty?
115
115
  end
116
116
  elsif options[:only_missing_extensions]
117
- Gem::Specification.select do |spec|
118
- spec.missing_extensions?
119
- end
117
+ Gem::Specification.select(&:missing_extensions?)
120
118
  else
121
119
  get_all_gem_names.sort.map do |gem_name|
122
120
  Gem::Specification.find_all_by_name(gem_name, options[:version]).reverse
123
121
  end.flatten
124
122
  end
125
123
 
126
- specs = specs.select {|spec| RUBY_ENGINE == spec.platform || Gem::Platform.local === spec.platform || spec.platform == Gem::Platform::RUBY }
124
+ specs = specs.select {|spec| spec.platform == RUBY_ENGINE || Gem::Platform.local === spec.platform || spec.platform == Gem::Platform::RUBY }
127
125
 
128
126
  if specs.to_a.empty?
129
127
  raise Gem::Exception,
@@ -138,7 +136,7 @@ extensions will be restored.
138
136
  next
139
137
  end
140
138
 
141
- if options.has_key? :skip
139
+ if options.key? :skip
142
140
  if options[:skip].include? spec.name
143
141
  say "Skipped #{spec.full_name}, it was given through options"
144
142
  next
@@ -181,12 +179,12 @@ extensions will be restored.
181
179
  install_dir = options[:install_dir] if options[:install_dir]
182
180
 
183
181
  installer_options = {
184
- :wrappers => true,
185
- :force => true,
186
- :install_dir => install_dir || spec.base_dir,
187
- :env_shebang => env_shebang,
188
- :build_args => spec.build_args,
189
- :bin_dir => bin_dir,
182
+ wrappers: true,
183
+ force: true,
184
+ install_dir: install_dir || spec.base_dir,
185
+ env_shebang: env_shebang,
186
+ build_args: spec.build_args,
187
+ bin_dir: bin_dir,
190
188
  }
191
189
 
192
190
  if options[:only_executables]
@@ -30,7 +30,7 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
30
30
  end
31
31
 
32
32
  def initialize
33
- super "push", "Push a gem up to the gem server", :host => self.host
33
+ super "push", "Push a gem up to the gem server", host: host
34
34
 
35
35
  @user_defined_host = false
36
36
 
@@ -75,7 +75,7 @@ The push command will use ~/.gem/credentials to authenticate to a server, but yo
75
75
  @host ||= push_host
76
76
 
77
77
  # Always include @host, even if it's nil
78
- args += [ @host, push_host ]
78
+ args += [@host, push_host]
79
79
 
80
80
  say "Pushing gem to #{@host || Gem.host}..."
81
81
 
@@ -10,7 +10,7 @@ class Gem::Commands::QueryCommand < Gem::Command
10
10
 
11
11
  include Gem::QueryUtils
12
12
 
13
- alias warning_without_suggested_alternatives deprecation_warning
13
+ alias_method :warning_without_suggested_alternatives, :deprecation_warning
14
14
  def deprecation_warning
15
15
  warning_without_suggested_alternatives
16
16
 
@@ -18,11 +18,10 @@ class Gem::Commands::QueryCommand < Gem::Command
18
18
  alert_warning message unless Gem::Deprecate.skip
19
19
  end
20
20
 
21
- def initialize(name = "query",
22
- summary = "Query gem information in local or remote repositories")
21
+ def initialize(name = "query", summary = "Query gem information in local or remote repositories")
23
22
  super name, summary,
24
- :domain => :local, :details => false, :versions => true,
25
- :installed => nil, :version => Gem::Requirement.default
23
+ domain: :local, details: false, versions: true,
24
+ installed: nil, version: Gem::Requirement.default
26
25
 
27
26
  add_option("-n", "--name-matches REGEXP",
28
27
  "Name of gem(s) to query on matches the",
@@ -10,8 +10,8 @@ class Gem::Commands::RdocCommand < Gem::Command
10
10
 
11
11
  def initialize
12
12
  super "rdoc", "Generates RDoc for pre-installed gems",
13
- :version => Gem::Requirement.default,
14
- :include_rdoc => false, :include_ri => true, :overwrite => false
13
+ version: Gem::Requirement.default,
14
+ include_rdoc: false, include_ri: true, overwrite: false
15
15
 
16
16
  add_option("--all",
17
17
  "Generate RDoc/RI documentation for all",
@@ -8,8 +8,8 @@ class Gem::Commands::SearchCommand < Gem::Command
8
8
 
9
9
  def initialize
10
10
  super "search", "Display remote gems whose name matches REGEXP",
11
- :domain => :remote, :details => false, :versions => true,
12
- :installed => nil, :version => Gem::Requirement.default
11
+ domain: :remote, details: false, versions: true,
12
+ installed: nil, version: Gem::Requirement.default
13
13
 
14
14
  add_query_options
15
15
  end
@@ -7,19 +7,19 @@ require_relative "../command"
7
7
  # RubyGems checkout or tarball.
8
8
 
9
9
  class Gem::Commands::SetupCommand < Gem::Command
10
- HISTORY_HEADER = /^#\s*[\d.a-zA-Z]+\s*\/\s*\d{4}-\d{2}-\d{2}\s*$/.freeze
11
- VERSION_MATCHER = /^#\s*([\d.a-zA-Z]+)\s*\/\s*\d{4}-\d{2}-\d{2}\s*$/.freeze
10
+ HISTORY_HEADER = %r{^#\s*[\d.a-zA-Z]+\s*/\s*\d{4}-\d{2}-\d{2}\s*$}
11
+ VERSION_MATCHER = %r{^#\s*([\d.a-zA-Z]+)\s*/\s*\d{4}-\d{2}-\d{2}\s*$}
12
12
 
13
13
  ENV_PATHS = %w[/usr/bin/env /bin/env].freeze
14
14
 
15
15
  def initialize
16
16
  super "setup", "Install RubyGems",
17
- :format_executable => false, :document => %w[ri],
18
- :force => true,
19
- :site_or_vendor => "sitelibdir",
20
- :destdir => "", :prefix => "", :previous_version => "",
21
- :regenerate_binstubs => true,
22
- :regenerate_plugins => true
17
+ format_executable: false, document: %w[ri],
18
+ force: true,
19
+ site_or_vendor: "sitelibdir",
20
+ destdir: "", prefix: "", previous_version: "",
21
+ regenerate_binstubs: true,
22
+ regenerate_plugins: true
23
23
 
24
24
  add_option "--previous-version=VERSION",
25
25
  "Previous version of RubyGems",
@@ -55,9 +55,9 @@ class Gem::Commands::SetupCommand < Gem::Command
55
55
  "List the documentation types you wish to",
56
56
  "generate. For example: rdoc,ri" do |value, options|
57
57
  options[:document] = case value
58
- when nil then %w[rdoc ri]
59
- when false then []
60
- else value
58
+ when nil then %w[rdoc ri]
59
+ when false then []
60
+ else value
61
61
  end
62
62
  end
63
63
 
@@ -265,7 +265,7 @@ By default, this RubyGems will install gem as:
265
265
  fp.puts bin.join
266
266
  end
267
267
 
268
- install bin_tmp_file, dest_file, :mode => prog_mode
268
+ install bin_tmp_file, dest_file, mode: prog_mode
269
269
  bin_file_names << dest_file
270
270
  ensure
271
271
  rm bin_tmp_file
@@ -287,7 +287,7 @@ By default, this RubyGems will install gem as:
287
287
  TEXT
288
288
  end
289
289
 
290
- install bin_cmd_file, "#{dest_file}.bat", :mode => prog_mode
290
+ install bin_cmd_file, "#{dest_file}.bat", mode: prog_mode
291
291
  ensure
292
292
  rm bin_cmd_file
293
293
  end
@@ -369,18 +369,21 @@ By default, this RubyGems will install gem as:
369
369
  File.dirname(loaded_from)
370
370
  else
371
371
  target_specs_dir = File.join(default_dir, "specifications", "default")
372
- mkdir_p target_specs_dir, :mode => 0o755
372
+ mkdir_p target_specs_dir, mode: 0o755
373
373
  target_specs_dir
374
374
  end
375
375
 
376
- bundler_spec = Dir.chdir("bundler") { Gem::Specification.load("bundler.gemspec") }
377
- default_spec_path = File.join(specs_dir, "#{bundler_spec.full_name}.gemspec")
378
- Gem.write_binary(default_spec_path, bundler_spec.to_ruby)
376
+ new_bundler_spec = Dir.chdir("bundler") { Gem::Specification.load("bundler.gemspec") }
377
+ full_name = new_bundler_spec.full_name
378
+ gemspec_path = "#{full_name}.gemspec"
379
+
380
+ default_spec_path = File.join(specs_dir, gemspec_path)
381
+ Gem.write_binary(default_spec_path, new_bundler_spec.to_ruby)
379
382
 
380
383
  bundler_spec = Gem::Specification.load(default_spec_path)
381
384
 
382
385
  # Remove gemspec that was same version of vendored bundler.
383
- normal_gemspec = File.join(default_dir, "specifications", "bundler-#{bundler_spec.version}.gemspec")
386
+ normal_gemspec = File.join(default_dir, "specifications", gemspec_path)
384
387
  if File.file? normal_gemspec
385
388
  File.delete normal_gemspec
386
389
  end
@@ -388,20 +391,14 @@ By default, this RubyGems will install gem as:
388
391
  # Remove gem files that were same version of vendored bundler.
389
392
  if File.directory? bundler_spec.gems_dir
390
393
  Dir.entries(bundler_spec.gems_dir).
391
- select {|default_gem| File.basename(default_gem) == "bundler-#{bundler_spec.version}" }.
394
+ select {|default_gem| File.basename(default_gem) == full_name }.
392
395
  each {|default_gem| rm_r File.join(bundler_spec.gems_dir, default_gem) }
393
396
  end
394
397
 
395
- bundler_bin_dir = bundler_spec.bin_dir
396
- mkdir_p bundler_bin_dir, :mode => 0o755
397
- bundler_spec.executables.each do |e|
398
- cp File.join("bundler", bundler_spec.bindir, e), File.join(bundler_bin_dir, e)
399
- end
400
-
401
398
  require_relative "../installer"
402
399
 
403
400
  Dir.chdir("bundler") do
404
- built_gem = Gem::Package.build(bundler_spec)
401
+ built_gem = Gem::Package.build(new_bundler_spec)
405
402
  begin
406
403
  Gem::Installer.at(
407
404
  built_gem,
@@ -418,9 +415,9 @@ By default, this RubyGems will install gem as:
418
415
  end
419
416
  end
420
417
 
421
- bundler_spec.executables.each {|executable| bin_file_names << target_bin_path(bin_dir, executable) }
418
+ new_bundler_spec.executables.each {|executable| bin_file_names << target_bin_path(bin_dir, executable) }
422
419
 
423
- say "Bundler #{bundler_spec.version} installed"
420
+ say "Bundler #{new_bundler_spec.version} installed"
424
421
  end
425
422
 
426
423
  def make_destination_dirs
@@ -430,8 +427,8 @@ By default, this RubyGems will install gem as:
430
427
  lib_dir, bin_dir = generate_default_dirs
431
428
  end
432
429
 
433
- mkdir_p lib_dir, :mode => 0o755
434
- mkdir_p bin_dir, :mode => 0o755
430
+ mkdir_p lib_dir, mode: 0o755
431
+ mkdir_p bin_dir, mode: 0o755
435
432
 
436
433
  [lib_dir, bin_dir]
437
434
  end
@@ -576,8 +573,8 @@ abort "#{deprecation_message}"
576
573
  def uninstall_old_gemcutter
577
574
  require_relative "../uninstaller"
578
575
 
579
- ui = Gem::Uninstaller.new("gemcutter", :all => true, :ignore => true,
580
- :version => "< 0.4")
576
+ ui = Gem::Uninstaller.new("gemcutter", all: true, ignore: true,
577
+ version: "< 0.4")
581
578
  ui.uninstall
582
579
  rescue Gem::InstallError
583
580
  end
@@ -639,10 +636,10 @@ abort "#{deprecation_message}"
639
636
  dest_file = File.join dest_dir, file
640
637
  dest_dir = File.dirname dest_file
641
638
  unless File.directory? dest_dir
642
- mkdir_p dest_dir, :mode => 0o755
639
+ mkdir_p dest_dir, mode: 0o755
643
640
  end
644
641
 
645
- install file, dest_file, :mode => options[:data_mode] || 0o644
642
+ install file, dest_file, mode: options[:data_mode] || 0o644
646
643
  end
647
644
 
648
645
  def remove_file_list(files, dir)
@@ -71,7 +71,7 @@ class Gem::Commands::SourcesCommand < Gem::Command
71
71
  def check_typo_squatting(source)
72
72
  if source.typo_squatting?("rubygems.org")
73
73
  question = <<-QUESTION.chomp
74
- #{source.uri.to_s} is too similar to https://rubygems.org
74
+ #{source.uri} is too similar to https://rubygems.org
75
75
 
76
76
  Do you want to add this source?
77
77
  QUESTION
@@ -83,8 +83,8 @@ Do you want to add this source?
83
83
  def check_rubygems_https(source_uri) # :nodoc:
84
84
  uri = URI source_uri
85
85
 
86
- if uri.scheme && uri.scheme.downcase == "http" &&
87
- uri.host.downcase == "rubygems.org"
86
+ if uri.scheme && uri.scheme.casecmp("http").zero? &&
87
+ uri.host.casecmp("rubygems.org").zero?
88
88
  question = <<-QUESTION.chomp
89
89
  https://rubygems.org is recommended for security over #{uri}
90
90
 
@@ -99,16 +99,16 @@ Do you want to add this insecure source?
99
99
  path = Gem.spec_cache_dir
100
100
  FileUtils.rm_rf path
101
101
 
102
- unless File.exist? path
103
- say "*** Removed specs cache ***"
104
- else
105
- unless File.writable? path
106
- say "*** Unable to remove source cache (write protected) ***"
107
- else
102
+ if File.exist? path
103
+ if File.writable? path
108
104
  say "*** Unable to remove source cache ***"
105
+ else
106
+ say "*** Unable to remove source cache (write protected) ***"
109
107
  end
110
108
 
111
109
  terminate_interaction 1
110
+ else
111
+ say "*** Removed specs cache ***"
112
112
  end
113
113
  end
114
114
 
@@ -194,13 +194,13 @@ To remove a source use the --remove argument:
194
194
  end
195
195
 
196
196
  def remove_source(source_uri) # :nodoc:
197
- unless Gem.sources.include? source_uri
198
- say "source #{source_uri} not present in cache"
199
- else
197
+ if Gem.sources.include? source_uri
200
198
  Gem.sources.delete source_uri
201
199
  Gem.configuration.write
202
200
 
203
201
  say "#{source_uri} removed from sources"
202
+ else
203
+ say "source #{source_uri} not present in cache"
204
204
  end
205
205
  end
206
206
 
@@ -13,27 +13,27 @@ class Gem::Commands::SpecificationCommand < Gem::Command
13
13
  Gem.load_yaml
14
14
 
15
15
  super "specification", "Display gem specification (in yaml)",
16
- :domain => :local, :version => Gem::Requirement.default,
17
- :format => :yaml
16
+ domain: :local, version: Gem::Requirement.default,
17
+ format: :yaml
18
18
 
19
19
  add_version_option("examine")
20
20
  add_platform_option
21
21
  add_prerelease_option
22
22
 
23
23
  add_option("--all", "Output specifications for all versions of",
24
- "the gem") do |value, options|
24
+ "the gem") do |_value, options|
25
25
  options[:all] = true
26
26
  end
27
27
 
28
- add_option("--ruby", "Output ruby format") do |value, options|
28
+ add_option("--ruby", "Output ruby format") do |_value, options|
29
29
  options[:format] = :ruby
30
30
  end
31
31
 
32
- add_option("--yaml", "Output YAML format") do |value, options|
32
+ add_option("--yaml", "Output YAML format") do |_value, options|
33
33
  options[:format] = :yaml
34
34
  end
35
35
 
36
- add_option("--marshal", "Output Marshal format") do |value, options|
36
+ add_option("--marshal", "Output Marshal format") do |_value, options|
37
37
  options[:format] = :marshal
38
38
  end
39
39
 
@@ -138,16 +138,16 @@ Specific fields in the specification can be extracted in YAML format:
138
138
  end
139
139
 
140
140
  unless options[:all]
141
- specs = [specs.max_by {|s| s.version }]
141
+ specs = [specs.max_by(&:version)]
142
142
  end
143
143
 
144
144
  specs.each do |s|
145
145
  s = s.send field if field
146
146
 
147
147
  say case options[:format]
148
- when :ruby then s.to_ruby
149
- when :marshal then Marshal.dump s
150
- else s.to_yaml
148
+ when :ruby then s.to_ruby
149
+ when :marshal then Marshal.dump s
150
+ else s.to_yaml
151
151
  end
152
152
 
153
153
  say "\n"
@@ -18,7 +18,7 @@ longer using.
18
18
  end
19
19
 
20
20
  def usage # :nodoc:
21
- "#{program_name}"
21
+ program_name.to_s
22
22
  end
23
23
 
24
24
  def execute
@@ -15,12 +15,11 @@ class Gem::Commands::UninstallCommand < Gem::Command
15
15
 
16
16
  def initialize
17
17
  super "uninstall", "Uninstall gems from the local repository",
18
- :version => Gem::Requirement.default, :user_install => true,
19
- :check_dev => false, :vendor => false
18
+ version: Gem::Requirement.default, user_install: true,
19
+ check_dev: false, vendor: false
20
20
 
21
21
  add_option("-a", "--[no-]all",
22
- "Uninstall all matching versions"
23
- ) do |value, options|
22
+ "Uninstall all matching versions") do |value, options|
24
23
  options[:all] = value
25
24
  end
26
25
 
@@ -80,7 +79,7 @@ class Gem::Commands::UninstallCommand < Gem::Command
80
79
 
81
80
  add_option("--vendor",
82
81
  "Uninstall gem from the vendor directory.",
83
- "Only for use by gem repackagers.") do |value, options|
82
+ "Only for use by gem repackagers.") do |_value, options|
84
83
  unless Gem.vendor_dir
85
84
  raise Gem::OptionParser::InvalidOption.new "your platform is not supported"
86
85
  end
@@ -96,7 +95,7 @@ class Gem::Commands::UninstallCommand < Gem::Command
96
95
  end
97
96
 
98
97
  def defaults_str # :nodoc:
99
- "--version '#{Gem::Requirement.default}' --no-force " +
98
+ "--version '#{Gem::Requirement.default}' --no-force " \
100
99
  "--user-install"
101
100
  end
102
101
 
@@ -139,7 +138,7 @@ that is a dependency of an existing gem. You can use the
139
138
  end
140
139
 
141
140
  def uninstall_all
142
- specs = Gem::Specification.reject {|spec| spec.default_gem? }
141
+ specs = Gem::Specification.reject(&:default_gem?)
143
142
 
144
143
  specs.each do |spec|
145
144
  options[:version] = spec.version
@@ -184,12 +183,12 @@ that is a dependency of an existing gem. You can use the
184
183
  uninstall(gem_name)
185
184
  rescue Gem::GemNotInHomeException => e
186
185
  spec = e.spec
187
- alert("In order to remove #{spec.name}, please execute:\n" +
186
+ alert("In order to remove #{spec.name}, please execute:\n" \
188
187
  "\tgem uninstall #{spec.name} --install-dir=#{spec.installation_path}")
189
188
  rescue Gem::UninstallError => e
190
189
  spec = e.spec
191
- alert_error("Error: unable to successfully uninstall '#{spec.name}' which is " +
192
- "located at '#{spec.full_gem_path}'. This is most likely because" +
190
+ alert_error("Error: unable to successfully uninstall '#{spec.name}' which is " \
191
+ "located at '#{spec.full_gem_path}'. This is most likely because" \
193
192
  "the current user does not have the appropriate permissions")
194
193
  terminate_interaction 1
195
194
  end
@@ -21,15 +21,15 @@ class Gem::Commands::UnpackCommand < Gem::Command
21
21
  require "fileutils"
22
22
 
23
23
  super "unpack", "Unpack an installed gem to the current directory",
24
- :version => Gem::Requirement.default,
25
- :target => Dir.pwd
24
+ version: Gem::Requirement.default,
25
+ target: Dir.pwd
26
26
 
27
27
  add_option("--target=DIR",
28
28
  "target directory for unpacking") do |value, options|
29
29
  options[:target] = value
30
30
  end
31
31
 
32
- add_option("--spec", "unpack the gem specification") do |value, options|
32
+ add_option("--spec", "unpack the gem specification") do |_value, options|
33
33
  options[:spec] = true
34
34
  end
35
35
 
@@ -155,7 +155,7 @@ command help for an example.
155
155
 
156
156
  specs = dependency.matching_specs
157
157
 
158
- selected = specs.max_by {|s| s.version }
158
+ selected = specs.max_by(&:version)
159
159
 
160
160
  return Gem::RemoteFetcher.fetcher.download_to_cache(dependency) unless
161
161
  selected
@@ -21,7 +21,7 @@ class Gem::Commands::UpdateCommand < Gem::Command
21
21
 
22
22
  def initialize
23
23
  options = {
24
- :force => false,
24
+ force: false,
25
25
  }
26
26
 
27
27
  options.merge!(install_update_options)
@@ -37,10 +37,10 @@ class Gem::Commands::UpdateCommand < Gem::Command
37
37
  end
38
38
 
39
39
  add_option("--system [VERSION]", Gem::Version,
40
- "Update the RubyGems system software") do |value, options|
41
- value = true unless value
40
+ "Update the RubyGems system software") do |value, opts|
41
+ value ||= true
42
42
 
43
- options[:system] = value
43
+ opts[:system] = value
44
44
  end
45
45
 
46
46
  add_local_remote_options
@@ -120,7 +120,7 @@ command to remove old versions.
120
120
  updated = update_gems gems_to_update
121
121
 
122
122
  installed_names = highest_installed_gems.keys
123
- updated_names = updated.map {|spec| spec.name }
123
+ updated_names = updated.map(&:name)
124
124
  not_updated_names = options[:args].uniq - updated_names
125
125
  not_installed_names = not_updated_names - installed_names
126
126
  up_to_date_names = not_updated_names - not_installed_names
@@ -186,7 +186,9 @@ command to remove old versions.
186
186
  system Gem.ruby, "--disable-gems", "setup.rb", *args
187
187
  end
188
188
 
189
- say "RubyGems system software updated" if installed unless options[:silent]
189
+ unless options[:silent]
190
+ say "RubyGems system software updated" if installed
191
+ end
190
192
  end
191
193
  end
192
194
 
@@ -301,7 +303,7 @@ command to remove old versions.
301
303
  def which_to_update(highest_installed_gems, gem_names)
302
304
  result = []
303
305
 
304
- highest_installed_gems.each do |l_name, l_spec|
306
+ highest_installed_gems.each do |_l_name, l_spec|
305
307
  next if !gem_names.empty? &&
306
308
  gem_names.none? {|name| name == l_spec.name }
307
309
 
@@ -326,12 +328,8 @@ command to remove old versions.
326
328
  @oldest_supported_version ||=
327
329
  if Gem.ruby_version > Gem::Version.new("3.1.a")
328
330
  Gem::Version.new("3.3.3")
329
- elsif Gem.ruby_version > Gem::Version.new("3.0.a")
330
- Gem::Version.new("3.2.3")
331
- elsif Gem.ruby_version > Gem::Version.new("2.7.a")
332
- Gem::Version.new("3.1.2")
333
331
  else
334
- Gem::Version.new("3.0.1")
332
+ Gem::Version.new("3.2.3")
335
333
  end
336
334
  end
337
335
  end
@@ -5,7 +5,7 @@ require_relative "../command"
5
5
  class Gem::Commands::WhichCommand < Gem::Command
6
6
  def initialize
7
7
  super "which", "Find the location of a library file you can require",
8
- :search_gems_first => false, :show_all => false
8
+ search_gems_first: false, show_all: false
9
9
 
10
10
  add_option "-a", "--[no-]all", "show all matching files" do |show_all, options|
11
11
  options[:show_all] = show_all
@@ -62,7 +62,7 @@ data you will need to change them immediately and yank your gem.
62
62
  end
63
63
 
64
64
  def yank_gem(version, platform)
65
- say "Yanking gem from #{self.host}..."
65
+ say "Yanking gem from #{host}..."
66
66
  args = [:delete, version, platform, "api/v1/gems/yank"]
67
67
  response = yank_api_request(*args)
68
68
 
@@ -26,17 +26,16 @@ module Gem
26
26
  rubylibdir
27
27
  ].freeze
28
28
 
29
- unless defined?(ConfigMap)
29
+ if defined?(ConfigMap)
30
+ RbConfigPriorities.each do |key|
31
+ ConfigMap[key.to_sym] = RbConfig::CONFIG[key]
32
+ end
33
+ else
30
34
  ##
31
35
  # Configuration settings from ::RbConfig
32
36
  ConfigMap = Hash.new do |cm, key|
33
37
  cm[key] = RbConfig::CONFIG[key.to_s]
34
38
  end
35
39
  deprecate_constant(:ConfigMap)
36
- else
37
- RbConfigPriorities.each do |key|
38
- ConfigMap[key.to_sym] = RbConfig::CONFIG[key]
39
- end
40
40
  end
41
-
42
41
  end
@@ -188,10 +188,10 @@ class Gem::ConfigFile
188
188
  operating_system_config = Marshal.load Marshal.dump(OPERATING_SYSTEM_DEFAULTS)
189
189
  platform_config = Marshal.load Marshal.dump(PLATFORM_DEFAULTS)
190
190
  system_config = load_file SYSTEM_WIDE_CONFIG_FILE
191
- user_config = load_file config_file_name.dup.tap(&Gem::UNTAINT)
191
+ user_config = load_file config_file_name
192
192
 
193
- environment_config = (ENV["GEMRC"] || "")
194
- .split(File::PATH_SEPARATOR).inject({}) do |result, file|
193
+ environment_config = (ENV["GEMRC"] || "").
194
+ split(File::PATH_SEPARATOR).inject({}) do |result, file|
195
195
  result.merge load_file file
196
196
  end
197
197
 
@@ -473,7 +473,7 @@ if you believe they were disclosed to a third party.
473
473
  yaml_hash[:ssl_client_cert] =
474
474
  @hash[:ssl_client_cert] if @hash.key? :ssl_client_cert
475
475
 
476
- keys = yaml_hash.keys.map {|key| key.to_s }
476
+ keys = yaml_hash.keys.map(&:to_s)
477
477
  keys << "debug"
478
478
  re = Regexp.union(*keys)
479
479
 
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kernel
4
-
5
4
  ##
6
5
  # Use Kernel#gem to activate a specific version of +gem_name+.
7
6
  #
@@ -66,5 +65,4 @@ module Kernel
66
65
  end
67
66
 
68
67
  private :gem
69
-
70
68
  end