rubygems-update 3.3.18 → 3.3.22

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 (388) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/Manifest.txt +11 -0
  4. data/bin/gem +2 -2
  5. data/bin/update_rubygems +4 -4
  6. data/bundler/CHANGELOG.md +100 -0
  7. data/bundler/UPGRADING.md +11 -4
  8. data/bundler/bundler.gemspec +6 -8
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/cli/common.rb +1 -0
  11. data/bundler/lib/bundler/cli/install.rb +5 -2
  12. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  13. data/bundler/lib/bundler/cli/platform.rb +1 -1
  14. data/bundler/lib/bundler/cli.rb +7 -4
  15. data/bundler/lib/bundler/current_ruby.rb +14 -5
  16. data/bundler/lib/bundler/definition.rb +102 -31
  17. data/bundler/lib/bundler/dependency.rb +18 -85
  18. data/bundler/lib/bundler/dsl.rb +2 -2
  19. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  20. data/bundler/lib/bundler/feature_flag.rb +0 -1
  21. data/bundler/lib/bundler/fetcher.rb +6 -6
  22. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  23. data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
  24. data/bundler/lib/bundler/index.rb +10 -12
  25. data/bundler/lib/bundler/injector.rb +2 -1
  26. data/bundler/lib/bundler/inline.rb +1 -1
  27. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  28. data/bundler/lib/bundler/installer.rb +14 -12
  29. data/bundler/lib/bundler/lazy_specification.rb +30 -23
  30. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  31. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  32. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  33. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  35. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  36. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-config.1 +25 -6
  39. data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
  40. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  41. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  42. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  44. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
  45. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  47. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  48. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  51. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  52. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  53. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  54. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  59. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  60. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  61. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  62. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  67. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  68. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  69. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  70. data/bundler/lib/bundler/man/bundle.1 +15 -10
  71. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  72. data/bundler/lib/bundler/man/gemfile.5 +23 -47
  73. data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
  74. data/bundler/lib/bundler/man/index.txt +4 -0
  75. data/bundler/lib/bundler/match_metadata.rb +13 -0
  76. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  77. data/bundler/lib/bundler/plugin.rb +2 -0
  78. data/bundler/lib/bundler/remote_specification.rb +6 -11
  79. data/bundler/lib/bundler/resolver/base.rb +50 -0
  80. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  81. data/bundler/lib/bundler/resolver.rb +95 -90
  82. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  83. data/bundler/lib/bundler/ruby_version.rb +5 -5
  84. data/bundler/lib/bundler/rubygems_ext.rb +52 -1
  85. data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
  86. data/bundler/lib/bundler/settings.rb +1 -1
  87. data/bundler/lib/bundler/source/metadata.rb +1 -1
  88. data/bundler/lib/bundler/source_list.rb +4 -0
  89. data/bundler/lib/bundler/spec_set.rb +48 -33
  90. data/bundler/lib/bundler/version.rb +1 -1
  91. data/bundler/lib/bundler.rb +3 -3
  92. data/lib/rubygems/available_set.rb +3 -3
  93. data/lib/rubygems/basic_specification.rb +4 -4
  94. data/lib/rubygems/command.rb +25 -25
  95. data/lib/rubygems/command_manager.rb +9 -9
  96. data/lib/rubygems/commands/build_command.rb +8 -8
  97. data/lib/rubygems/commands/cert_command.rb +33 -33
  98. data/lib/rubygems/commands/check_command.rb +20 -20
  99. data/lib/rubygems/commands/cleanup_command.rb +17 -17
  100. data/lib/rubygems/commands/contents_command.rb +13 -13
  101. data/lib/rubygems/commands/dependency_command.rb +16 -16
  102. data/lib/rubygems/commands/environment_command.rb +5 -5
  103. data/lib/rubygems/commands/fetch_command.rb +8 -8
  104. data/lib/rubygems/commands/generate_index_command.rb +17 -17
  105. data/lib/rubygems/commands/help_command.rb +3 -3
  106. data/lib/rubygems/commands/info_command.rb +3 -3
  107. data/lib/rubygems/commands/install_command.rb +20 -20
  108. data/lib/rubygems/commands/list_command.rb +3 -3
  109. data/lib/rubygems/commands/lock_command.rb +4 -4
  110. data/lib/rubygems/commands/mirror_command.rb +3 -3
  111. data/lib/rubygems/commands/open_command.rb +9 -9
  112. data/lib/rubygems/commands/outdated_command.rb +5 -5
  113. data/lib/rubygems/commands/owner_command.rb +11 -11
  114. data/lib/rubygems/commands/pristine_command.rb +36 -36
  115. data/lib/rubygems/commands/push_command.rb +8 -8
  116. data/lib/rubygems/commands/query_command.rb +8 -8
  117. data/lib/rubygems/commands/rdoc_command.rb +17 -17
  118. data/lib/rubygems/commands/search_command.rb +3 -3
  119. data/lib/rubygems/commands/server_command.rb +3 -3
  120. data/lib/rubygems/commands/setup_command.rb +96 -106
  121. data/lib/rubygems/commands/signin_command.rb +9 -9
  122. data/lib/rubygems/commands/signout_command.rb +7 -7
  123. data/lib/rubygems/commands/sources_command.rb +21 -21
  124. data/lib/rubygems/commands/specification_command.rb +13 -13
  125. data/lib/rubygems/commands/stale_command.rb +2 -2
  126. data/lib/rubygems/commands/uninstall_command.rb +40 -40
  127. data/lib/rubygems/commands/unpack_command.rb +12 -12
  128. data/lib/rubygems/commands/update_command.rb +40 -56
  129. data/lib/rubygems/commands/which_command.rb +7 -7
  130. data/lib/rubygems/commands/yank_command.rb +11 -11
  131. data/lib/rubygems/config_file.rb +21 -21
  132. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  133. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  134. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  135. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  136. data/lib/rubygems/defaults.rb +16 -16
  137. data/lib/rubygems/dependency.rb +9 -9
  138. data/lib/rubygems/dependency_installer.rb +13 -13
  139. data/lib/rubygems/dependency_list.rb +6 -6
  140. data/lib/rubygems/doctor.rb +18 -18
  141. data/lib/rubygems/errors.rb +2 -2
  142. data/lib/rubygems/exceptions.rb +5 -5
  143. data/lib/rubygems/ext/build_error.rb +1 -1
  144. data/lib/rubygems/ext/builder.rb +16 -16
  145. data/lib/rubygems/ext/cargo_builder.rb +7 -7
  146. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  147. data/lib/rubygems/ext/configure_builder.rb +1 -1
  148. data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
  149. data/lib/rubygems/ext/rake_builder.rb +3 -3
  150. data/lib/rubygems/ext.rb +7 -7
  151. data/lib/rubygems/gem_runner.rb +5 -5
  152. data/lib/rubygems/gemcutter_utilities.rb +31 -28
  153. data/lib/rubygems/indexer.rb +27 -27
  154. data/lib/rubygems/install_default_message.rb +2 -2
  155. data/lib/rubygems/install_message.rb +2 -2
  156. data/lib/rubygems/install_update_options.rb +55 -55
  157. data/lib/rubygems/installer.rb +32 -40
  158. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  159. data/lib/rubygems/local_remote_options.rb +18 -20
  160. data/lib/rubygems/mock_gem_ui.rb +2 -2
  161. data/lib/rubygems/name_tuple.rb +4 -4
  162. data/lib/rubygems/optparse.rb +1 -1
  163. data/lib/rubygems/package/file_source.rb +2 -2
  164. data/lib/rubygems/package/old.rb +8 -8
  165. data/lib/rubygems/package/tar_header.rb +50 -50
  166. data/lib/rubygems/package/tar_reader/entry.rb +2 -2
  167. data/lib/rubygems/package/tar_reader.rb +1 -1
  168. data/lib/rubygems/package/tar_writer.rb +7 -7
  169. data/lib/rubygems/package.rb +54 -43
  170. data/lib/rubygems/package_task.rb +4 -4
  171. data/lib/rubygems/platform.rb +66 -55
  172. data/lib/rubygems/psych_tree.rb +1 -1
  173. data/lib/rubygems/query_utils.rb +35 -35
  174. data/lib/rubygems/rdoc.rb +2 -2
  175. data/lib/rubygems/remote_fetcher.rb +22 -22
  176. data/lib/rubygems/request/connection_pools.rb +4 -4
  177. data/lib/rubygems/request/http_pool.rb +1 -1
  178. data/lib/rubygems/request.rb +22 -22
  179. data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
  180. data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
  181. data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
  182. data/lib/rubygems/request_set/lockfile.rb +5 -5
  183. data/lib/rubygems/request_set.rb +17 -17
  184. data/lib/rubygems/requirement.rb +6 -6
  185. data/lib/rubygems/resolver/activation_request.rb +3 -3
  186. data/lib/rubygems/resolver/api_set.rb +4 -4
  187. data/lib/rubygems/resolver/api_specification.rb +6 -6
  188. data/lib/rubygems/resolver/best_set.rb +5 -5
  189. data/lib/rubygems/resolver/conflict.rb +10 -10
  190. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  191. data/lib/rubygems/resolver/git_set.rb +2 -2
  192. data/lib/rubygems/resolver/git_specification.rb +6 -6
  193. data/lib/rubygems/resolver/index_set.rb +3 -3
  194. data/lib/rubygems/resolver/index_specification.rb +6 -5
  195. data/lib/rubygems/resolver/installed_specification.rb +4 -4
  196. data/lib/rubygems/resolver/installer_set.rb +11 -16
  197. data/lib/rubygems/resolver/local_specification.rb +2 -2
  198. data/lib/rubygems/resolver/lock_set.rb +4 -4
  199. data/lib/rubygems/resolver/lock_specification.rb +4 -4
  200. data/lib/rubygems/resolver/molinillo.rb +1 -1
  201. data/lib/rubygems/resolver/specification.rb +1 -1
  202. data/lib/rubygems/resolver/vendor_set.rb +1 -1
  203. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  204. data/lib/rubygems/resolver.rb +39 -39
  205. data/lib/rubygems/s3_uri_signer.rb +6 -6
  206. data/lib/rubygems/safe_yaml.rb +2 -2
  207. data/lib/rubygems/security/policies.rb +11 -11
  208. data/lib/rubygems/security/policy.rb +18 -18
  209. data/lib/rubygems/security/signer.rb +5 -5
  210. data/lib/rubygems/security/trust_dir.rb +3 -3
  211. data/lib/rubygems/security.rb +28 -28
  212. data/lib/rubygems/security_option.rb +5 -5
  213. data/lib/rubygems/source/git.rb +21 -21
  214. data/lib/rubygems/source/installed.rb +1 -1
  215. data/lib/rubygems/source/local.rb +2 -2
  216. data/lib/rubygems/source/specific_file.rb +1 -1
  217. data/lib/rubygems/source.rb +16 -16
  218. data/lib/rubygems/spec_fetcher.rb +9 -9
  219. data/lib/rubygems/specification.rb +63 -62
  220. data/lib/rubygems/specification_policy.rb +15 -15
  221. data/lib/rubygems/stub_specification.rb +5 -5
  222. data/lib/rubygems/tsort.rb +1 -1
  223. data/lib/rubygems/uninstaller.rb +18 -18
  224. data/lib/rubygems/uri.rb +4 -4
  225. data/lib/rubygems/uri_formatter.rb +1 -1
  226. data/lib/rubygems/user_interaction.rb +33 -19
  227. data/lib/rubygems/util/licenses.rb +3 -3
  228. data/lib/rubygems/util.rb +10 -10
  229. data/lib/rubygems/validator.rb +5 -5
  230. data/lib/rubygems/version.rb +15 -9
  231. data/lib/rubygems/version_option.rb +3 -3
  232. data/lib/rubygems.rb +62 -61
  233. data/rubygems-update.gemspec +2 -2
  234. data/setup.rb +9 -9
  235. data/test/rubygems/helper.rb +132 -134
  236. data/test/rubygems/installer_test_case.rb +13 -13
  237. data/test/rubygems/package/tar_test_case.rb +2 -2
  238. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  239. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  240. data/test/rubygems/rubygems_plugin.rb +2 -2
  241. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
  242. data/test/rubygems/test_bundled_ca.rb +10 -10
  243. data/test/rubygems/test_config.rb +3 -3
  244. data/test/rubygems/test_deprecate.rb +3 -3
  245. data/test/rubygems/test_exit.rb +2 -2
  246. data/test/rubygems/test_gem.rb +342 -342
  247. data/test/rubygems/test_gem_available_set.rb +21 -21
  248. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  249. data/test/rubygems/test_gem_command.rb +44 -44
  250. data/test/rubygems/test_gem_command_manager.rb +29 -29
  251. data/test/rubygems/test_gem_commands_build_command.rb +63 -63
  252. data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
  253. data/test/rubygems/test_gem_commands_check_command.rb +4 -4
  254. data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
  255. data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
  256. data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
  257. data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
  258. data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
  259. data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
  260. data/test/rubygems/test_gem_commands_help_command.rb +13 -13
  261. data/test/rubygems/test_gem_commands_info_command.rb +28 -2
  262. data/test/rubygems/test_gem_commands_install_command.rb +131 -131
  263. data/test/rubygems/test_gem_commands_list_command.rb +4 -4
  264. data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
  265. data/test/rubygems/test_gem_commands_mirror.rb +2 -2
  266. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  267. data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
  268. data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
  269. data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
  270. data/test/rubygems/test_gem_commands_push_command.rb +54 -54
  271. data/test/rubygems/test_gem_commands_query_command.rb +73 -73
  272. data/test/rubygems/test_gem_commands_search_command.rb +2 -2
  273. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  274. data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
  275. data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
  276. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  277. data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
  278. data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
  279. data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
  280. data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
  281. data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
  282. data/test/rubygems/test_gem_commands_update_command.rb +89 -89
  283. data/test/rubygems/test_gem_commands_which_command.rb +6 -6
  284. data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
  285. data/test/rubygems/test_gem_config_file.rb +93 -81
  286. data/test/rubygems/test_gem_dependency.rb +73 -73
  287. data/test/rubygems/test_gem_dependency_installer.rb +165 -165
  288. data/test/rubygems/test_gem_dependency_list.rb +47 -47
  289. data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
  290. data/test/rubygems/test_gem_doctor.rb +26 -26
  291. data/test/rubygems/test_gem_ext_builder.rb +59 -59
  292. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
  293. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  294. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
  295. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
  296. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
  297. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  298. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
  299. data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
  300. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
  301. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
  302. data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
  303. data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
  304. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  305. data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
  306. data/test/rubygems/test_gem_gem_runner.rb +7 -7
  307. data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
  308. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
  309. data/test/rubygems/test_gem_indexer.rb +48 -48
  310. data/test/rubygems/test_gem_install_update_options.rb +16 -16
  311. data/test/rubygems/test_gem_installer.rb +303 -300
  312. data/test/rubygems/test_gem_local_remote_options.rb +10 -10
  313. data/test/rubygems/test_gem_name_tuple.rb +4 -4
  314. data/test/rubygems/test_gem_package.rb +228 -206
  315. data/test/rubygems/test_gem_package_old.rb +13 -13
  316. data/test/rubygems/test_gem_package_tar_header.rb +42 -42
  317. data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
  318. data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
  319. data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
  320. data/test/rubygems/test_gem_package_task.rb +18 -18
  321. data/test/rubygems/test_gem_path_support.rb +14 -14
  322. data/test/rubygems/test_gem_platform.rb +298 -227
  323. data/test/rubygems/test_gem_rdoc.rb +14 -14
  324. data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
  325. data/test/rubygems/test_gem_request.rb +55 -55
  326. data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
  327. data/test/rubygems/test_gem_request_set.rb +99 -99
  328. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
  329. data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
  330. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
  331. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
  332. data/test/rubygems/test_gem_requirement.rb +47 -41
  333. data/test/rubygems/test_gem_resolver.rb +133 -99
  334. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
  335. data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
  336. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
  337. data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
  338. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  339. data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
  340. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
  341. data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
  342. data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
  343. data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
  344. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
  345. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
  346. data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
  347. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
  348. data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
  349. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
  350. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  351. data/test/rubygems/test_gem_resolver_specification.rb +8 -8
  352. data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
  353. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
  354. data/test/rubygems/test_gem_security.rb +67 -67
  355. data/test/rubygems/test_gem_security_policy.rb +62 -62
  356. data/test/rubygems/test_gem_security_signer.rb +28 -28
  357. data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
  358. data/test/rubygems/test_gem_silent_ui.rb +38 -32
  359. data/test/rubygems/test_gem_source.rb +44 -44
  360. data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
  361. data/test/rubygems/test_gem_source_git.rb +59 -59
  362. data/test/rubygems/test_gem_source_installed.rb +16 -16
  363. data/test/rubygems/test_gem_source_list.rb +5 -5
  364. data/test/rubygems/test_gem_source_local.rb +14 -14
  365. data/test/rubygems/test_gem_source_lock.rb +31 -31
  366. data/test/rubygems/test_gem_source_specific_file.rb +17 -17
  367. data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
  368. data/test/rubygems/test_gem_source_vendor.rb +13 -13
  369. data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
  370. data/test/rubygems/test_gem_specification.rb +444 -436
  371. data/test/rubygems/test_gem_stream_ui.rb +19 -19
  372. data/test/rubygems/test_gem_stub_specification.rb +32 -32
  373. data/test/rubygems/test_gem_text.rb +1 -1
  374. data/test/rubygems/test_gem_uninstaller.rb +112 -112
  375. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
  376. data/test/rubygems/test_gem_uri.rb +4 -4
  377. data/test/rubygems/test_gem_uri_formatter.rb +14 -14
  378. data/test/rubygems/test_gem_util.rb +23 -23
  379. data/test/rubygems/test_gem_validator.rb +8 -8
  380. data/test/rubygems/test_gem_version.rb +22 -15
  381. data/test/rubygems/test_gem_version_option.rb +15 -15
  382. data/test/rubygems/test_kernel.rb +31 -31
  383. data/test/rubygems/test_project_sanity.rb +1 -1
  384. data/test/rubygems/test_remote_fetch_error.rb +6 -6
  385. data/test/rubygems/test_require.rb +43 -43
  386. data/test/rubygems/test_rubygems.rb +8 -8
  387. data/test/rubygems/utilities.rb +19 -19
  388. metadata +14 -3
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'net/http'
3
- require_relative 'user_interaction'
2
+ require "net/http"
3
+ require_relative "user_interaction"
4
4
 
5
5
  class Gem::Request
6
6
  extend Gem::UserInteraction
@@ -44,7 +44,7 @@ class Gem::Request
44
44
  end
45
45
 
46
46
  def self.configure_connection_for_https(connection, cert_files)
47
- raise Gem::Exception.new('OpenSSL is not available. Install OpenSSL and rebuild Ruby (preferred) or use non-HTTPS sources') unless Gem::HAVE_OPENSSL
47
+ raise Gem::Exception.new("OpenSSL is not available. Install OpenSSL and rebuild Ruby (preferred) or use non-HTTPS sources") unless Gem::HAVE_OPENSSL
48
48
 
49
49
  connection.use_ssl = true
50
50
  connection.verify_mode =
@@ -96,10 +96,10 @@ class Gem::Request
96
96
  return unless cert
97
97
  case error_number
98
98
  when OpenSSL::X509::V_ERR_CERT_HAS_EXPIRED then
99
- require 'time'
99
+ require "time"
100
100
  "Certificate #{cert.subject} expired at #{cert.not_after.iso8601}"
101
101
  when OpenSSL::X509::V_ERR_CERT_NOT_YET_VALID then
102
- require 'time'
102
+ require "time"
103
103
  "Certificate #{cert.subject} not valid until #{cert.not_before.iso8601}"
104
104
  when OpenSSL::X509::V_ERR_CERT_REJECTED then
105
105
  "Certificate #{cert.subject} is rejected"
@@ -140,13 +140,13 @@ class Gem::Request
140
140
  Gem::UriFormatter.new(@uri.password).unescape
141
141
  end
142
142
 
143
- request.add_field 'User-Agent', @user_agent
144
- request.add_field 'Connection', 'keep-alive'
145
- request.add_field 'Keep-Alive', '30'
143
+ request.add_field "User-Agent", @user_agent
144
+ request.add_field "Connection", "keep-alive"
145
+ request.add_field "Keep-Alive", "30"
146
146
 
147
147
  if @last_modified
148
- require 'time'
149
- request.add_field 'If-Modified-Since', @last_modified.httpdate
148
+ require "time"
149
+ request.add_field "If-Modified-Since", @last_modified.httpdate
150
150
  end
151
151
 
152
152
  yield request if block_given?
@@ -158,7 +158,7 @@ class Gem::Request
158
158
  # Returns a proxy URI for the given +scheme+ if one is set in the
159
159
  # environment variables.
160
160
 
161
- def self.get_proxy_from_env(scheme = 'http')
161
+ def self.get_proxy_from_env(scheme = "http")
162
162
  _scheme = scheme.downcase
163
163
  _SCHEME = scheme.upcase
164
164
  env_proxy = ENV["#{_scheme}_proxy"] || ENV["#{_SCHEME}_PROXY"]
@@ -166,14 +166,14 @@ class Gem::Request
166
166
  no_env_proxy = env_proxy.nil? || env_proxy.empty?
167
167
 
168
168
  if no_env_proxy
169
- return (_scheme == 'https' || _scheme == 'http') ?
170
- :no_proxy : get_proxy_from_env('http')
169
+ return (_scheme == "https" || _scheme == "http") ?
170
+ :no_proxy : get_proxy_from_env("http")
171
171
  end
172
172
 
173
173
  require "uri"
174
174
  uri = URI(Gem::UriFormatter.new(env_proxy).normalize)
175
175
 
176
- if uri and uri.user.nil? and uri.password.nil?
176
+ if uri && uri.user.nil? && uri.password.nil?
177
177
  user = ENV["#{_scheme}_proxy_user"] || ENV["#{_SCHEME}_PROXY_USER"]
178
178
  password = ENV["#{_scheme}_proxy_pass"] || ENV["#{_SCHEME}_PROXY_PASS"]
179
179
 
@@ -229,14 +229,14 @@ class Gem::Request
229
229
 
230
230
  reset connection
231
231
 
232
- raise Gem::RemoteFetcher::FetchError.new('too many bad responses', @uri) if bad_response
232
+ raise Gem::RemoteFetcher::FetchError.new("too many bad responses", @uri) if bad_response
233
233
 
234
234
  bad_response = true
235
235
  retry
236
236
  rescue Net::HTTPFatalError
237
237
  verbose "fatal error"
238
238
 
239
- raise Gem::RemoteFetcher::FetchError.new('fatal error', @uri)
239
+ raise Gem::RemoteFetcher::FetchError.new("fatal error", @uri)
240
240
  # HACK work around EOFError bug in Net::HTTP
241
241
  # NOTE Errno::ECONNABORTED raised a lot on Windows, and make impossible
242
242
  # to install gems.
@@ -246,7 +246,7 @@ class Gem::Request
246
246
  requests = @requests[connection.object_id]
247
247
  verbose "connection reset after #{requests} requests, retrying"
248
248
 
249
- raise Gem::RemoteFetcher::FetchError.new('too many connection resets', @uri) if retried
249
+ raise Gem::RemoteFetcher::FetchError.new("too many connection resets", @uri) if retried
250
250
 
251
251
  reset connection
252
252
 
@@ -273,7 +273,7 @@ class Gem::Request
273
273
  ua = "RubyGems/#{Gem::VERSION} #{Gem::Platform.local}".dup
274
274
 
275
275
  ruby_version = RUBY_VERSION
276
- ruby_version += 'dev' if RUBY_PATCHLEVEL == -1
276
+ ruby_version += "dev" if RUBY_PATCHLEVEL == -1
277
277
 
278
278
  ua << " Ruby/#{ruby_version} (#{RUBY_RELEASE_DATE}"
279
279
  if RUBY_PATCHLEVEL >= 0
@@ -283,12 +283,12 @@ class Gem::Request
283
283
  end
284
284
  ua << ")"
285
285
 
286
- ua << " #{RUBY_ENGINE}" if RUBY_ENGINE != 'ruby'
286
+ ua << " #{RUBY_ENGINE}" if RUBY_ENGINE != "ruby"
287
287
 
288
288
  ua
289
289
  end
290
290
  end
291
291
 
292
- require_relative 'request/http_pool'
293
- require_relative 'request/https_pool'
294
- require_relative 'request/connection_pools'
292
+ require_relative "request/http_pool"
293
+ require_relative "request/https_pool"
294
+ require_relative "request/connection_pools"
@@ -50,10 +50,10 @@ class Gem::RequestSet::GemDependencyAPI
50
50
  :ruby_21 => %w[ruby rbx maglev truffleruby],
51
51
  }.freeze
52
52
 
53
- mswin = Gem::Platform.new 'x86-mswin32'
54
- mswin64 = Gem::Platform.new 'x64-mswin64'
55
- x86_mingw = Gem::Platform.new 'x86-mingw32'
56
- x64_mingw = Gem::Platform.new 'x64-mingw32'
53
+ mswin = Gem::Platform.new "x86-mswin32"
54
+ mswin64 = Gem::Platform.new "x64-mswin64"
55
+ x86_mingw = Gem::Platform.new "x86-mingw32"
56
+ x64_mingw = Gem::Platform.new "x64-mingw32"
57
57
 
58
58
  PLATFORM_MAP = { # :nodoc:
59
59
  :jruby => Gem::Platform::RUBY,
@@ -91,11 +91,11 @@ class Gem::RequestSet::GemDependencyAPI
91
91
  :x64_mingw_21 => x64_mingw,
92
92
  }.freeze
93
93
 
94
- gt_eq_0 = Gem::Requirement.new '>= 0'
95
- tilde_gt_1_8_0 = Gem::Requirement.new '~> 1.8.0'
96
- tilde_gt_1_9_0 = Gem::Requirement.new '~> 1.9.0'
97
- tilde_gt_2_0_0 = Gem::Requirement.new '~> 2.0.0'
98
- tilde_gt_2_1_0 = Gem::Requirement.new '~> 2.1.0'
94
+ gt_eq_0 = Gem::Requirement.new ">= 0"
95
+ tilde_gt_1_8_0 = Gem::Requirement.new "~> 1.8.0"
96
+ tilde_gt_1_9_0 = Gem::Requirement.new "~> 1.9.0"
97
+ tilde_gt_2_0_0 = Gem::Requirement.new "~> 2.0.0"
98
+ tilde_gt_2_1_0 = Gem::Requirement.new "~> 2.1.0"
99
99
 
100
100
  VERSION_MAP = { # :nodoc:
101
101
  :jruby => gt_eq_0,
@@ -371,7 +371,7 @@ class Gem::RequestSet::GemDependencyAPI
371
371
  duplicate = @dependencies.include? name
372
372
 
373
373
  @dependencies[name] =
374
- if requirements.empty? and not source_set
374
+ if requirements.empty? && !source_set
375
375
  Gem::Requirement.default
376
376
  elsif source_set
377
377
  Gem::Requirement.source_set
@@ -435,7 +435,7 @@ Gem dependencies file #{@path} requires #{name} more than once.
435
435
  reference ||= ref
436
436
  reference ||= branch
437
437
  reference ||= tag
438
- reference ||= 'master'
438
+ reference ||= "master"
439
439
 
440
440
  if ref && branch
441
441
  warn <<-WARNING
@@ -637,8 +637,8 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
637
637
  # :development. Only one group may be specified.
638
638
 
639
639
  def gemspec(options = {})
640
- name = options.delete(:name) || '{,*}'
641
- path = options.delete(:path) || '.'
640
+ name = options.delete(:name) || "{,*}"
641
+ path = options.delete(:path) || "."
642
642
  development_group = options.delete(:development_group) || :development
643
643
 
644
644
  spec = find_gemspec name, path
@@ -697,11 +697,11 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
697
697
  def pin_gem_source(name, type = :default, source = nil)
698
698
  source_description =
699
699
  case type
700
- when :default then '(default)'
700
+ when :default then "(default)"
701
701
  when :path then "path: #{source}"
702
702
  when :git then "git: #{source}"
703
703
  when :source then "source: #{source}"
704
- else '(unknown)'
704
+ else "(unknown)"
705
705
  end
706
706
 
707
707
  raise ArgumentError,
@@ -788,8 +788,8 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
788
788
  engine_version = options[:engine_version]
789
789
 
790
790
  raise ArgumentError,
791
- 'You must specify engine_version along with the Ruby engine' if
792
- engine and not engine_version
791
+ "You must specify engine_version along with the Ruby engine" if
792
+ engine && !engine_version
793
793
 
794
794
  return true if @installing
795
795
 
@@ -800,7 +800,7 @@ Gem dependencies file #{@path} includes git reference for both ref/branch and ta
800
800
  raise Gem::RubyVersionMismatch, message
801
801
  end
802
802
 
803
- if engine and engine != Gem.ruby_engine
803
+ if engine && engine != Gem.ruby_engine
804
804
  message = "Your Ruby engine is #{Gem.ruby_engine}, " +
805
805
  "but your #{gem_deps_file} requires #{engine}"
806
806
 
@@ -19,18 +19,18 @@ class Gem::RequestSet::Lockfile::Parser
19
19
  @tokens.skip :newline
20
20
 
21
21
  case token.value
22
- when 'DEPENDENCIES' then
22
+ when "DEPENDENCIES" then
23
23
  parse_DEPENDENCIES
24
- when 'GIT' then
24
+ when "GIT" then
25
25
  parse_GIT
26
- when 'GEM' then
26
+ when "GEM" then
27
27
  parse_GEM
28
- when 'PATH' then
28
+ when "PATH" then
29
29
  parse_PATH
30
- when 'PLATFORMS' then
30
+ when "PLATFORMS" then
31
31
  parse_PLATFORMS
32
32
  else
33
- token = get until @tokens.empty? or peek.first == :section
33
+ token = get until @tokens.empty? || peek.first == :section
34
34
  end
35
35
  else
36
36
  raise "BUG: unhandled token #{token.type} (#{token.value.inspect}) at line #{token.line} column #{token.column}"
@@ -44,7 +44,7 @@ class Gem::RequestSet::Lockfile::Parser
44
44
  def get(expected_types = nil, expected_value = nil) # :nodoc:
45
45
  token = @tokens.shift
46
46
 
47
- if expected_types and not Array(expected_types).include? token.type
47
+ if expected_types && !Array(expected_types).include?(token.type)
48
48
  unget token
49
49
 
50
50
  message = "unexpected token [#{token.type.inspect}, #{token.value.inspect}], " +
@@ -53,7 +53,7 @@ class Gem::RequestSet::Lockfile::Parser
53
53
  raise Gem::RequestSet::Lockfile::ParseError.new message, token.column, token.line, @filename
54
54
  end
55
55
 
56
- if expected_value and expected_value != token.value
56
+ if expected_value && expected_value != token.value
57
57
  unget token
58
58
 
59
59
  message = "unexpected token [#{token.type.inspect}, #{token.value.inspect}], " +
@@ -67,7 +67,7 @@ class Gem::RequestSet::Lockfile::Parser
67
67
  end
68
68
 
69
69
  def parse_DEPENDENCIES # :nodoc:
70
- while not @tokens.empty? and :text == peek.type do
70
+ while !@tokens.empty? && :text == peek.type do
71
71
  token = get :text
72
72
 
73
73
  requirements = []
@@ -110,8 +110,8 @@ class Gem::RequestSet::Lockfile::Parser
110
110
  def parse_GEM # :nodoc:
111
111
  sources = []
112
112
 
113
- while [:entry, 'remote'] == peek.first(2) do
114
- get :entry, 'remote'
113
+ while [:entry, "remote"] == peek.first(2) do
114
+ get :entry, "remote"
115
115
  data = get(:text).value
116
116
  skip :newline
117
117
 
@@ -120,14 +120,14 @@ class Gem::RequestSet::Lockfile::Parser
120
120
 
121
121
  sources << Gem::Source.new(Gem::DEFAULT_HOST) if sources.empty?
122
122
 
123
- get :entry, 'specs'
123
+ get :entry, "specs"
124
124
 
125
125
  skip :newline
126
126
 
127
127
  set = Gem::Resolver::LockSet.new sources
128
128
  last_specs = nil
129
129
 
130
- while not @tokens.empty? and :text == peek.type do
130
+ while !@tokens.empty? && :text == peek.type do
131
131
  token = get :text
132
132
  name = token.value
133
133
  column = token.column
@@ -144,8 +144,8 @@ class Gem::RequestSet::Lockfile::Parser
144
144
  type = token.type
145
145
  data = token.value
146
146
 
147
- if type == :text and column == 4
148
- version, platform = data.split '-', 2
147
+ if type == :text && column == 4
148
+ version, platform = data.split "-", 2
149
149
 
150
150
  platform =
151
151
  platform ? Gem::Platform.new(platform) : Gem::Platform::RUBY
@@ -171,26 +171,26 @@ class Gem::RequestSet::Lockfile::Parser
171
171
  end
172
172
 
173
173
  def parse_GIT # :nodoc:
174
- get :entry, 'remote'
174
+ get :entry, "remote"
175
175
  repository = get(:text).value
176
176
 
177
177
  skip :newline
178
178
 
179
- get :entry, 'revision'
179
+ get :entry, "revision"
180
180
  revision = get(:text).value
181
181
 
182
182
  skip :newline
183
183
 
184
184
  type = peek.type
185
185
  value = peek.value
186
- if type == :entry and %w[branch ref tag].include? value
186
+ if type == :entry && %w[branch ref tag].include?(value)
187
187
  get
188
188
  get :text
189
189
 
190
190
  skip :newline
191
191
  end
192
192
 
193
- get :entry, 'specs'
193
+ get :entry, "specs"
194
194
 
195
195
  skip :newline
196
196
 
@@ -199,7 +199,7 @@ class Gem::RequestSet::Lockfile::Parser
199
199
 
200
200
  last_spec = nil
201
201
 
202
- while not @tokens.empty? and :text == peek.type do
202
+ while !@tokens.empty? && :text == peek.type do
203
203
  token = get :text
204
204
  name = token.value
205
205
  column = token.column
@@ -214,7 +214,7 @@ class Gem::RequestSet::Lockfile::Parser
214
214
  type = token.type
215
215
  data = token.value
216
216
 
217
- if type == :text and column == 4
217
+ if type == :text && column == 4
218
218
  last_spec = set.add_git_spec name, data, repository, revision, true
219
219
  else
220
220
  dependency = parse_dependency name, data
@@ -234,19 +234,19 @@ class Gem::RequestSet::Lockfile::Parser
234
234
  end
235
235
 
236
236
  def parse_PATH # :nodoc:
237
- get :entry, 'remote'
237
+ get :entry, "remote"
238
238
  directory = get(:text).value
239
239
 
240
240
  skip :newline
241
241
 
242
- get :entry, 'specs'
242
+ get :entry, "specs"
243
243
 
244
244
  skip :newline
245
245
 
246
246
  set = Gem::Resolver::VendorSet.new
247
247
  last_spec = nil
248
248
 
249
- while not @tokens.empty? and :text == peek.first do
249
+ while !@tokens.empty? && :text == peek.first do
250
250
  token = get :text
251
251
  name = token.value
252
252
  column = token.column
@@ -261,7 +261,7 @@ class Gem::RequestSet::Lockfile::Parser
261
261
  type = token.type
262
262
  data = token.value
263
263
 
264
- if type == :text and column == 4
264
+ if type == :text && column == 4
265
265
  last_spec = set.add_vendor_gem name, directory
266
266
  else
267
267
  dependency = parse_dependency name, data
@@ -281,7 +281,7 @@ class Gem::RequestSet::Lockfile::Parser
281
281
  end
282
282
 
283
283
  def parse_PLATFORMS # :nodoc:
284
- while not @tokens.empty? and :text == peek.first do
284
+ while !@tokens.empty? && :text == peek.first do
285
285
  name = get(:text).value
286
286
 
287
287
  @platforms << name
@@ -1,5 +1,5 @@
1
- # frozen_string_literal: true
2
- require_relative 'parser'
1
+ #) frozen_string_literal: true
2
+ require_relative "parser"
3
3
 
4
4
  class Gem::RequestSet::Lockfile::Tokenizer
5
5
  Token = Struct.new :type, :value, :column, :line
@@ -26,7 +26,7 @@ class Gem::RequestSet::Lockfile::Tokenizer
26
26
  end
27
27
 
28
28
  def skip(type)
29
- @tokens.shift while not @tokens.empty? and peek.type == type
29
+ @tokens.shift while !@tokens.empty? && peek.type == type
30
30
  end
31
31
 
32
32
  ##
@@ -57,7 +57,7 @@ class Gem::RequestSet::Lockfile::Tokenizer
57
57
  private
58
58
 
59
59
  def tokenize(input)
60
- require 'strscan'
60
+ require "strscan"
61
61
  s = StringScanner.new input
62
62
 
63
63
  until s.eos? do
@@ -76,7 +76,7 @@ class Gem::RequestSet::Lockfile
76
76
  @gem_deps_file = File.expand_path(gem_deps_file)
77
77
  @gem_deps_dir = File.dirname(@gem_deps_file)
78
78
 
79
- if RUBY_VERSION < '2.7'
79
+ if RUBY_VERSION < "2.7"
80
80
  @gem_deps_file.untaint unless gem_deps_file.tainted?
81
81
  end
82
82
 
@@ -106,7 +106,7 @@ class Gem::RequestSet::Lockfile
106
106
  out << " specs:"
107
107
 
108
108
  requests.sort_by {|request| request.name }.each do |request|
109
- next if request.spec.name == 'bundler'
109
+ next if request.spec.name == "bundler"
110
110
  platform = "-#{request.spec.platform}" unless
111
111
  Gem::Platform::RUBY == request.spec.platform
112
112
 
@@ -156,7 +156,7 @@ class Gem::RequestSet::Lockfile
156
156
  if dest.index(base) == 0
157
157
  offset = dest[base.size + 1..-1]
158
158
 
159
- return '.' unless offset
159
+ return "." unless offset
160
160
 
161
161
  offset
162
162
  else
@@ -224,7 +224,7 @@ class Gem::RequestSet::Lockfile
224
224
  def write
225
225
  content = to_s
226
226
 
227
- File.open "#{@gem_deps_file}.lock", 'w' do |io|
227
+ File.open "#{@gem_deps_file}.lock", "w" do |io|
228
228
  io.write content
229
229
  end
230
230
  end
@@ -236,4 +236,4 @@ class Gem::RequestSet::Lockfile
236
236
  end
237
237
  end
238
238
 
239
- require_relative 'lockfile/tokenizer'
239
+ require_relative "lockfile/tokenizer"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'tsort'
2
+ require_relative "tsort"
3
3
 
4
4
  ##
5
5
  # A RequestSet groups a request to activate a set of dependencies.
@@ -254,7 +254,7 @@ class Gem::RequestSet
254
254
  end
255
255
 
256
256
  def install_into(dir, force = true, options = {})
257
- gem_home, ENV['GEM_HOME'] = ENV['GEM_HOME'], dir
257
+ gem_home, ENV["GEM_HOME"] = ENV["GEM_HOME"], dir
258
258
 
259
259
  existing = force ? [] : specs_in(dir)
260
260
  existing.delete_if {|s| @always_install.include? s }
@@ -287,7 +287,7 @@ class Gem::RequestSet
287
287
 
288
288
  installed
289
289
  ensure
290
- ENV['GEM_HOME'] = gem_home
290
+ ENV["GEM_HOME"] = gem_home
291
291
  end
292
292
 
293
293
  ##
@@ -337,32 +337,32 @@ class Gem::RequestSet
337
337
  end
338
338
 
339
339
  def pretty_print(q) # :nodoc:
340
- q.group 2, '[RequestSet:', ']' do
340
+ q.group 2, "[RequestSet:", "]" do
341
341
  q.breakable
342
342
 
343
343
  if @remote
344
- q.text 'remote'
344
+ q.text "remote"
345
345
  q.breakable
346
346
  end
347
347
 
348
348
  if @prerelease
349
- q.text 'prerelease'
349
+ q.text "prerelease"
350
350
  q.breakable
351
351
  end
352
352
 
353
353
  if @development_shallow
354
- q.text 'shallow development'
354
+ q.text "shallow development"
355
355
  q.breakable
356
356
  elsif @development
357
- q.text 'development'
357
+ q.text "development"
358
358
  q.breakable
359
359
  end
360
360
 
361
361
  if @soft_missing
362
- q.text 'soft missing'
362
+ q.text "soft missing"
363
363
  end
364
364
 
365
- q.group 2, '[dependencies:', ']' do
365
+ q.group 2, "[dependencies:", "]" do
366
366
  q.breakable
367
367
  @dependencies.map do |dep|
368
368
  q.text dep.to_s
@@ -371,7 +371,7 @@ class Gem::RequestSet
371
371
  end
372
372
 
373
373
  q.breakable
374
- q.text 'sets:'
374
+ q.text "sets:"
375
375
 
376
376
  q.breakable
377
377
  q.pp @sets.map {|set| set.class }
@@ -443,14 +443,14 @@ class Gem::RequestSet
443
443
 
444
444
  def tsort_each_child(node) # :nodoc:
445
445
  node.spec.dependencies.each do |dep|
446
- next if dep.type == :development and not @development
446
+ next if dep.type == :development && !@development
447
447
 
448
448
  match = @requests.find do |r|
449
- dep.match? r.spec.name, r.spec.version, @prerelease
449
+ dep.match? r.spec.name, r.spec.version, r.spec.is_a?(Gem::Resolver::InstalledSpecification) || @prerelease
450
450
  end
451
451
 
452
452
  unless match
453
- next if dep.type == :development and @development_shallow
453
+ next if dep.type == :development && @development_shallow
454
454
  next if @soft_missing
455
455
  raise Gem::DependencyError,
456
456
  "Unresolved dependency found during sorting - #{dep} (requested by #{node.spec.full_name})"
@@ -461,6 +461,6 @@ class Gem::RequestSet
461
461
  end
462
462
  end
463
463
 
464
- require_relative 'request_set/gem_dependency_api'
465
- require_relative 'request_set/lockfile'
466
- require_relative 'request_set/lockfile/tokenizer'
464
+ require_relative "request_set/gem_dependency_api"
465
+ require_relative "request_set/lockfile"
466
+ require_relative "request_set/lockfile/tokenizer"
@@ -61,7 +61,7 @@ class Gem::Requirement
61
61
  input
62
62
  when Gem::Version, Array then
63
63
  new input
64
- when '!' then
64
+ when "!" then
65
65
  source_set
66
66
  else
67
67
  if input.respond_to? :to_str
@@ -73,11 +73,11 @@ class Gem::Requirement
73
73
  end
74
74
 
75
75
  def self.default
76
- new '>= 0'
76
+ new ">= 0"
77
77
  end
78
78
 
79
79
  def self.default_prerelease
80
- new '>= 0.a'
80
+ new ">= 0.a"
81
81
  end
82
82
 
83
83
  ###
@@ -218,7 +218,7 @@ class Gem::Requirement
218
218
  end
219
219
 
220
220
  def encode_with(coder) # :nodoc:
221
- coder.add 'requirements', @requirements
221
+ coder.add "requirements", @requirements
222
222
  end
223
223
 
224
224
  ##
@@ -230,7 +230,7 @@ class Gem::Requirement
230
230
  end
231
231
 
232
232
  def pretty_print(q) # :nodoc:
233
- q.group 1, 'Gem::Requirement.new(', ')' do
233
+ q.group 1, "Gem::Requirement.new(", ")" do
234
234
  q.pp as_list
235
235
  end
236
236
  end
@@ -253,7 +253,7 @@ class Gem::Requirement
253
253
  def specific?
254
254
  return true if @requirements.length > 1 # GIGO, > 1, > 2 is silly
255
255
 
256
- not %w[> >=].include? @requirements.first.first # grab the operator
256
+ !%w[> >=].include? @requirements.first.first # grab the operator
257
257
  end
258
258
 
259
259
  def to_s # :nodoc:
@@ -93,7 +93,7 @@ class Gem::Resolver::ActivationRequest
93
93
  end
94
94
 
95
95
  def inspect # :nodoc:
96
- '#<%s for %p from %s>' % [
96
+ "#<%s for %p from %s>" % [
97
97
  self.class, @spec, @request
98
98
  ]
99
99
  end
@@ -130,12 +130,12 @@ class Gem::Resolver::ActivationRequest
130
130
  end
131
131
 
132
132
  def pretty_print(q) # :nodoc:
133
- q.group 2, '[Activation request', ']' do
133
+ q.group 2, "[Activation request", "]" do
134
134
  q.breakable
135
135
  q.pp @spec
136
136
 
137
137
  q.breakable
138
- q.text ' for '
138
+ q.text " for "
139
139
  q.pp @request
140
140
  end
141
141
  end
@@ -26,13 +26,13 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
26
26
  # API URL +dep_uri+ which is described at
27
27
  # https://guides.rubygems.org/rubygems-org-api
28
28
 
29
- def initialize(dep_uri = 'https://index.rubygems.org/info/')
29
+ def initialize(dep_uri = "https://index.rubygems.org/info/")
30
30
  super()
31
31
 
32
32
  dep_uri = URI dep_uri unless URI === dep_uri
33
33
 
34
34
  @dep_uri = dep_uri
35
- @uri = dep_uri + '..'
35
+ @uri = dep_uri + ".."
36
36
 
37
37
  @data = Hash.new {|h,k| h[k] = [] }
38
38
  @source = Gem::Source.new @uri
@@ -83,12 +83,12 @@ class Gem::Resolver::APISet < Gem::Resolver::Set
83
83
  end
84
84
 
85
85
  def pretty_print(q) # :nodoc:
86
- q.group 2, '[APISet', ']' do
86
+ q.group 2, "[APISet", "]" do
87
87
  q.breakable
88
88
  q.text "URI: #{@dep_uri}"
89
89
 
90
90
  q.breakable
91
- q.text 'gem names:'
91
+ q.text "gem names:"
92
92
  q.pp @data.keys
93
93
  end
94
94
  end