@ai-ecoverse/wasix-ruby 3.4.11-3 → 3.4.11-4

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 (1127) hide show
  1. package/PRESTAGE.md +22 -38
  2. package/bin/bundle +1 -1
  3. package/bin/bundler +1 -1
  4. package/bin/erb +1 -1
  5. package/bin/gem +1 -1
  6. package/bin/irb +1 -1
  7. package/bin/rake +1 -1
  8. package/bin/ruby.wasm +0 -0
  9. package/lib/ruby/3.4.0/expect.rb +71 -0
  10. package/lib/ruby/3.4.0/wasm32-wasi/rbconfig.rb +1 -1
  11. package/package.json +8 -6
  12. package/lib/ruby/3.4.11/English.gemspec +0 -22
  13. package/lib/ruby/3.4.11/English.rb +0 -164
  14. package/lib/ruby/3.4.11/benchmark.gemspec +0 -32
  15. package/lib/ruby/3.4.11/benchmark.rb +0 -594
  16. package/lib/ruby/3.4.11/bundled_gems.rb +0 -248
  17. package/lib/ruby/3.4.11/bundler/.document +0 -1
  18. package/lib/ruby/3.4.11/bundler/build_metadata.rb +0 -43
  19. package/lib/ruby/3.4.11/bundler/bundler.gemspec +0 -45
  20. package/lib/ruby/3.4.11/bundler/capistrano.rb +0 -22
  21. package/lib/ruby/3.4.11/bundler/checksum.rb +0 -264
  22. package/lib/ruby/3.4.11/bundler/ci_detector.rb +0 -75
  23. package/lib/ruby/3.4.11/bundler/cli/add.rb +0 -49
  24. package/lib/ruby/3.4.11/bundler/cli/binstubs.rb +0 -57
  25. package/lib/ruby/3.4.11/bundler/cli/cache.rb +0 -43
  26. package/lib/ruby/3.4.11/bundler/cli/check.rb +0 -40
  27. package/lib/ruby/3.4.11/bundler/cli/clean.rb +0 -25
  28. package/lib/ruby/3.4.11/bundler/cli/common.rb +0 -138
  29. package/lib/ruby/3.4.11/bundler/cli/config.rb +0 -204
  30. package/lib/ruby/3.4.11/bundler/cli/console.rb +0 -42
  31. package/lib/ruby/3.4.11/bundler/cli/doctor/diagnose.rb +0 -167
  32. package/lib/ruby/3.4.11/bundler/cli/doctor/ssl.rb +0 -249
  33. package/lib/ruby/3.4.11/bundler/cli/doctor.rb +0 -33
  34. package/lib/ruby/3.4.11/bundler/cli/exec.rb +0 -89
  35. package/lib/ruby/3.4.11/bundler/cli/fund.rb +0 -36
  36. package/lib/ruby/3.4.11/bundler/cli/gem.rb +0 -467
  37. package/lib/ruby/3.4.11/bundler/cli/info.rb +0 -83
  38. package/lib/ruby/3.4.11/bundler/cli/init.rb +0 -51
  39. package/lib/ruby/3.4.11/bundler/cli/inject.rb +0 -60
  40. package/lib/ruby/3.4.11/bundler/cli/install.rb +0 -199
  41. package/lib/ruby/3.4.11/bundler/cli/issue.rb +0 -41
  42. package/lib/ruby/3.4.11/bundler/cli/list.rb +0 -66
  43. package/lib/ruby/3.4.11/bundler/cli/lock.rb +0 -94
  44. package/lib/ruby/3.4.11/bundler/cli/open.rb +0 -29
  45. package/lib/ruby/3.4.11/bundler/cli/outdated.rb +0 -297
  46. package/lib/ruby/3.4.11/bundler/cli/platform.rb +0 -48
  47. package/lib/ruby/3.4.11/bundler/cli/plugin.rb +0 -35
  48. package/lib/ruby/3.4.11/bundler/cli/pristine.rb +0 -60
  49. package/lib/ruby/3.4.11/bundler/cli/remove.rb +0 -17
  50. package/lib/ruby/3.4.11/bundler/cli/show.rb +0 -75
  51. package/lib/ruby/3.4.11/bundler/cli/update.rb +0 -123
  52. package/lib/ruby/3.4.11/bundler/cli/viz.rb +0 -31
  53. package/lib/ruby/3.4.11/bundler/cli.rb +0 -790
  54. package/lib/ruby/3.4.11/bundler/compact_index_client/cache.rb +0 -96
  55. package/lib/ruby/3.4.11/bundler/compact_index_client/cache_file.rb +0 -148
  56. package/lib/ruby/3.4.11/bundler/compact_index_client/parser.rb +0 -84
  57. package/lib/ruby/3.4.11/bundler/compact_index_client/updater.rb +0 -105
  58. package/lib/ruby/3.4.11/bundler/compact_index_client.rb +0 -97
  59. package/lib/ruby/3.4.11/bundler/constants.rb +0 -14
  60. package/lib/ruby/3.4.11/bundler/current_ruby.rb +0 -82
  61. package/lib/ruby/3.4.11/bundler/definition.rb +0 -1187
  62. package/lib/ruby/3.4.11/bundler/dependency.rb +0 -151
  63. package/lib/ruby/3.4.11/bundler/deployment.rb +0 -69
  64. package/lib/ruby/3.4.11/bundler/deprecate.rb +0 -44
  65. package/lib/ruby/3.4.11/bundler/digest.rb +0 -71
  66. package/lib/ruby/3.4.11/bundler/dsl.rb +0 -638
  67. package/lib/ruby/3.4.11/bundler/endpoint_specification.rb +0 -174
  68. package/lib/ruby/3.4.11/bundler/env.rb +0 -148
  69. package/lib/ruby/3.4.11/bundler/environment_preserver.rb +0 -68
  70. package/lib/ruby/3.4.11/bundler/errors.rb +0 -281
  71. package/lib/ruby/3.4.11/bundler/feature_flag.rb +0 -50
  72. package/lib/ruby/3.4.11/bundler/fetcher/base.rb +0 -52
  73. package/lib/ruby/3.4.11/bundler/fetcher/compact_index.rb +0 -120
  74. package/lib/ruby/3.4.11/bundler/fetcher/dependency.rb +0 -78
  75. package/lib/ruby/3.4.11/bundler/fetcher/downloader.rb +0 -91
  76. package/lib/ruby/3.4.11/bundler/fetcher/gem_remote_fetcher.rb +0 -16
  77. package/lib/ruby/3.4.11/bundler/fetcher/index.rb +0 -25
  78. package/lib/ruby/3.4.11/bundler/fetcher.rb +0 -331
  79. package/lib/ruby/3.4.11/bundler/force_platform.rb +0 -16
  80. package/lib/ruby/3.4.11/bundler/friendly_errors.rb +0 -126
  81. package/lib/ruby/3.4.11/bundler/gem_helper.rb +0 -237
  82. package/lib/ruby/3.4.11/bundler/gem_helpers.rb +0 -144
  83. package/lib/ruby/3.4.11/bundler/gem_tasks.rb +0 -7
  84. package/lib/ruby/3.4.11/bundler/gem_version_promoter.rb +0 -147
  85. package/lib/ruby/3.4.11/bundler/graph.rb +0 -152
  86. package/lib/ruby/3.4.11/bundler/index.rb +0 -205
  87. package/lib/ruby/3.4.11/bundler/injector.rb +0 -285
  88. package/lib/ruby/3.4.11/bundler/inline.rb +0 -98
  89. package/lib/ruby/3.4.11/bundler/installer/gem_installer.rb +0 -85
  90. package/lib/ruby/3.4.11/bundler/installer/parallel_installer.rb +0 -203
  91. package/lib/ruby/3.4.11/bundler/installer/standalone.rb +0 -113
  92. package/lib/ruby/3.4.11/bundler/installer.rb +0 -243
  93. package/lib/ruby/3.4.11/bundler/lazy_specification.rb +0 -243
  94. package/lib/ruby/3.4.11/bundler/lockfile_generator.rb +0 -104
  95. package/lib/ruby/3.4.11/bundler/lockfile_parser.rb +0 -300
  96. package/lib/ruby/3.4.11/bundler/man/.document +0 -1
  97. package/lib/ruby/3.4.11/bundler/man/bundle-add.1 +0 -76
  98. package/lib/ruby/3.4.11/bundler/man/bundle-add.1.ronn +0 -87
  99. package/lib/ruby/3.4.11/bundler/man/bundle-binstubs.1 +0 -33
  100. package/lib/ruby/3.4.11/bundler/man/bundle-binstubs.1.ronn +0 -44
  101. package/lib/ruby/3.4.11/bundler/man/bundle-cache.1 +0 -68
  102. package/lib/ruby/3.4.11/bundler/man/bundle-cache.1.ronn +0 -108
  103. package/lib/ruby/3.4.11/bundler/man/bundle-check.1 +0 -24
  104. package/lib/ruby/3.4.11/bundler/man/bundle-check.1.ronn +0 -31
  105. package/lib/ruby/3.4.11/bundler/man/bundle-clean.1 +0 -17
  106. package/lib/ruby/3.4.11/bundler/man/bundle-clean.1.ronn +0 -18
  107. package/lib/ruby/3.4.11/bundler/man/bundle-config.1 +0 -317
  108. package/lib/ruby/3.4.11/bundler/man/bundle-config.1.ronn +0 -408
  109. package/lib/ruby/3.4.11/bundler/man/bundle-console.1 +0 -33
  110. package/lib/ruby/3.4.11/bundler/man/bundle-console.1.ronn +0 -39
  111. package/lib/ruby/3.4.11/bundler/man/bundle-doctor.1 +0 -30
  112. package/lib/ruby/3.4.11/bundler/man/bundle-doctor.1.ronn +0 -33
  113. package/lib/ruby/3.4.11/bundler/man/bundle-env.1 +0 -9
  114. package/lib/ruby/3.4.11/bundler/man/bundle-env.1.ronn +0 -10
  115. package/lib/ruby/3.4.11/bundler/man/bundle-exec.1 +0 -107
  116. package/lib/ruby/3.4.11/bundler/man/bundle-exec.1.ronn +0 -154
  117. package/lib/ruby/3.4.11/bundler/man/bundle-fund.1 +0 -22
  118. package/lib/ruby/3.4.11/bundler/man/bundle-fund.1.ronn +0 -25
  119. package/lib/ruby/3.4.11/bundler/man/bundle-gem.1 +0 -87
  120. package/lib/ruby/3.4.11/bundler/man/bundle-gem.1.ronn +0 -149
  121. package/lib/ruby/3.4.11/bundler/man/bundle-help.1 +0 -9
  122. package/lib/ruby/3.4.11/bundler/man/bundle-help.1.ronn +0 -12
  123. package/lib/ruby/3.4.11/bundler/man/bundle-info.1 +0 -17
  124. package/lib/ruby/3.4.11/bundler/man/bundle-info.1.ronn +0 -21
  125. package/lib/ruby/3.4.11/bundler/man/bundle-init.1 +0 -20
  126. package/lib/ruby/3.4.11/bundler/man/bundle-init.1.ronn +0 -32
  127. package/lib/ruby/3.4.11/bundler/man/bundle-inject.1 +0 -31
  128. package/lib/ruby/3.4.11/bundler/man/bundle-inject.1.ronn +0 -32
  129. package/lib/ruby/3.4.11/bundler/man/bundle-install.1 +0 -218
  130. package/lib/ruby/3.4.11/bundler/man/bundle-install.1.ronn +0 -387
  131. package/lib/ruby/3.4.11/bundler/man/bundle-issue.1 +0 -45
  132. package/lib/ruby/3.4.11/bundler/man/bundle-issue.1.ronn +0 -37
  133. package/lib/ruby/3.4.11/bundler/man/bundle-licenses.1 +0 -9
  134. package/lib/ruby/3.4.11/bundler/man/bundle-licenses.1.ronn +0 -10
  135. package/lib/ruby/3.4.11/bundler/man/bundle-list.1 +0 -35
  136. package/lib/ruby/3.4.11/bundler/man/bundle-list.1.ronn +0 -36
  137. package/lib/ruby/3.4.11/bundler/man/bundle-lock.1 +0 -75
  138. package/lib/ruby/3.4.11/bundler/man/bundle-lock.1.ronn +0 -115
  139. package/lib/ruby/3.4.11/bundler/man/bundle-open.1 +0 -32
  140. package/lib/ruby/3.4.11/bundler/man/bundle-open.1.ronn +0 -28
  141. package/lib/ruby/3.4.11/bundler/man/bundle-outdated.1 +0 -103
  142. package/lib/ruby/3.4.11/bundler/man/bundle-outdated.1.ronn +0 -110
  143. package/lib/ruby/3.4.11/bundler/man/bundle-platform.1 +0 -49
  144. package/lib/ruby/3.4.11/bundler/man/bundle-platform.1.ronn +0 -49
  145. package/lib/ruby/3.4.11/bundler/man/bundle-plugin.1 +0 -58
  146. package/lib/ruby/3.4.11/bundler/man/bundle-plugin.1.ronn +0 -63
  147. package/lib/ruby/3.4.11/bundler/man/bundle-pristine.1 +0 -23
  148. package/lib/ruby/3.4.11/bundler/man/bundle-pristine.1.ronn +0 -34
  149. package/lib/ruby/3.4.11/bundler/man/bundle-remove.1 +0 -21
  150. package/lib/ruby/3.4.11/bundler/man/bundle-remove.1.ronn +0 -23
  151. package/lib/ruby/3.4.11/bundler/man/bundle-show.1 +0 -19
  152. package/lib/ruby/3.4.11/bundler/man/bundle-show.1.ronn +0 -25
  153. package/lib/ruby/3.4.11/bundler/man/bundle-update.1 +0 -281
  154. package/lib/ruby/3.4.11/bundler/man/bundle-update.1.ronn +0 -359
  155. package/lib/ruby/3.4.11/bundler/man/bundle-version.1 +0 -22
  156. package/lib/ruby/3.4.11/bundler/man/bundle-version.1.ronn +0 -24
  157. package/lib/ruby/3.4.11/bundler/man/bundle-viz.1 +0 -30
  158. package/lib/ruby/3.4.11/bundler/man/bundle-viz.1.ronn +0 -36
  159. package/lib/ruby/3.4.11/bundler/man/bundle.1 +0 -102
  160. package/lib/ruby/3.4.11/bundler/man/bundle.1.ronn +0 -116
  161. package/lib/ruby/3.4.11/bundler/man/gemfile.5 +0 -472
  162. package/lib/ruby/3.4.11/bundler/man/gemfile.5.ronn +0 -558
  163. package/lib/ruby/3.4.11/bundler/man/index.txt +0 -33
  164. package/lib/ruby/3.4.11/bundler/match_metadata.rb +0 -30
  165. package/lib/ruby/3.4.11/bundler/match_platform.rb +0 -23
  166. package/lib/ruby/3.4.11/bundler/match_remote_metadata.rb +0 -29
  167. package/lib/ruby/3.4.11/bundler/materialization.rb +0 -59
  168. package/lib/ruby/3.4.11/bundler/mirror.rb +0 -221
  169. package/lib/ruby/3.4.11/bundler/plugin/api/source.rb +0 -322
  170. package/lib/ruby/3.4.11/bundler/plugin/api.rb +0 -81
  171. package/lib/ruby/3.4.11/bundler/plugin/dsl.rb +0 -53
  172. package/lib/ruby/3.4.11/bundler/plugin/events.rb +0 -85
  173. package/lib/ruby/3.4.11/bundler/plugin/index.rb +0 -197
  174. package/lib/ruby/3.4.11/bundler/plugin/installer/git.rb +0 -34
  175. package/lib/ruby/3.4.11/bundler/plugin/installer/path.rb +0 -26
  176. package/lib/ruby/3.4.11/bundler/plugin/installer/rubygems.rb +0 -19
  177. package/lib/ruby/3.4.11/bundler/plugin/installer.rb +0 -132
  178. package/lib/ruby/3.4.11/bundler/plugin/source_list.rb +0 -31
  179. package/lib/ruby/3.4.11/bundler/plugin.rb +0 -378
  180. package/lib/ruby/3.4.11/bundler/process_lock.rb +0 -20
  181. package/lib/ruby/3.4.11/bundler/remote_specification.rb +0 -126
  182. package/lib/ruby/3.4.11/bundler/resolver/base.rb +0 -118
  183. package/lib/ruby/3.4.11/bundler/resolver/candidate.rb +0 -85
  184. package/lib/ruby/3.4.11/bundler/resolver/incompatibility.rb +0 -15
  185. package/lib/ruby/3.4.11/bundler/resolver/package.rb +0 -94
  186. package/lib/ruby/3.4.11/bundler/resolver/root.rb +0 -25
  187. package/lib/ruby/3.4.11/bundler/resolver/spec_group.rb +0 -74
  188. package/lib/ruby/3.4.11/bundler/resolver/strategy.rb +0 -40
  189. package/lib/ruby/3.4.11/bundler/resolver.rb +0 -526
  190. package/lib/ruby/3.4.11/bundler/retry.rb +0 -66
  191. package/lib/ruby/3.4.11/bundler/ruby_dsl.rb +0 -62
  192. package/lib/ruby/3.4.11/bundler/ruby_version.rb +0 -137
  193. package/lib/ruby/3.4.11/bundler/rubygems_ext.rb +0 -485
  194. package/lib/ruby/3.4.11/bundler/rubygems_gem_installer.rb +0 -172
  195. package/lib/ruby/3.4.11/bundler/rubygems_integration.rb +0 -455
  196. package/lib/ruby/3.4.11/bundler/runtime.rb +0 -320
  197. package/lib/ruby/3.4.11/bundler/safe_marshal.rb +0 -31
  198. package/lib/ruby/3.4.11/bundler/self_manager.rb +0 -206
  199. package/lib/ruby/3.4.11/bundler/settings/validator.rb +0 -102
  200. package/lib/ruby/3.4.11/bundler/settings.rb +0 -599
  201. package/lib/ruby/3.4.11/bundler/setup.rb +0 -39
  202. package/lib/ruby/3.4.11/bundler/shared_helpers.rb +0 -398
  203. package/lib/ruby/3.4.11/bundler/similarity_detector.rb +0 -63
  204. package/lib/ruby/3.4.11/bundler/source/gemspec.rb +0 -15
  205. package/lib/ruby/3.4.11/bundler/source/git/git_proxy.rb +0 -472
  206. package/lib/ruby/3.4.11/bundler/source/git.rb +0 -452
  207. package/lib/ruby/3.4.11/bundler/source/metadata.rb +0 -63
  208. package/lib/ruby/3.4.11/bundler/source/path/installer.rb +0 -53
  209. package/lib/ruby/3.4.11/bundler/source/path.rb +0 -250
  210. package/lib/ruby/3.4.11/bundler/source/rubygems/remote.rb +0 -76
  211. package/lib/ruby/3.4.11/bundler/source/rubygems.rb +0 -522
  212. package/lib/ruby/3.4.11/bundler/source/rubygems_aggregate.rb +0 -68
  213. package/lib/ruby/3.4.11/bundler/source.rb +0 -118
  214. package/lib/ruby/3.4.11/bundler/source_list.rb +0 -273
  215. package/lib/ruby/3.4.11/bundler/source_map.rb +0 -71
  216. package/lib/ruby/3.4.11/bundler/spec_set.rb +0 -395
  217. package/lib/ruby/3.4.11/bundler/stub_specification.rb +0 -146
  218. package/lib/ruby/3.4.11/bundler/templates/.document +0 -1
  219. package/lib/ruby/3.4.11/bundler/templates/Executable +0 -27
  220. package/lib/ruby/3.4.11/bundler/templates/Executable.bundler +0 -109
  221. package/lib/ruby/3.4.11/bundler/templates/Executable.standalone +0 -14
  222. package/lib/ruby/3.4.11/bundler/templates/Gemfile +0 -5
  223. package/lib/ruby/3.4.11/bundler/templates/newgem/CHANGELOG.md.tt +0 -5
  224. package/lib/ruby/3.4.11/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +0 -132
  225. package/lib/ruby/3.4.11/bundler/templates/newgem/Cargo.toml.tt +0 -7
  226. package/lib/ruby/3.4.11/bundler/templates/newgem/Gemfile.tt +0 -24
  227. package/lib/ruby/3.4.11/bundler/templates/newgem/LICENSE.txt.tt +0 -21
  228. package/lib/ruby/3.4.11/bundler/templates/newgem/README.md.tt +0 -49
  229. package/lib/ruby/3.4.11/bundler/templates/newgem/Rakefile.tt +0 -67
  230. package/lib/ruby/3.4.11/bundler/templates/newgem/bin/console.tt +0 -11
  231. package/lib/ruby/3.4.11/bundler/templates/newgem/bin/setup.tt +0 -8
  232. package/lib/ruby/3.4.11/bundler/templates/newgem/circleci/config.yml.tt +0 -25
  233. package/lib/ruby/3.4.11/bundler/templates/newgem/exe/newgem.tt +0 -3
  234. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +0 -15
  235. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +0 -10
  236. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +0 -6
  237. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/newgem.c.tt +0 -9
  238. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/newgem.h.tt +0 -6
  239. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +0 -12
  240. package/lib/ruby/3.4.11/bundler/templates/newgem/github/workflows/main.yml.tt +0 -37
  241. package/lib/ruby/3.4.11/bundler/templates/newgem/gitignore.tt +0 -23
  242. package/lib/ruby/3.4.11/bundler/templates/newgem/gitlab-ci.yml.tt +0 -18
  243. package/lib/ruby/3.4.11/bundler/templates/newgem/lib/newgem/version.rb.tt +0 -9
  244. package/lib/ruby/3.4.11/bundler/templates/newgem/lib/newgem.rb.tt +0 -15
  245. package/lib/ruby/3.4.11/bundler/templates/newgem/newgem.gemspec.tt +0 -52
  246. package/lib/ruby/3.4.11/bundler/templates/newgem/rspec.tt +0 -3
  247. package/lib/ruby/3.4.11/bundler/templates/newgem/rubocop.yml.tt +0 -8
  248. package/lib/ruby/3.4.11/bundler/templates/newgem/sig/newgem.rbs.tt +0 -8
  249. package/lib/ruby/3.4.11/bundler/templates/newgem/spec/newgem_spec.rb.tt +0 -11
  250. package/lib/ruby/3.4.11/bundler/templates/newgem/spec/spec_helper.rb.tt +0 -15
  251. package/lib/ruby/3.4.11/bundler/templates/newgem/standard.yml.tt +0 -3
  252. package/lib/ruby/3.4.11/bundler/templates/newgem/test/minitest/test_helper.rb.tt +0 -6
  253. package/lib/ruby/3.4.11/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +0 -13
  254. package/lib/ruby/3.4.11/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +0 -15
  255. package/lib/ruby/3.4.11/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +0 -6
  256. package/lib/ruby/3.4.11/bundler/ui/rg_proxy.rb +0 -19
  257. package/lib/ruby/3.4.11/bundler/ui/shell.rb +0 -187
  258. package/lib/ruby/3.4.11/bundler/ui/silent.rb +0 -96
  259. package/lib/ruby/3.4.11/bundler/ui.rb +0 -9
  260. package/lib/ruby/3.4.11/bundler/uri_credentials_filter.rb +0 -43
  261. package/lib/ruby/3.4.11/bundler/uri_normalizer.rb +0 -23
  262. package/lib/ruby/3.4.11/bundler/vendor/.document +0 -1
  263. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/.document +0 -1
  264. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +0 -224
  265. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/version.rb +0 -3
  266. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -56
  267. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool.rb +0 -186
  268. package/lib/ruby/3.4.11/bundler/vendor/fileutils/.document +0 -1
  269. package/lib/ruby/3.4.11/bundler/vendor/fileutils/lib/fileutils.rb +0 -2696
  270. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/.document +0 -1
  271. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +0 -41
  272. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +0 -65
  273. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +0 -79
  274. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +0 -1111
  275. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/.document +0 -1
  276. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +0 -20
  277. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +0 -169
  278. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +0 -182
  279. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +0 -150
  280. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/package.rb +0 -43
  281. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +0 -121
  282. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +0 -45
  283. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +0 -19
  284. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +0 -61
  285. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +0 -42
  286. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/term.rb +0 -105
  287. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version.rb +0 -3
  288. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +0 -129
  289. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +0 -423
  290. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +0 -236
  291. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +0 -178
  292. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub.rb +0 -31
  293. package/lib/ruby/3.4.11/bundler/vendor/securerandom/.document +0 -1
  294. package/lib/ruby/3.4.11/bundler/vendor/securerandom/lib/securerandom.rb +0 -102
  295. package/lib/ruby/3.4.11/bundler/vendor/thor/.document +0 -1
  296. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/create_file.rb +0 -105
  297. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/create_link.rb +0 -61
  298. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/directory.rb +0 -108
  299. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +0 -143
  300. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +0 -371
  301. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +0 -130
  302. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions.rb +0 -340
  303. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/base.rb +0 -825
  304. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/command.rb +0 -151
  305. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -107
  306. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/error.rb +0 -106
  307. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/group.rb +0 -292
  308. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/invocation.rb +0 -178
  309. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor/basic.rb +0 -37
  310. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor/readline.rb +0 -88
  311. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor.rb +0 -17
  312. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/nested_context.rb +0 -29
  313. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/argument.rb +0 -86
  314. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/arguments.rb +0 -195
  315. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/option.rb +0 -178
  316. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/options.rb +0 -294
  317. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser.rb +0 -4
  318. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/rake_compat.rb +0 -72
  319. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/runner.rb +0 -335
  320. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/basic.rb +0 -388
  321. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/color.rb +0 -112
  322. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/column_printer.rb +0 -29
  323. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/html.rb +0 -81
  324. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/table_printer.rb +0 -118
  325. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/terminal.rb +0 -42
  326. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +0 -38
  327. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell.rb +0 -81
  328. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/util.rb +0 -285
  329. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/version.rb +0 -3
  330. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor.rb +0 -674
  331. package/lib/ruby/3.4.11/bundler/vendor/tsort/.document +0 -1
  332. package/lib/ruby/3.4.11/bundler/vendor/tsort/lib/tsort.rb +0 -455
  333. package/lib/ruby/3.4.11/bundler/vendor/uri/.document +0 -1
  334. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/common.rb +0 -880
  335. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/file.rb +0 -100
  336. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ftp.rb +0 -267
  337. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/generic.rb +0 -1592
  338. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/http.rb +0 -125
  339. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/https.rb +0 -23
  340. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ldap.rb +0 -261
  341. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ldaps.rb +0 -22
  342. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/mailto.rb +0 -293
  343. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +0 -546
  344. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +0 -206
  345. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/version.rb +0 -6
  346. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ws.rb +0 -83
  347. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/wss.rb +0 -23
  348. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri.rb +0 -104
  349. package/lib/ruby/3.4.11/bundler/vendored_fileutils.rb +0 -4
  350. package/lib/ruby/3.4.11/bundler/vendored_net_http.rb +0 -23
  351. package/lib/ruby/3.4.11/bundler/vendored_persistent.rb +0 -11
  352. package/lib/ruby/3.4.11/bundler/vendored_pub_grub.rb +0 -4
  353. package/lib/ruby/3.4.11/bundler/vendored_securerandom.rb +0 -12
  354. package/lib/ruby/3.4.11/bundler/vendored_thor.rb +0 -8
  355. package/lib/ruby/3.4.11/bundler/vendored_timeout.rb +0 -12
  356. package/lib/ruby/3.4.11/bundler/vendored_tsort.rb +0 -4
  357. package/lib/ruby/3.4.11/bundler/vendored_uri.rb +0 -21
  358. package/lib/ruby/3.4.11/bundler/version.rb +0 -13
  359. package/lib/ruby/3.4.11/bundler/vlad.rb +0 -17
  360. package/lib/ruby/3.4.11/bundler/worker.rb +0 -117
  361. package/lib/ruby/3.4.11/bundler/yaml_serializer.rb +0 -98
  362. package/lib/ruby/3.4.11/bundler.rb +0 -701
  363. package/lib/ruby/3.4.11/cgi/cgi.gemspec +0 -43
  364. package/lib/ruby/3.4.11/cgi/cookie.rb +0 -210
  365. package/lib/ruby/3.4.11/cgi/core.rb +0 -900
  366. package/lib/ruby/3.4.11/cgi/html.rb +0 -1035
  367. package/lib/ruby/3.4.11/cgi/session/pstore.rb +0 -91
  368. package/lib/ruby/3.4.11/cgi/session.rb +0 -562
  369. package/lib/ruby/3.4.11/cgi/util.rb +0 -258
  370. package/lib/ruby/3.4.11/cgi.rb +0 -297
  371. package/lib/ruby/3.4.11/delegate.gemspec +0 -29
  372. package/lib/ruby/3.4.11/delegate.rb +0 -444
  373. package/lib/ruby/3.4.11/did_you_mean/core_ext/name_error.rb +0 -57
  374. package/lib/ruby/3.4.11/did_you_mean/did_you_mean.gemspec +0 -25
  375. package/lib/ruby/3.4.11/did_you_mean/experimental.rb +0 -2
  376. package/lib/ruby/3.4.11/did_you_mean/formatter.rb +0 -44
  377. package/lib/ruby/3.4.11/did_you_mean/formatters/plain_formatter.rb +0 -4
  378. package/lib/ruby/3.4.11/did_you_mean/formatters/verbose_formatter.rb +0 -10
  379. package/lib/ruby/3.4.11/did_you_mean/jaro_winkler.rb +0 -84
  380. package/lib/ruby/3.4.11/did_you_mean/levenshtein.rb +0 -57
  381. package/lib/ruby/3.4.11/did_you_mean/spell_checker.rb +0 -46
  382. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/key_error_checker.rb +0 -28
  383. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/method_name_checker.rb +0 -79
  384. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb +0 -49
  385. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb +0 -85
  386. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers.rb +0 -20
  387. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/null_checker.rb +0 -6
  388. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/pattern_key_name_checker.rb +0 -28
  389. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/require_path_checker.rb +0 -39
  390. package/lib/ruby/3.4.11/did_you_mean/tree_spell_checker.rb +0 -109
  391. package/lib/ruby/3.4.11/did_you_mean/verbose.rb +0 -2
  392. package/lib/ruby/3.4.11/did_you_mean/version.rb +0 -3
  393. package/lib/ruby/3.4.11/did_you_mean.rb +0 -131
  394. package/lib/ruby/3.4.11/erb/compiler.rb +0 -472
  395. package/lib/ruby/3.4.11/erb/def_method.rb +0 -47
  396. package/lib/ruby/3.4.11/erb/util.rb +0 -63
  397. package/lib/ruby/3.4.11/erb/version.rb +0 -5
  398. package/lib/ruby/3.4.11/erb.gemspec +0 -38
  399. package/lib/ruby/3.4.11/erb.rb +0 -509
  400. package/lib/ruby/3.4.11/error_highlight/base.rb +0 -830
  401. package/lib/ruby/3.4.11/error_highlight/core_ext.rb +0 -47
  402. package/lib/ruby/3.4.11/error_highlight/error_highlight.gemspec +0 -27
  403. package/lib/ruby/3.4.11/error_highlight/formatter.rb +0 -74
  404. package/lib/ruby/3.4.11/error_highlight/version.rb +0 -3
  405. package/lib/ruby/3.4.11/error_highlight.rb +0 -2
  406. package/lib/ruby/3.4.11/fileutils.gemspec +0 -31
  407. package/lib/ruby/3.4.11/fileutils.rb +0 -2696
  408. package/lib/ruby/3.4.11/find.gemspec +0 -29
  409. package/lib/ruby/3.4.11/find.rb +0 -90
  410. package/lib/ruby/3.4.11/forwardable/forwardable.gemspec +0 -26
  411. package/lib/ruby/3.4.11/forwardable/impl.rb +0 -17
  412. package/lib/ruby/3.4.11/forwardable.rb +0 -321
  413. package/lib/ruby/3.4.11/ipaddr.gemspec +0 -36
  414. package/lib/ruby/3.4.11/ipaddr.rb +0 -841
  415. package/lib/ruby/3.4.11/irb/cmd/nop.rb +0 -4
  416. package/lib/ruby/3.4.11/irb/color.rb +0 -262
  417. package/lib/ruby/3.4.11/irb/color_printer.rb +0 -55
  418. package/lib/ruby/3.4.11/irb/command/backtrace.rb +0 -17
  419. package/lib/ruby/3.4.11/irb/command/base.rb +0 -60
  420. package/lib/ruby/3.4.11/irb/command/break.rb +0 -17
  421. package/lib/ruby/3.4.11/irb/command/catch.rb +0 -17
  422. package/lib/ruby/3.4.11/irb/command/cd.rb +0 -51
  423. package/lib/ruby/3.4.11/irb/command/chws.rb +0 -40
  424. package/lib/ruby/3.4.11/irb/command/context.rb +0 -16
  425. package/lib/ruby/3.4.11/irb/command/continue.rb +0 -17
  426. package/lib/ruby/3.4.11/irb/command/debug.rb +0 -73
  427. package/lib/ruby/3.4.11/irb/command/delete.rb +0 -17
  428. package/lib/ruby/3.4.11/irb/command/disable_irb.rb +0 -19
  429. package/lib/ruby/3.4.11/irb/command/edit.rb +0 -63
  430. package/lib/ruby/3.4.11/irb/command/exit.rb +0 -18
  431. package/lib/ruby/3.4.11/irb/command/finish.rb +0 -17
  432. package/lib/ruby/3.4.11/irb/command/force_exit.rb +0 -18
  433. package/lib/ruby/3.4.11/irb/command/help.rb +0 -83
  434. package/lib/ruby/3.4.11/irb/command/history.rb +0 -45
  435. package/lib/ruby/3.4.11/irb/command/info.rb +0 -17
  436. package/lib/ruby/3.4.11/irb/command/internal_helpers.rb +0 -27
  437. package/lib/ruby/3.4.11/irb/command/irb_info.rb +0 -33
  438. package/lib/ruby/3.4.11/irb/command/load.rb +0 -91
  439. package/lib/ruby/3.4.11/irb/command/ls.rb +0 -167
  440. package/lib/ruby/3.4.11/irb/command/measure.rb +0 -49
  441. package/lib/ruby/3.4.11/irb/command/next.rb +0 -17
  442. package/lib/ruby/3.4.11/irb/command/pushws.rb +0 -65
  443. package/lib/ruby/3.4.11/irb/command/show_doc.rb +0 -51
  444. package/lib/ruby/3.4.11/irb/command/show_source.rb +0 -74
  445. package/lib/ruby/3.4.11/irb/command/step.rb +0 -17
  446. package/lib/ruby/3.4.11/irb/command/subirb.rb +0 -123
  447. package/lib/ruby/3.4.11/irb/command/whereami.rb +0 -23
  448. package/lib/ruby/3.4.11/irb/command.rb +0 -23
  449. package/lib/ruby/3.4.11/irb/completion.rb +0 -504
  450. package/lib/ruby/3.4.11/irb/context.rb +0 -716
  451. package/lib/ruby/3.4.11/irb/debug/ui.rb +0 -101
  452. package/lib/ruby/3.4.11/irb/debug.rb +0 -127
  453. package/lib/ruby/3.4.11/irb/default_commands.rb +0 -276
  454. package/lib/ruby/3.4.11/irb/easter-egg.rb +0 -152
  455. package/lib/ruby/3.4.11/irb/ext/change-ws.rb +0 -37
  456. package/lib/ruby/3.4.11/irb/ext/eval_history.rb +0 -149
  457. package/lib/ruby/3.4.11/irb/ext/loader.rb +0 -127
  458. package/lib/ruby/3.4.11/irb/ext/multi-irb.rb +0 -258
  459. package/lib/ruby/3.4.11/irb/ext/tracer.rb +0 -39
  460. package/lib/ruby/3.4.11/irb/ext/use-loader.rb +0 -67
  461. package/lib/ruby/3.4.11/irb/ext/workspaces.rb +0 -36
  462. package/lib/ruby/3.4.11/irb/frame.rb +0 -80
  463. package/lib/ruby/3.4.11/irb/help.rb +0 -28
  464. package/lib/ruby/3.4.11/irb/helper_method/base.rb +0 -16
  465. package/lib/ruby/3.4.11/irb/helper_method/conf.rb +0 -11
  466. package/lib/ruby/3.4.11/irb/helper_method.rb +0 -29
  467. package/lib/ruby/3.4.11/irb/history.rb +0 -112
  468. package/lib/ruby/3.4.11/irb/init.rb +0 -538
  469. package/lib/ruby/3.4.11/irb/input-method.rb +0 -515
  470. package/lib/ruby/3.4.11/irb/inspector.rb +0 -131
  471. package/lib/ruby/3.4.11/irb/irb.gemspec +0 -46
  472. package/lib/ruby/3.4.11/irb/lc/error.rb +0 -52
  473. package/lib/ruby/3.4.11/irb/lc/help-message +0 -55
  474. package/lib/ruby/3.4.11/irb/lc/ja/error.rb +0 -53
  475. package/lib/ruby/3.4.11/irb/lc/ja/help-message +0 -58
  476. package/lib/ruby/3.4.11/irb/locale.rb +0 -153
  477. package/lib/ruby/3.4.11/irb/nesting_parser.rb +0 -239
  478. package/lib/ruby/3.4.11/irb/notifier.rb +0 -230
  479. package/lib/ruby/3.4.11/irb/output-method.rb +0 -80
  480. package/lib/ruby/3.4.11/irb/pager.rb +0 -100
  481. package/lib/ruby/3.4.11/irb/ruby-lex.rb +0 -476
  482. package/lib/ruby/3.4.11/irb/ruby_logo.aa +0 -118
  483. package/lib/ruby/3.4.11/irb/source_finder.rb +0 -138
  484. package/lib/ruby/3.4.11/irb/statement.rb +0 -80
  485. package/lib/ruby/3.4.11/irb/version.rb +0 -11
  486. package/lib/ruby/3.4.11/irb/workspace.rb +0 -171
  487. package/lib/ruby/3.4.11/irb/ws-for-case-2.rb +0 -9
  488. package/lib/ruby/3.4.11/irb/xmp.rb +0 -164
  489. package/lib/ruby/3.4.11/irb.rb +0 -1593
  490. package/lib/ruby/3.4.11/logger/errors.rb +0 -9
  491. package/lib/ruby/3.4.11/logger/formatter.rb +0 -36
  492. package/lib/ruby/3.4.11/logger/log_device.rb +0 -236
  493. package/lib/ruby/3.4.11/logger/logger.gemspec +0 -22
  494. package/lib/ruby/3.4.11/logger/period.rb +0 -47
  495. package/lib/ruby/3.4.11/logger/severity.rb +0 -38
  496. package/lib/ruby/3.4.11/logger/version.rb +0 -5
  497. package/lib/ruby/3.4.11/logger.rb +0 -761
  498. package/lib/ruby/3.4.11/mkmf.rb +0 -3045
  499. package/lib/ruby/3.4.11/net/http/exceptions.rb +0 -34
  500. package/lib/ruby/3.4.11/net/http/generic_request.rb +0 -414
  501. package/lib/ruby/3.4.11/net/http/header.rb +0 -981
  502. package/lib/ruby/3.4.11/net/http/net-http.gemspec +0 -39
  503. package/lib/ruby/3.4.11/net/http/proxy_delta.rb +0 -17
  504. package/lib/ruby/3.4.11/net/http/request.rb +0 -88
  505. package/lib/ruby/3.4.11/net/http/requests.rb +0 -430
  506. package/lib/ruby/3.4.11/net/http/response.rb +0 -738
  507. package/lib/ruby/3.4.11/net/http/responses.rb +0 -1174
  508. package/lib/ruby/3.4.11/net/http/status.rb +0 -84
  509. package/lib/ruby/3.4.11/net/http.rb +0 -2574
  510. package/lib/ruby/3.4.11/net/https.rb +0 -23
  511. package/lib/ruby/3.4.11/net/net-protocol.gemspec +0 -34
  512. package/lib/ruby/3.4.11/net/protocol.rb +0 -544
  513. package/lib/ruby/3.4.11/open-uri.gemspec +0 -32
  514. package/lib/ruby/3.4.11/open-uri.rb +0 -895
  515. package/lib/ruby/3.4.11/open3/open3.gemspec +0 -33
  516. package/lib/ruby/3.4.11/open3/version.rb +0 -3
  517. package/lib/ruby/3.4.11/open3.rb +0 -1410
  518. package/lib/ruby/3.4.11/optionparser.rb +0 -2
  519. package/lib/ruby/3.4.11/optparse/ac.rb +0 -70
  520. package/lib/ruby/3.4.11/optparse/date.rb +0 -18
  521. package/lib/ruby/3.4.11/optparse/kwargs.rb +0 -27
  522. package/lib/ruby/3.4.11/optparse/optparse.gemspec +0 -31
  523. package/lib/ruby/3.4.11/optparse/shellwords.rb +0 -7
  524. package/lib/ruby/3.4.11/optparse/time.rb +0 -11
  525. package/lib/ruby/3.4.11/optparse/uri.rb +0 -7
  526. package/lib/ruby/3.4.11/optparse/version.rb +0 -80
  527. package/lib/ruby/3.4.11/optparse.rb +0 -2429
  528. package/lib/ruby/3.4.11/ostruct.gemspec +0 -24
  529. package/lib/ruby/3.4.11/ostruct.rb +0 -489
  530. package/lib/ruby/3.4.11/pp.gemspec +0 -35
  531. package/lib/ruby/3.4.11/pp.rb +0 -699
  532. package/lib/ruby/3.4.11/prettyprint.gemspec +0 -29
  533. package/lib/ruby/3.4.11/prettyprint.rb +0 -558
  534. package/lib/ruby/3.4.11/prism/compiler.rb +0 -801
  535. package/lib/ruby/3.4.11/prism/desugar_compiler.rb +0 -392
  536. package/lib/ruby/3.4.11/prism/dispatcher.rb +0 -2210
  537. package/lib/ruby/3.4.11/prism/dsl.rb +0 -1003
  538. package/lib/ruby/3.4.11/prism/ffi.rb +0 -570
  539. package/lib/ruby/3.4.11/prism/inspect_visitor.rb +0 -2392
  540. package/lib/ruby/3.4.11/prism/lex_compat.rb +0 -928
  541. package/lib/ruby/3.4.11/prism/mutation_compiler.rb +0 -772
  542. package/lib/ruby/3.4.11/prism/node.rb +0 -18816
  543. package/lib/ruby/3.4.11/prism/node_ext.rb +0 -511
  544. package/lib/ruby/3.4.11/prism/pack.rb +0 -230
  545. package/lib/ruby/3.4.11/prism/parse_result/comments.rb +0 -188
  546. package/lib/ruby/3.4.11/prism/parse_result/errors.rb +0 -66
  547. package/lib/ruby/3.4.11/prism/parse_result/newlines.rb +0 -155
  548. package/lib/ruby/3.4.11/prism/parse_result.rb +0 -911
  549. package/lib/ruby/3.4.11/prism/pattern.rb +0 -269
  550. package/lib/ruby/3.4.11/prism/polyfill/append_as_bytes.rb +0 -15
  551. package/lib/ruby/3.4.11/prism/polyfill/byteindex.rb +0 -13
  552. package/lib/ruby/3.4.11/prism/polyfill/scan_byte.rb +0 -14
  553. package/lib/ruby/3.4.11/prism/polyfill/unpack1.rb +0 -14
  554. package/lib/ruby/3.4.11/prism/polyfill/warn.rb +0 -36
  555. package/lib/ruby/3.4.11/prism/prism.gemspec +0 -174
  556. package/lib/ruby/3.4.11/prism/reflection.rb +0 -416
  557. package/lib/ruby/3.4.11/prism/relocation.rb +0 -505
  558. package/lib/ruby/3.4.11/prism/serialize.rb +0 -2400
  559. package/lib/ruby/3.4.11/prism/string_query.rb +0 -31
  560. package/lib/ruby/3.4.11/prism/translation/parser/builder.rb +0 -62
  561. package/lib/ruby/3.4.11/prism/translation/parser/compiler.rb +0 -2234
  562. package/lib/ruby/3.4.11/prism/translation/parser/lexer.rb +0 -820
  563. package/lib/ruby/3.4.11/prism/translation/parser.rb +0 -374
  564. package/lib/ruby/3.4.11/prism/translation/parser33.rb +0 -13
  565. package/lib/ruby/3.4.11/prism/translation/parser34.rb +0 -13
  566. package/lib/ruby/3.4.11/prism/translation/parser35.rb +0 -13
  567. package/lib/ruby/3.4.11/prism/translation/parser_current.rb +0 -24
  568. package/lib/ruby/3.4.11/prism/translation/ripper/sexp.rb +0 -126
  569. package/lib/ruby/3.4.11/prism/translation/ripper/shim.rb +0 -5
  570. package/lib/ruby/3.4.11/prism/translation/ripper.rb +0 -3474
  571. package/lib/ruby/3.4.11/prism/translation/ruby_parser.rb +0 -1929
  572. package/lib/ruby/3.4.11/prism/translation.rb +0 -16
  573. package/lib/ruby/3.4.11/prism/visitor.rb +0 -813
  574. package/lib/ruby/3.4.11/prism.rb +0 -91
  575. package/lib/ruby/3.4.11/pstore.gemspec +0 -32
  576. package/lib/ruby/3.4.11/pstore.rb +0 -736
  577. package/lib/ruby/3.4.11/random/formatter.rb +0 -372
  578. package/lib/ruby/3.4.11/rdoc/.document +0 -2
  579. package/lib/ruby/3.4.11/rdoc/code_object/alias.rb +0 -104
  580. package/lib/ruby/3.4.11/rdoc/code_object/anon_class.rb +0 -10
  581. package/lib/ruby/3.4.11/rdoc/code_object/any_method.rb +0 -374
  582. package/lib/ruby/3.4.11/rdoc/code_object/attr.rb +0 -172
  583. package/lib/ruby/3.4.11/rdoc/code_object/class_module.rb +0 -888
  584. package/lib/ruby/3.4.11/rdoc/code_object/constant.rb +0 -186
  585. package/lib/ruby/3.4.11/rdoc/code_object/context/section.rb +0 -175
  586. package/lib/ruby/3.4.11/rdoc/code_object/context.rb +0 -1222
  587. package/lib/ruby/3.4.11/rdoc/code_object/extend.rb +0 -9
  588. package/lib/ruby/3.4.11/rdoc/code_object/ghost_method.rb +0 -6
  589. package/lib/ruby/3.4.11/rdoc/code_object/include.rb +0 -9
  590. package/lib/ruby/3.4.11/rdoc/code_object/meta_method.rb +0 -6
  591. package/lib/ruby/3.4.11/rdoc/code_object/method_attr.rb +0 -410
  592. package/lib/ruby/3.4.11/rdoc/code_object/mixin.rb +0 -120
  593. package/lib/ruby/3.4.11/rdoc/code_object/normal_class.rb +0 -92
  594. package/lib/ruby/3.4.11/rdoc/code_object/normal_module.rb +0 -73
  595. package/lib/ruby/3.4.11/rdoc/code_object/require.rb +0 -51
  596. package/lib/ruby/3.4.11/rdoc/code_object/single_class.rb +0 -30
  597. package/lib/ruby/3.4.11/rdoc/code_object/top_level.rb +0 -273
  598. package/lib/ruby/3.4.11/rdoc/code_object.rb +0 -395
  599. package/lib/ruby/3.4.11/rdoc/code_objects.rb +0 -5
  600. package/lib/ruby/3.4.11/rdoc/comment.rb +0 -236
  601. package/lib/ruby/3.4.11/rdoc/cross_reference.rb +0 -228
  602. package/lib/ruby/3.4.11/rdoc/encoding.rb +0 -120
  603. package/lib/ruby/3.4.11/rdoc/erb_partial.rb +0 -18
  604. package/lib/ruby/3.4.11/rdoc/erbio.rb +0 -37
  605. package/lib/ruby/3.4.11/rdoc/generator/darkfish.rb +0 -812
  606. package/lib/ruby/3.4.11/rdoc/generator/json_index.rb +0 -284
  607. package/lib/ruby/3.4.11/rdoc/generator/markup.rb +0 -171
  608. package/lib/ruby/3.4.11/rdoc/generator/pot/message_extractor.rb +0 -68
  609. package/lib/ruby/3.4.11/rdoc/generator/pot/po.rb +0 -84
  610. package/lib/ruby/3.4.11/rdoc/generator/pot/po_entry.rb +0 -141
  611. package/lib/ruby/3.4.11/rdoc/generator/pot.rb +0 -94
  612. package/lib/ruby/3.4.11/rdoc/generator/ri.rb +0 -30
  613. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/.document +0 -0
  614. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_footer.rhtml +0 -5
  615. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_head.rhtml +0 -48
  616. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +0 -5
  617. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +0 -15
  618. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +0 -15
  619. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +0 -15
  620. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +0 -21
  621. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +0 -11
  622. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +0 -32
  623. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +0 -6
  624. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_search.rhtml +0 -14
  625. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +0 -11
  626. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +0 -39
  627. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +0 -3
  628. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/class.rhtml +0 -221
  629. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/css/fonts.css +0 -167
  630. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/css/rdoc.css +0 -683
  631. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  632. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  633. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  634. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  635. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  636. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  637. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/add.png +0 -0
  638. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  639. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/brick.png +0 -0
  640. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  641. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bug.png +0 -0
  642. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  643. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  644. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  645. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/date.png +0 -0
  646. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/delete.png +0 -0
  647. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/find.png +0 -0
  648. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
  649. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
  650. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/package.png +0 -0
  651. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  652. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  653. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  654. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  655. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  656. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  657. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  658. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  659. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  660. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  661. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  662. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/index.rhtml +0 -23
  663. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/js/darkfish.js +0 -120
  664. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/js/search.js +0 -110
  665. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/page.rhtml +0 -18
  666. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/servlet_not_found.rhtml +0 -20
  667. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/servlet_root.rhtml +0 -65
  668. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/table_of_contents.rhtml +0 -70
  669. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/.document +0 -1
  670. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/js/navigation.js +0 -105
  671. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/js/searcher.js +0 -229
  672. package/lib/ruby/3.4.11/rdoc/generator.rb +0 -51
  673. package/lib/ruby/3.4.11/rdoc/i18n/locale.rb +0 -102
  674. package/lib/ruby/3.4.11/rdoc/i18n/text.rb +0 -126
  675. package/lib/ruby/3.4.11/rdoc/i18n.rb +0 -10
  676. package/lib/ruby/3.4.11/rdoc/known_classes.rb +0 -74
  677. package/lib/ruby/3.4.11/rdoc/markdown/.document +0 -1
  678. package/lib/ruby/3.4.11/rdoc/markdown/entities.rb +0 -2131
  679. package/lib/ruby/3.4.11/rdoc/markdown/literals.rb +0 -454
  680. package/lib/ruby/3.4.11/rdoc/markdown.rb +0 -16806
  681. package/lib/ruby/3.4.11/rdoc/markup/attr_changer.rb +0 -22
  682. package/lib/ruby/3.4.11/rdoc/markup/attr_span.rb +0 -35
  683. package/lib/ruby/3.4.11/rdoc/markup/attribute_manager.rb +0 -405
  684. package/lib/ruby/3.4.11/rdoc/markup/attributes.rb +0 -70
  685. package/lib/ruby/3.4.11/rdoc/markup/blank_line.rb +0 -27
  686. package/lib/ruby/3.4.11/rdoc/markup/block_quote.rb +0 -14
  687. package/lib/ruby/3.4.11/rdoc/markup/document.rb +0 -164
  688. package/lib/ruby/3.4.11/rdoc/markup/formatter.rb +0 -272
  689. package/lib/ruby/3.4.11/rdoc/markup/hard_break.rb +0 -31
  690. package/lib/ruby/3.4.11/rdoc/markup/heading.rb +0 -84
  691. package/lib/ruby/3.4.11/rdoc/markup/include.rb +0 -42
  692. package/lib/ruby/3.4.11/rdoc/markup/indented_paragraph.rb +0 -47
  693. package/lib/ruby/3.4.11/rdoc/markup/list.rb +0 -101
  694. package/lib/ruby/3.4.11/rdoc/markup/list_item.rb +0 -99
  695. package/lib/ruby/3.4.11/rdoc/markup/paragraph.rb +0 -28
  696. package/lib/ruby/3.4.11/rdoc/markup/parser.rb +0 -585
  697. package/lib/ruby/3.4.11/rdoc/markup/pre_process.rb +0 -318
  698. package/lib/ruby/3.4.11/rdoc/markup/raw.rb +0 -69
  699. package/lib/ruby/3.4.11/rdoc/markup/regexp_handling.rb +0 -40
  700. package/lib/ruby/3.4.11/rdoc/markup/rule.rb +0 -20
  701. package/lib/ruby/3.4.11/rdoc/markup/table.rb +0 -56
  702. package/lib/ruby/3.4.11/rdoc/markup/to_ansi.rb +0 -93
  703. package/lib/ruby/3.4.11/rdoc/markup/to_bs.rb +0 -102
  704. package/lib/ruby/3.4.11/rdoc/markup/to_html.rb +0 -462
  705. package/lib/ruby/3.4.11/rdoc/markup/to_html_crossref.rb +0 -226
  706. package/lib/ruby/3.4.11/rdoc/markup/to_html_snippet.rb +0 -287
  707. package/lib/ruby/3.4.11/rdoc/markup/to_joined_paragraph.rb +0 -46
  708. package/lib/ruby/3.4.11/rdoc/markup/to_label.rb +0 -74
  709. package/lib/ruby/3.4.11/rdoc/markup/to_markdown.rb +0 -191
  710. package/lib/ruby/3.4.11/rdoc/markup/to_rdoc.rb +0 -353
  711. package/lib/ruby/3.4.11/rdoc/markup/to_table_of_contents.rb +0 -88
  712. package/lib/ruby/3.4.11/rdoc/markup/to_test.rb +0 -69
  713. package/lib/ruby/3.4.11/rdoc/markup/to_tt_only.rb +0 -120
  714. package/lib/ruby/3.4.11/rdoc/markup/verbatim.rb +0 -83
  715. package/lib/ruby/3.4.11/rdoc/markup.rb +0 -240
  716. package/lib/ruby/3.4.11/rdoc/options.rb +0 -1416
  717. package/lib/ruby/3.4.11/rdoc/parser/c.rb +0 -1257
  718. package/lib/ruby/3.4.11/rdoc/parser/changelog.rb +0 -350
  719. package/lib/ruby/3.4.11/rdoc/parser/markdown.rb +0 -22
  720. package/lib/ruby/3.4.11/rdoc/parser/prism_ruby.rb +0 -1092
  721. package/lib/ruby/3.4.11/rdoc/parser/rd.rb +0 -22
  722. package/lib/ruby/3.4.11/rdoc/parser/ripper_state_lex.rb +0 -302
  723. package/lib/ruby/3.4.11/rdoc/parser/ruby.rb +0 -2378
  724. package/lib/ruby/3.4.11/rdoc/parser/ruby_tools.rb +0 -165
  725. package/lib/ruby/3.4.11/rdoc/parser/simple.rb +0 -61
  726. package/lib/ruby/3.4.11/rdoc/parser/text.rb +0 -11
  727. package/lib/ruby/3.4.11/rdoc/parser.rb +0 -297
  728. package/lib/ruby/3.4.11/rdoc/rd/.document +0 -1
  729. package/lib/ruby/3.4.11/rdoc/rd/block_parser.rb +0 -1706
  730. package/lib/ruby/3.4.11/rdoc/rd/inline.rb +0 -71
  731. package/lib/ruby/3.4.11/rdoc/rd/inline_parser.rb +0 -1854
  732. package/lib/ruby/3.4.11/rdoc/rd.rb +0 -99
  733. package/lib/ruby/3.4.11/rdoc/rdoc.gemspec +0 -68
  734. package/lib/ruby/3.4.11/rdoc/rdoc.rb +0 -551
  735. package/lib/ruby/3.4.11/rdoc/ri/driver.rb +0 -1566
  736. package/lib/ruby/3.4.11/rdoc/ri/formatter.rb +0 -6
  737. package/lib/ruby/3.4.11/rdoc/ri/paths.rb +0 -171
  738. package/lib/ruby/3.4.11/rdoc/ri/store.rb +0 -6
  739. package/lib/ruby/3.4.11/rdoc/ri/task.rb +0 -71
  740. package/lib/ruby/3.4.11/rdoc/ri.rb +0 -20
  741. package/lib/ruby/3.4.11/rdoc/rubygems_hook.rb +0 -327
  742. package/lib/ruby/3.4.11/rdoc/servlet.rb +0 -452
  743. package/lib/ruby/3.4.11/rdoc/stats/normal.rb +0 -58
  744. package/lib/ruby/3.4.11/rdoc/stats/quiet.rb +0 -59
  745. package/lib/ruby/3.4.11/rdoc/stats/verbose.rb +0 -44
  746. package/lib/ruby/3.4.11/rdoc/stats.rb +0 -461
  747. package/lib/ruby/3.4.11/rdoc/store.rb +0 -997
  748. package/lib/ruby/3.4.11/rdoc/task.rb +0 -354
  749. package/lib/ruby/3.4.11/rdoc/text.rb +0 -322
  750. package/lib/ruby/3.4.11/rdoc/token_stream.rb +0 -118
  751. package/lib/ruby/3.4.11/rdoc/tom_doc.rb +0 -257
  752. package/lib/ruby/3.4.11/rdoc/version.rb +0 -10
  753. package/lib/ruby/3.4.11/rdoc.rb +0 -211
  754. package/lib/ruby/3.4.11/readline.gemspec +0 -33
  755. package/lib/ruby/3.4.11/readline.rb +0 -7
  756. package/lib/ruby/3.4.11/reline/config.rb +0 -373
  757. package/lib/ruby/3.4.11/reline/face.rb +0 -199
  758. package/lib/ruby/3.4.11/reline/history.rb +0 -76
  759. package/lib/ruby/3.4.11/reline/io/ansi.rb +0 -325
  760. package/lib/ruby/3.4.11/reline/io/dumb.rb +0 -120
  761. package/lib/ruby/3.4.11/reline/io/windows.rb +0 -530
  762. package/lib/ruby/3.4.11/reline/io.rb +0 -55
  763. package/lib/ruby/3.4.11/reline/key_actor/base.rb +0 -37
  764. package/lib/ruby/3.4.11/reline/key_actor/composite.rb +0 -17
  765. package/lib/ruby/3.4.11/reline/key_actor/emacs.rb +0 -517
  766. package/lib/ruby/3.4.11/reline/key_actor/vi_command.rb +0 -518
  767. package/lib/ruby/3.4.11/reline/key_actor/vi_insert.rb +0 -517
  768. package/lib/ruby/3.4.11/reline/key_actor.rb +0 -8
  769. package/lib/ruby/3.4.11/reline/key_stroke.rb +0 -119
  770. package/lib/ruby/3.4.11/reline/kill_ring.rb +0 -125
  771. package/lib/ruby/3.4.11/reline/line_editor.rb +0 -2382
  772. package/lib/ruby/3.4.11/reline/reline.gemspec +0 -30
  773. package/lib/ruby/3.4.11/reline/unicode/east_asian_width.rb +0 -1267
  774. package/lib/ruby/3.4.11/reline/unicode.rb +0 -415
  775. package/lib/ruby/3.4.11/reline/version.rb +0 -3
  776. package/lib/ruby/3.4.11/reline.rb +0 -519
  777. package/lib/ruby/3.4.11/resolv.gemspec +0 -30
  778. package/lib/ruby/3.4.11/resolv.rb +0 -3587
  779. package/lib/ruby/3.4.11/ruby2_keywords.gemspec +0 -23
  780. package/lib/ruby/3.4.11/ruby_vm/rjit/.document +0 -1
  781. package/lib/ruby/3.4.11/ruby_vm/rjit/assembler.rb +0 -1160
  782. package/lib/ruby/3.4.11/ruby_vm/rjit/block.rb +0 -11
  783. package/lib/ruby/3.4.11/ruby_vm/rjit/branch_stub.rb +0 -24
  784. package/lib/ruby/3.4.11/ruby_vm/rjit/c_pointer.rb +0 -394
  785. package/lib/ruby/3.4.11/ruby_vm/rjit/c_type.rb +0 -99
  786. package/lib/ruby/3.4.11/ruby_vm/rjit/code_block.rb +0 -91
  787. package/lib/ruby/3.4.11/ruby_vm/rjit/compiler.rb +0 -518
  788. package/lib/ruby/3.4.11/ruby_vm/rjit/context.rb +0 -377
  789. package/lib/ruby/3.4.11/ruby_vm/rjit/entry_stub.rb +0 -7
  790. package/lib/ruby/3.4.11/ruby_vm/rjit/exit_compiler.rb +0 -164
  791. package/lib/ruby/3.4.11/ruby_vm/rjit/hooks.rb +0 -36
  792. package/lib/ruby/3.4.11/ruby_vm/rjit/insn_compiler.rb +0 -6046
  793. package/lib/ruby/3.4.11/ruby_vm/rjit/instruction.rb +0 -1326
  794. package/lib/ruby/3.4.11/ruby_vm/rjit/invariants.rb +0 -155
  795. package/lib/ruby/3.4.11/ruby_vm/rjit/jit_state.rb +0 -65
  796. package/lib/ruby/3.4.11/ruby_vm/rjit/stats.rb +0 -191
  797. package/lib/ruby/3.4.11/ruby_vm/rjit/type.rb +0 -221
  798. package/lib/ruby/3.4.11/rubygems/available_set.rb +0 -165
  799. package/lib/ruby/3.4.11/rubygems/basic_specification.rb +0 -383
  800. package/lib/ruby/3.4.11/rubygems/bundler_version_finder.rb +0 -77
  801. package/lib/ruby/3.4.11/rubygems/ci_detector.rb +0 -75
  802. package/lib/ruby/3.4.11/rubygems/command.rb +0 -664
  803. package/lib/ruby/3.4.11/rubygems/command_manager.rb +0 -255
  804. package/lib/ruby/3.4.11/rubygems/commands/build_command.rb +0 -127
  805. package/lib/ruby/3.4.11/rubygems/commands/cert_command.rb +0 -325
  806. package/lib/ruby/3.4.11/rubygems/commands/check_command.rb +0 -97
  807. package/lib/ruby/3.4.11/rubygems/commands/cleanup_command.rb +0 -178
  808. package/lib/ruby/3.4.11/rubygems/commands/contents_command.rb +0 -196
  809. package/lib/ruby/3.4.11/rubygems/commands/dependency_command.rb +0 -206
  810. package/lib/ruby/3.4.11/rubygems/commands/environment_command.rb +0 -181
  811. package/lib/ruby/3.4.11/rubygems/commands/exec_command.rb +0 -256
  812. package/lib/ruby/3.4.11/rubygems/commands/fetch_command.rb +0 -109
  813. package/lib/ruby/3.4.11/rubygems/commands/generate_index_command.rb +0 -51
  814. package/lib/ruby/3.4.11/rubygems/commands/help_command.rb +0 -375
  815. package/lib/ruby/3.4.11/rubygems/commands/info_command.rb +0 -38
  816. package/lib/ruby/3.4.11/rubygems/commands/install_command.rb +0 -269
  817. package/lib/ruby/3.4.11/rubygems/commands/list_command.rb +0 -42
  818. package/lib/ruby/3.4.11/rubygems/commands/lock_command.rb +0 -109
  819. package/lib/ruby/3.4.11/rubygems/commands/mirror_command.rb +0 -26
  820. package/lib/ruby/3.4.11/rubygems/commands/open_command.rb +0 -83
  821. package/lib/ruby/3.4.11/rubygems/commands/outdated_command.rb +0 -33
  822. package/lib/ruby/3.4.11/rubygems/commands/owner_command.rb +0 -124
  823. package/lib/ruby/3.4.11/rubygems/commands/pristine_command.rb +0 -217
  824. package/lib/ruby/3.4.11/rubygems/commands/push_command.rb +0 -135
  825. package/lib/ruby/3.4.11/rubygems/commands/query_command.rb +0 -43
  826. package/lib/ruby/3.4.11/rubygems/commands/rdoc_command.rb +0 -90
  827. package/lib/ruby/3.4.11/rubygems/commands/rebuild_command.rb +0 -262
  828. package/lib/ruby/3.4.11/rubygems/commands/search_command.rb +0 -41
  829. package/lib/ruby/3.4.11/rubygems/commands/server_command.rb +0 -26
  830. package/lib/ruby/3.4.11/rubygems/commands/setup_command.rb +0 -663
  831. package/lib/ruby/3.4.11/rubygems/commands/signin_command.rb +0 -34
  832. package/lib/ruby/3.4.11/rubygems/commands/signout_command.rb +0 -32
  833. package/lib/ruby/3.4.11/rubygems/commands/sources_command.rb +0 -227
  834. package/lib/ruby/3.4.11/rubygems/commands/specification_command.rb +0 -156
  835. package/lib/ruby/3.4.11/rubygems/commands/stale_command.rb +0 -40
  836. package/lib/ruby/3.4.11/rubygems/commands/uninstall_command.rb +0 -204
  837. package/lib/ruby/3.4.11/rubygems/commands/unpack_command.rb +0 -168
  838. package/lib/ruby/3.4.11/rubygems/commands/update_command.rb +0 -326
  839. package/lib/ruby/3.4.11/rubygems/commands/which_command.rb +0 -88
  840. package/lib/ruby/3.4.11/rubygems/commands/yank_command.rb +0 -99
  841. package/lib/ruby/3.4.11/rubygems/compatibility.rb +0 -41
  842. package/lib/ruby/3.4.11/rubygems/config_file.rb +0 -618
  843. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_gem.rb +0 -68
  844. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_require.rb +0 -149
  845. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_warn.rb +0 -45
  846. package/lib/ruby/3.4.11/rubygems/core_ext/tcpsocket_init.rb +0 -54
  847. package/lib/ruby/3.4.11/rubygems/defaults.rb +0 -308
  848. package/lib/ruby/3.4.11/rubygems/dependency.rb +0 -348
  849. package/lib/ruby/3.4.11/rubygems/dependency_installer.rb +0 -335
  850. package/lib/ruby/3.4.11/rubygems/dependency_list.rb +0 -243
  851. package/lib/ruby/3.4.11/rubygems/deprecate.rb +0 -169
  852. package/lib/ruby/3.4.11/rubygems/doctor.rb +0 -132
  853. package/lib/ruby/3.4.11/rubygems/errors.rb +0 -177
  854. package/lib/ruby/3.4.11/rubygems/exceptions.rb +0 -293
  855. package/lib/ruby/3.4.11/rubygems/ext/build_error.rb +0 -9
  856. package/lib/ruby/3.4.11/rubygems/ext/builder.rb +0 -260
  857. package/lib/ruby/3.4.11/rubygems/ext/cargo_builder/link_flag_converter.rb +0 -27
  858. package/lib/ruby/3.4.11/rubygems/ext/cargo_builder.rb +0 -346
  859. package/lib/ruby/3.4.11/rubygems/ext/cmake_builder.rb +0 -21
  860. package/lib/ruby/3.4.11/rubygems/ext/configure_builder.rb +0 -26
  861. package/lib/ruby/3.4.11/rubygems/ext/ext_conf_builder.rb +0 -77
  862. package/lib/ruby/3.4.11/rubygems/ext/rake_builder.rb +0 -37
  863. package/lib/ruby/3.4.11/rubygems/ext.rb +0 -20
  864. package/lib/ruby/3.4.11/rubygems/gem_runner.rb +0 -89
  865. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_listener/response.rb +0 -163
  866. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_listener.rb +0 -105
  867. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_poller.rb +0 -80
  868. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities.rb +0 -397
  869. package/lib/ruby/3.4.11/rubygems/gemspec_helpers.rb +0 -19
  870. package/lib/ruby/3.4.11/rubygems/install_default_message.rb +0 -13
  871. package/lib/ruby/3.4.11/rubygems/install_message.rb +0 -13
  872. package/lib/ruby/3.4.11/rubygems/install_update_options.rb +0 -204
  873. package/lib/ruby/3.4.11/rubygems/installer.rb +0 -1031
  874. package/lib/ruby/3.4.11/rubygems/installer_uninstaller_utils.rb +0 -27
  875. package/lib/ruby/3.4.11/rubygems/local_remote_options.rb +0 -146
  876. package/lib/ruby/3.4.11/rubygems/name_tuple.rb +0 -119
  877. package/lib/ruby/3.4.11/rubygems/openssl.rb +0 -7
  878. package/lib/ruby/3.4.11/rubygems/package/digest_io.rb +0 -63
  879. package/lib/ruby/3.4.11/rubygems/package/file_source.rb +0 -32
  880. package/lib/ruby/3.4.11/rubygems/package/io_source.rb +0 -48
  881. package/lib/ruby/3.4.11/rubygems/package/old.rb +0 -169
  882. package/lib/ruby/3.4.11/rubygems/package/source.rb +0 -4
  883. package/lib/ruby/3.4.11/rubygems/package/tar_header.rb +0 -277
  884. package/lib/ruby/3.4.11/rubygems/package/tar_reader/entry.rb +0 -244
  885. package/lib/ruby/3.4.11/rubygems/package/tar_reader.rb +0 -101
  886. package/lib/ruby/3.4.11/rubygems/package/tar_writer.rb +0 -332
  887. package/lib/ruby/3.4.11/rubygems/package.rb +0 -742
  888. package/lib/ruby/3.4.11/rubygems/package_task.rb +0 -123
  889. package/lib/ruby/3.4.11/rubygems/path_support.rb +0 -85
  890. package/lib/ruby/3.4.11/rubygems/platform.rb +0 -269
  891. package/lib/ruby/3.4.11/rubygems/psych_tree.rb +0 -37
  892. package/lib/ruby/3.4.11/rubygems/query_utils.rb +0 -349
  893. package/lib/ruby/3.4.11/rubygems/rdoc.rb +0 -26
  894. package/lib/ruby/3.4.11/rubygems/remote_fetcher.rb +0 -341
  895. package/lib/ruby/3.4.11/rubygems/request/connection_pools.rb +0 -95
  896. package/lib/ruby/3.4.11/rubygems/request/http_pool.rb +0 -47
  897. package/lib/ruby/3.4.11/rubygems/request/https_pool.rb +0 -10
  898. package/lib/ruby/3.4.11/rubygems/request.rb +0 -298
  899. package/lib/ruby/3.4.11/rubygems/request_set/gem_dependency_api.rb +0 -841
  900. package/lib/ruby/3.4.11/rubygems/request_set/lockfile/parser.rb +0 -344
  901. package/lib/ruby/3.4.11/rubygems/request_set/lockfile/tokenizer.rb +0 -122
  902. package/lib/ruby/3.4.11/rubygems/request_set/lockfile.rb +0 -235
  903. package/lib/ruby/3.4.11/rubygems/request_set.rb +0 -468
  904. package/lib/ruby/3.4.11/rubygems/requirement.rb +0 -298
  905. package/lib/ruby/3.4.11/rubygems/resolver/activation_request.rb +0 -159
  906. package/lib/ruby/3.4.11/rubygems/resolver/api_set/gem_parser.rb +0 -21
  907. package/lib/ruby/3.4.11/rubygems/resolver/api_set.rb +0 -139
  908. package/lib/ruby/3.4.11/rubygems/resolver/api_specification.rb +0 -105
  909. package/lib/ruby/3.4.11/rubygems/resolver/best_set.rb +0 -49
  910. package/lib/ruby/3.4.11/rubygems/resolver/composed_set.rb +0 -65
  911. package/lib/ruby/3.4.11/rubygems/resolver/conflict.rb +0 -146
  912. package/lib/ruby/3.4.11/rubygems/resolver/current_set.rb +0 -12
  913. package/lib/ruby/3.4.11/rubygems/resolver/dependency_request.rb +0 -119
  914. package/lib/ruby/3.4.11/rubygems/resolver/git_set.rb +0 -120
  915. package/lib/ruby/3.4.11/rubygems/resolver/git_specification.rb +0 -57
  916. package/lib/ruby/3.4.11/rubygems/resolver/index_set.rb +0 -79
  917. package/lib/ruby/3.4.11/rubygems/resolver/index_specification.rb +0 -101
  918. package/lib/ruby/3.4.11/rubygems/resolver/installed_specification.rb +0 -57
  919. package/lib/ruby/3.4.11/rubygems/resolver/installer_set.rb +0 -271
  920. package/lib/ruby/3.4.11/rubygems/resolver/local_specification.rb +0 -40
  921. package/lib/ruby/3.4.11/rubygems/resolver/lock_set.rb +0 -81
  922. package/lib/ruby/3.4.11/rubygems/resolver/lock_specification.rb +0 -86
  923. package/lib/ruby/3.4.11/rubygems/resolver/requirement_list.rb +0 -82
  924. package/lib/ruby/3.4.11/rubygems/resolver/set.rb +0 -55
  925. package/lib/ruby/3.4.11/rubygems/resolver/source_set.rb +0 -47
  926. package/lib/ruby/3.4.11/rubygems/resolver/spec_specification.rb +0 -76
  927. package/lib/ruby/3.4.11/rubygems/resolver/specification.rb +0 -126
  928. package/lib/ruby/3.4.11/rubygems/resolver/stats.rb +0 -46
  929. package/lib/ruby/3.4.11/rubygems/resolver/vendor_set.rb +0 -86
  930. package/lib/ruby/3.4.11/rubygems/resolver/vendor_specification.rb +0 -23
  931. package/lib/ruby/3.4.11/rubygems/resolver.rb +0 -341
  932. package/lib/ruby/3.4.11/rubygems/s3_uri_signer.rb +0 -177
  933. package/lib/ruby/3.4.11/rubygems/safe_marshal/elements.rb +0 -146
  934. package/lib/ruby/3.4.11/rubygems/safe_marshal/reader.rb +0 -325
  935. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/stream_printer.rb +0 -31
  936. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/to_ruby.rb +0 -428
  937. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/visitor.rb +0 -74
  938. package/lib/ruby/3.4.11/rubygems/safe_marshal.rb +0 -74
  939. package/lib/ruby/3.4.11/rubygems/safe_yaml.rb +0 -45
  940. package/lib/ruby/3.4.11/rubygems/security/policies.rb +0 -114
  941. package/lib/ruby/3.4.11/rubygems/security/policy.rb +0 -288
  942. package/lib/ruby/3.4.11/rubygems/security/signer.rb +0 -212
  943. package/lib/ruby/3.4.11/rubygems/security/trust_dir.rb +0 -117
  944. package/lib/ruby/3.4.11/rubygems/security.rb +0 -615
  945. package/lib/ruby/3.4.11/rubygems/security_option.rb +0 -43
  946. package/lib/ruby/3.4.11/rubygems/source/git.rb +0 -244
  947. package/lib/ruby/3.4.11/rubygems/source/installed.rb +0 -39
  948. package/lib/ruby/3.4.11/rubygems/source/local.rb +0 -131
  949. package/lib/ruby/3.4.11/rubygems/source/lock.rb +0 -49
  950. package/lib/ruby/3.4.11/rubygems/source/specific_file.rb +0 -73
  951. package/lib/ruby/3.4.11/rubygems/source/vendor.rb +0 -24
  952. package/lib/ruby/3.4.11/rubygems/source.rb +0 -247
  953. package/lib/ruby/3.4.11/rubygems/source_list.rb +0 -146
  954. package/lib/ruby/3.4.11/rubygems/spec_fetcher.rb +0 -290
  955. package/lib/ruby/3.4.11/rubygems/specification.rb +0 -2666
  956. package/lib/ruby/3.4.11/rubygems/specification_policy.rb +0 -558
  957. package/lib/ruby/3.4.11/rubygems/specification_record.rb +0 -212
  958. package/lib/ruby/3.4.11/rubygems/ssl_certs/.document +0 -1
  959. package/lib/ruby/3.4.11/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +0 -21
  960. package/lib/ruby/3.4.11/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +0 -21
  961. package/lib/ruby/3.4.11/rubygems/stub_specification.rb +0 -235
  962. package/lib/ruby/3.4.11/rubygems/target_rbconfig.rb +0 -50
  963. package/lib/ruby/3.4.11/rubygems/text.rb +0 -85
  964. package/lib/ruby/3.4.11/rubygems/uninstaller.rb +0 -429
  965. package/lib/ruby/3.4.11/rubygems/unknown_command_spell_checker.rb +0 -21
  966. package/lib/ruby/3.4.11/rubygems/update_suggestion.rb +0 -56
  967. package/lib/ruby/3.4.11/rubygems/uri.rb +0 -126
  968. package/lib/ruby/3.4.11/rubygems/uri_formatter.rb +0 -47
  969. package/lib/ruby/3.4.11/rubygems/user_interaction.rb +0 -650
  970. package/lib/ruby/3.4.11/rubygems/util/licenses.rb +0 -834
  971. package/lib/ruby/3.4.11/rubygems/util/list.rb +0 -40
  972. package/lib/ruby/3.4.11/rubygems/util.rb +0 -118
  973. package/lib/ruby/3.4.11/rubygems/validator.rb +0 -144
  974. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/.document +0 -1
  975. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  976. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
  977. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  978. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  979. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  980. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  981. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  982. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  983. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  984. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  985. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
  986. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
  987. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/errors.rb +0 -149
  988. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  989. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
  990. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  991. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
  992. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  993. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/state.rb +0 -58
  994. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo.rb +0 -11
  995. package/lib/ruby/3.4.11/rubygems/vendor/net-http/.document +0 -1
  996. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/exceptions.rb +0 -34
  997. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/generic_request.rb +0 -414
  998. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/header.rb +0 -981
  999. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/proxy_delta.rb +0 -17
  1000. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/request.rb +0 -88
  1001. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/requests.rb +0 -430
  1002. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/response.rb +0 -738
  1003. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/responses.rb +0 -1174
  1004. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/status.rb +0 -84
  1005. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http.rb +0 -2580
  1006. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/https.rb +0 -23
  1007. package/lib/ruby/3.4.11/rubygems/vendor/net-protocol/.document +0 -1
  1008. package/lib/ruby/3.4.11/rubygems/vendor/net-protocol/lib/net/protocol.rb +0 -544
  1009. package/lib/ruby/3.4.11/rubygems/vendor/optparse/.document +0 -1
  1010. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optionparser.rb +0 -2
  1011. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/ac.rb +0 -70
  1012. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/date.rb +0 -18
  1013. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/kwargs.rb +0 -27
  1014. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/shellwords.rb +0 -7
  1015. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/time.rb +0 -11
  1016. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/uri.rb +0 -7
  1017. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/version.rb +0 -80
  1018. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse.rb +0 -2426
  1019. package/lib/ruby/3.4.11/rubygems/vendor/resolv/.document +0 -1
  1020. package/lib/ruby/3.4.11/rubygems/vendor/resolv/lib/resolv.rb +0 -3455
  1021. package/lib/ruby/3.4.11/rubygems/vendor/securerandom/.document +0 -1
  1022. package/lib/ruby/3.4.11/rubygems/vendor/securerandom/lib/securerandom.rb +0 -102
  1023. package/lib/ruby/3.4.11/rubygems/vendor/timeout/.document +0 -1
  1024. package/lib/ruby/3.4.11/rubygems/vendor/timeout/lib/timeout.rb +0 -198
  1025. package/lib/ruby/3.4.11/rubygems/vendor/tsort/.document +0 -1
  1026. package/lib/ruby/3.4.11/rubygems/vendor/tsort/lib/tsort.rb +0 -455
  1027. package/lib/ruby/3.4.11/rubygems/vendor/uri/.document +0 -1
  1028. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/common.rb +0 -880
  1029. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/file.rb +0 -100
  1030. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ftp.rb +0 -267
  1031. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/generic.rb +0 -1592
  1032. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/http.rb +0 -125
  1033. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/https.rb +0 -23
  1034. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ldap.rb +0 -261
  1035. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ldaps.rb +0 -22
  1036. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/mailto.rb +0 -293
  1037. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +0 -546
  1038. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +0 -206
  1039. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/version.rb +0 -6
  1040. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ws.rb +0 -83
  1041. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/wss.rb +0 -23
  1042. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri.rb +0 -104
  1043. package/lib/ruby/3.4.11/rubygems/vendored_molinillo.rb +0 -3
  1044. package/lib/ruby/3.4.11/rubygems/vendored_net_http.rb +0 -5
  1045. package/lib/ruby/3.4.11/rubygems/vendored_optparse.rb +0 -3
  1046. package/lib/ruby/3.4.11/rubygems/vendored_securerandom.rb +0 -3
  1047. package/lib/ruby/3.4.11/rubygems/vendored_timeout.rb +0 -5
  1048. package/lib/ruby/3.4.11/rubygems/vendored_tsort.rb +0 -3
  1049. package/lib/ruby/3.4.11/rubygems/version.rb +0 -441
  1050. package/lib/ruby/3.4.11/rubygems/version_option.rb +0 -80
  1051. package/lib/ruby/3.4.11/rubygems/yaml_serializer.rb +0 -98
  1052. package/lib/ruby/3.4.11/rubygems.rb +0 -1417
  1053. package/lib/ruby/3.4.11/securerandom.gemspec +0 -34
  1054. package/lib/ruby/3.4.11/securerandom.rb +0 -102
  1055. package/lib/ruby/3.4.11/set/set.gemspec +0 -30
  1056. package/lib/ruby/3.4.11/set/sorted_set.rb +0 -6
  1057. package/lib/ruby/3.4.11/set.rb +0 -855
  1058. package/lib/ruby/3.4.11/shellwords.gemspec +0 -31
  1059. package/lib/ruby/3.4.11/shellwords.rb +0 -254
  1060. package/lib/ruby/3.4.11/singleton.gemspec +0 -30
  1061. package/lib/ruby/3.4.11/singleton.rb +0 -239
  1062. package/lib/ruby/3.4.11/syntax_suggest/api.rb +0 -233
  1063. package/lib/ruby/3.4.11/syntax_suggest/around_block_scan.rb +0 -232
  1064. package/lib/ruby/3.4.11/syntax_suggest/block_expand.rb +0 -165
  1065. package/lib/ruby/3.4.11/syntax_suggest/capture/before_after_keyword_ends.rb +0 -85
  1066. package/lib/ruby/3.4.11/syntax_suggest/capture/falling_indent_lines.rb +0 -71
  1067. package/lib/ruby/3.4.11/syntax_suggest/capture_code_context.rb +0 -245
  1068. package/lib/ruby/3.4.11/syntax_suggest/clean_document.rb +0 -306
  1069. package/lib/ruby/3.4.11/syntax_suggest/cli.rb +0 -130
  1070. package/lib/ruby/3.4.11/syntax_suggest/code_block.rb +0 -100
  1071. package/lib/ruby/3.4.11/syntax_suggest/code_frontier.rb +0 -178
  1072. package/lib/ruby/3.4.11/syntax_suggest/code_line.rb +0 -243
  1073. package/lib/ruby/3.4.11/syntax_suggest/code_search.rb +0 -139
  1074. package/lib/ruby/3.4.11/syntax_suggest/core_ext.rb +0 -96
  1075. package/lib/ruby/3.4.11/syntax_suggest/display_code_with_line_numbers.rb +0 -70
  1076. package/lib/ruby/3.4.11/syntax_suggest/display_invalid_blocks.rb +0 -83
  1077. package/lib/ruby/3.4.11/syntax_suggest/explain_syntax.rb +0 -117
  1078. package/lib/ruby/3.4.11/syntax_suggest/left_right_lex_count.rb +0 -168
  1079. package/lib/ruby/3.4.11/syntax_suggest/lex_all.rb +0 -74
  1080. package/lib/ruby/3.4.11/syntax_suggest/lex_value.rb +0 -70
  1081. package/lib/ruby/3.4.11/syntax_suggest/mini_stringio.rb +0 -30
  1082. package/lib/ruby/3.4.11/syntax_suggest/parse_blocks_from_indent_line.rb +0 -60
  1083. package/lib/ruby/3.4.11/syntax_suggest/pathname_from_message.rb +0 -59
  1084. package/lib/ruby/3.4.11/syntax_suggest/priority_engulf_queue.rb +0 -63
  1085. package/lib/ruby/3.4.11/syntax_suggest/priority_queue.rb +0 -105
  1086. package/lib/ruby/3.4.11/syntax_suggest/ripper_errors.rb +0 -39
  1087. package/lib/ruby/3.4.11/syntax_suggest/scan_history.rb +0 -134
  1088. package/lib/ruby/3.4.11/syntax_suggest/syntax_suggest.gemspec +0 -32
  1089. package/lib/ruby/3.4.11/syntax_suggest/unvisited_lines.rb +0 -36
  1090. package/lib/ruby/3.4.11/syntax_suggest/version.rb +0 -5
  1091. package/lib/ruby/3.4.11/syntax_suggest.rb +0 -3
  1092. package/lib/ruby/3.4.11/tempfile.gemspec +0 -33
  1093. package/lib/ruby/3.4.11/tempfile.rb +0 -640
  1094. package/lib/ruby/3.4.11/time.gemspec +0 -35
  1095. package/lib/ruby/3.4.11/time.rb +0 -731
  1096. package/lib/ruby/3.4.11/timeout.gemspec +0 -33
  1097. package/lib/ruby/3.4.11/timeout.rb +0 -200
  1098. package/lib/ruby/3.4.11/tmpdir.gemspec +0 -30
  1099. package/lib/ruby/3.4.11/tmpdir.rb +0 -189
  1100. package/lib/ruby/3.4.11/tsort.gemspec +0 -29
  1101. package/lib/ruby/3.4.11/tsort.rb +0 -455
  1102. package/lib/ruby/3.4.11/un.gemspec +0 -31
  1103. package/lib/ruby/3.4.11/un.rb +0 -441
  1104. package/lib/ruby/3.4.11/unicode_normalize/normalize.rb +0 -181
  1105. package/lib/ruby/3.4.11/unicode_normalize/tables.rb +0 -9259
  1106. package/lib/ruby/3.4.11/uri/common.rb +0 -880
  1107. package/lib/ruby/3.4.11/uri/file.rb +0 -100
  1108. package/lib/ruby/3.4.11/uri/ftp.rb +0 -267
  1109. package/lib/ruby/3.4.11/uri/generic.rb +0 -1592
  1110. package/lib/ruby/3.4.11/uri/http.rb +0 -125
  1111. package/lib/ruby/3.4.11/uri/https.rb +0 -23
  1112. package/lib/ruby/3.4.11/uri/ldap.rb +0 -261
  1113. package/lib/ruby/3.4.11/uri/ldaps.rb +0 -22
  1114. package/lib/ruby/3.4.11/uri/mailto.rb +0 -293
  1115. package/lib/ruby/3.4.11/uri/rfc2396_parser.rb +0 -546
  1116. package/lib/ruby/3.4.11/uri/rfc3986_parser.rb +0 -206
  1117. package/lib/ruby/3.4.11/uri/uri.gemspec +0 -42
  1118. package/lib/ruby/3.4.11/uri/version.rb +0 -6
  1119. package/lib/ruby/3.4.11/uri/ws.rb +0 -83
  1120. package/lib/ruby/3.4.11/uri/wss.rb +0 -23
  1121. package/lib/ruby/3.4.11/uri.rb +0 -104
  1122. package/lib/ruby/3.4.11/weakref.gemspec +0 -34
  1123. package/lib/ruby/3.4.11/weakref.rb +0 -58
  1124. package/lib/ruby/3.4.11/yaml/dbm.rb +0 -295
  1125. package/lib/ruby/3.4.11/yaml/store.rb +0 -98
  1126. package/lib/ruby/3.4.11/yaml/yaml.gemspec +0 -30
  1127. package/lib/ruby/3.4.11/yaml.rb +0 -70
@@ -1,1410 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- #
4
- # = open3.rb: Popen, but with stderr, too
5
- #
6
- # Author:: Yukihiro Matsumoto
7
- # Documentation:: Konrad Meyer
8
- #
9
- # Open3 gives you access to stdin, stdout, and stderr when running other
10
- # programs.
11
- #
12
-
13
- #
14
- # Open3 grants you access to stdin, stdout, stderr and a thread to wait for the
15
- # child process when running another program.
16
- # You can specify various attributes, redirections, current directory, etc., of
17
- # the program in the same way as for Process.spawn.
18
- #
19
- # - Open3.popen3 : pipes for stdin, stdout, stderr
20
- # - Open3.popen2 : pipes for stdin, stdout
21
- # - Open3.popen2e : pipes for stdin, merged stdout and stderr
22
- # - Open3.capture3 : give a string for stdin; get strings for stdout, stderr
23
- # - Open3.capture2 : give a string for stdin; get a string for stdout
24
- # - Open3.capture2e : give a string for stdin; get a string for merged stdout and stderr
25
- # - Open3.pipeline_rw : pipes for first stdin and last stdout of a pipeline
26
- # - Open3.pipeline_r : pipe for last stdout of a pipeline
27
- # - Open3.pipeline_w : pipe for first stdin of a pipeline
28
- # - Open3.pipeline_start : run a pipeline without waiting
29
- # - Open3.pipeline : run a pipeline and wait for its completion
30
- #
31
-
32
- require 'open3/version'
33
-
34
- # \Module \Open3 supports creating child processes
35
- # with access to their $stdin, $stdout, and $stderr streams.
36
- #
37
- # == What's Here
38
- #
39
- # Each of these methods executes a given command in a new process or subshell,
40
- # or multiple commands in new processes and/or subshells:
41
- #
42
- # - Each of these methods executes a single command in a process or subshell,
43
- # accepts a string for input to $stdin,
44
- # and returns string output from $stdout, $stderr, or both:
45
- #
46
- # - Open3.capture2: Executes the command;
47
- # returns the string from $stdout.
48
- # - Open3.capture2e: Executes the command;
49
- # returns the string from merged $stdout and $stderr.
50
- # - Open3.capture3: Executes the command;
51
- # returns strings from $stdout and $stderr.
52
- #
53
- # - Each of these methods executes a single command in a process or subshell,
54
- # and returns pipes for $stdin, $stdout, and/or $stderr:
55
- #
56
- # - Open3.popen2: Executes the command;
57
- # returns pipes for $stdin and $stdout.
58
- # - Open3.popen2e: Executes the command;
59
- # returns pipes for $stdin and merged $stdout and $stderr.
60
- # - Open3.popen3: Executes the command;
61
- # returns pipes for $stdin, $stdout, and $stderr.
62
- #
63
- # - Each of these methods executes one or more commands in processes and/or subshells,
64
- # returns pipes for the first $stdin, the last $stdout, or both:
65
- #
66
- # - Open3.pipeline_r: Returns a pipe for the last $stdout.
67
- # - Open3.pipeline_rw: Returns pipes for the first $stdin and the last $stdout.
68
- # - Open3.pipeline_w: Returns a pipe for the first $stdin.
69
- # - Open3.pipeline_start: Does not wait for processes to complete.
70
- # - Open3.pipeline: Waits for processes to complete.
71
- #
72
- # Each of the methods above accepts:
73
- #
74
- # - An optional hash of environment variable names and values;
75
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
76
- # - A required string argument that is a +command_line+ or +exe_path+;
77
- # see {Argument command_line or exe_path}[rdoc-ref:Process@Argument+command_line+or+exe_path].
78
- # - An optional hash of execution options;
79
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
80
- #
81
- module Open3
82
-
83
- # :call-seq:
84
- # Open3.popen3([env, ] command_line, options = {}) -> [stdin, stdout, stderr, wait_thread]
85
- # Open3.popen3([env, ] exe_path, *args, options = {}) -> [stdin, stdout, stderr, wait_thread]
86
- # Open3.popen3([env, ] command_line, options = {}) {|stdin, stdout, stderr, wait_thread| ... } -> object
87
- # Open3.popen3([env, ] exe_path, *args, options = {}) {|stdin, stdout, stderr, wait_thread| ... } -> object
88
- #
89
- # Basically a wrapper for
90
- # {Process.spawn}[rdoc-ref:Process.spawn]
91
- # that:
92
- #
93
- # - Creates a child process, by calling Process.spawn with the given arguments.
94
- # - Creates streams +stdin+, +stdout+, and +stderr+,
95
- # which are the standard input, standard output, and standard error streams
96
- # in the child process.
97
- # - Creates thread +wait_thread+ that waits for the child process to exit;
98
- # the thread has method +pid+, which returns the process ID
99
- # of the child process.
100
- #
101
- # With no block given, returns the array
102
- # <tt>[stdin, stdout, stderr, wait_thread]</tt>.
103
- # The caller should close each of the three returned streams.
104
- #
105
- # stdin, stdout, stderr, wait_thread = Open3.popen3('echo')
106
- # # => [#<IO:fd 8>, #<IO:fd 10>, #<IO:fd 12>, #<Process::Waiter:0x00007f58d5428f58 run>]
107
- # stdin.close
108
- # stdout.close
109
- # stderr.close
110
- # wait_thread.pid # => 2210481
111
- # wait_thread.value # => #<Process::Status: pid 2210481 exit 0>
112
- #
113
- # With a block given, calls the block with the four variables
114
- # (three streams and the wait thread)
115
- # and returns the block's return value.
116
- # The caller need not close the streams:
117
- #
118
- # Open3.popen3('echo') do |stdin, stdout, stderr, wait_thread|
119
- # p stdin
120
- # p stdout
121
- # p stderr
122
- # p wait_thread
123
- # p wait_thread.pid
124
- # p wait_thread.value
125
- # end
126
- #
127
- # Output:
128
- #
129
- # #<IO:fd 6>
130
- # #<IO:fd 7>
131
- # #<IO:fd 9>
132
- # #<Process::Waiter:0x00007f58d53606e8 sleep>
133
- # 2211047
134
- # #<Process::Status: pid 2211047 exit 0>
135
- #
136
- # Like Process.spawn, this method has potential security vulnerabilities
137
- # if called with untrusted input;
138
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
139
- #
140
- # Unlike Process.spawn, this method waits for the child process to exit
141
- # before returning, so the caller need not do so.
142
- #
143
- # If the first argument is a hash, it becomes leading argument +env+
144
- # in the call to Process.spawn;
145
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
146
- #
147
- # If the last argument is a hash, it becomes trailing argument +options+
148
- # in the call to Process.spawn;
149
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
150
- #
151
- # The single required argument is one of the following:
152
- #
153
- # - +command_line+ if it is a string,
154
- # and if it begins with a shell reserved word or special built-in,
155
- # or if it contains one or more metacharacters.
156
- # - +exe_path+ otherwise.
157
- #
158
- # <b>Argument +command_line+</b>
159
- #
160
- # \String argument +command_line+ is a command line to be passed to a shell;
161
- # it must begin with a shell reserved word, begin with a special built-in,
162
- # or contain meta characters:
163
- #
164
- # Open3.popen3('if true; then echo "Foo"; fi') {|*args| p args } # Shell reserved word.
165
- # Open3.popen3('echo') {|*args| p args } # Built-in.
166
- # Open3.popen3('date > date.tmp') {|*args| p args } # Contains meta character.
167
- #
168
- # Output (similar for each call above):
169
- #
170
- # [#<IO:(closed)>, #<IO:(closed)>, #<IO:(closed)>, #<Process::Waiter:0x00007f58d52f28c8 dead>]
171
- #
172
- # The command line may also contain arguments and options for the command:
173
- #
174
- # Open3.popen3('echo "Foo"') { |i, o, e, t| o.gets }
175
- # "Foo\n"
176
- #
177
- # <b>Argument +exe_path+</b>
178
- #
179
- # Argument +exe_path+ is one of the following:
180
- #
181
- # - The string path to an executable to be called.
182
- # - A 2-element array containing the path to an executable
183
- # and the string to be used as the name of the executing process.
184
- #
185
- # Example:
186
- #
187
- # Open3.popen3('/usr/bin/date') { |i, o, e, t| o.gets }
188
- # # => "Wed Sep 27 02:56:44 PM CDT 2023\n"
189
- #
190
- # Ruby invokes the executable directly, with no shell and no shell expansion:
191
- #
192
- # Open3.popen3('doesnt_exist') { |i, o, e, t| o.gets } # Raises Errno::ENOENT
193
- #
194
- # If one or more +args+ is given, each is an argument or option
195
- # to be passed to the executable:
196
- #
197
- # Open3.popen3('echo', 'C #') { |i, o, e, t| o.gets }
198
- # # => "C #\n"
199
- # Open3.popen3('echo', 'hello', 'world') { |i, o, e, t| o.gets }
200
- # # => "hello world\n"
201
- #
202
- # Take care to avoid deadlocks.
203
- # Output streams +stdout+ and +stderr+ have fixed-size buffers,
204
- # so reading extensively from one but not the other can cause a deadlock
205
- # when the unread buffer fills.
206
- # To avoid that, +stdout+ and +stderr+ should be read simultaneously
207
- # (using threads or IO.select).
208
- #
209
- # Related:
210
- #
211
- # - Open3.popen2: Makes the standard input and standard output streams
212
- # of the child process available as separate streams,
213
- # with no access to the standard error stream.
214
- # - Open3.popen2e: Makes the standard input and the merge
215
- # of the standard output and standard error streams
216
- # of the child process available as separate streams.
217
- #
218
- def popen3(*cmd, &block)
219
- if Hash === cmd.last
220
- opts = cmd.pop.dup
221
- else
222
- opts = {}
223
- end
224
-
225
- in_r, in_w = IO.pipe
226
- opts[:in] = in_r
227
- in_w.sync = true
228
-
229
- out_r, out_w = IO.pipe
230
- opts[:out] = out_w
231
-
232
- err_r, err_w = IO.pipe
233
- opts[:err] = err_w
234
-
235
- popen_run(cmd, opts, [in_r, out_w, err_w], [in_w, out_r, err_r], &block)
236
- end
237
- module_function :popen3
238
-
239
- # :call-seq:
240
- # Open3.popen2([env, ] command_line, options = {}) -> [stdin, stdout, wait_thread]
241
- # Open3.popen2([env, ] exe_path, *args, options = {}) -> [stdin, stdout, wait_thread]
242
- # Open3.popen2([env, ] command_line, options = {}) {|stdin, stdout, wait_thread| ... } -> object
243
- # Open3.popen2([env, ] exe_path, *args, options = {}) {|stdin, stdout, wait_thread| ... } -> object
244
- #
245
- # Basically a wrapper for
246
- # {Process.spawn}[rdoc-ref:Process.spawn]
247
- # that:
248
- #
249
- # - Creates a child process, by calling Process.spawn with the given arguments.
250
- # - Creates streams +stdin+ and +stdout+,
251
- # which are the standard input and standard output streams
252
- # in the child process.
253
- # - Creates thread +wait_thread+ that waits for the child process to exit;
254
- # the thread has method +pid+, which returns the process ID
255
- # of the child process.
256
- #
257
- # With no block given, returns the array
258
- # <tt>[stdin, stdout, wait_thread]</tt>.
259
- # The caller should close each of the two returned streams.
260
- #
261
- # stdin, stdout, wait_thread = Open3.popen2('echo')
262
- # # => [#<IO:fd 6>, #<IO:fd 7>, #<Process::Waiter:0x00007f58d52dbe98 run>]
263
- # stdin.close
264
- # stdout.close
265
- # wait_thread.pid # => 2263572
266
- # wait_thread.value # => #<Process::Status: pid 2263572 exit 0>
267
- #
268
- # With a block given, calls the block with the three variables
269
- # (two streams and the wait thread)
270
- # and returns the block's return value.
271
- # The caller need not close the streams:
272
- #
273
- # Open3.popen2('echo') do |stdin, stdout, wait_thread|
274
- # p stdin
275
- # p stdout
276
- # p wait_thread
277
- # p wait_thread.pid
278
- # p wait_thread.value
279
- # end
280
- #
281
- # Output:
282
- #
283
- # #<IO:fd 6>
284
- # #<IO:fd 7>
285
- # #<Process::Waiter:0x00007f58d59a34b0 sleep>
286
- # 2263636
287
- # #<Process::Status: pid 2263636 exit 0>
288
- #
289
- # Like Process.spawn, this method has potential security vulnerabilities
290
- # if called with untrusted input;
291
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
292
- #
293
- # Unlike Process.spawn, this method waits for the child process to exit
294
- # before returning, so the caller need not do so.
295
- #
296
- # If the first argument is a hash, it becomes leading argument +env+
297
- # in the call to Process.spawn;
298
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
299
- #
300
- # If the last argument is a hash, it becomes trailing argument +options+
301
- # in the call to Process.spawn;
302
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
303
- #
304
- # The single required argument is one of the following:
305
- #
306
- # - +command_line+ if it is a string,
307
- # and if it begins with a shell reserved word or special built-in,
308
- # or if it contains one or more metacharacters.
309
- # - +exe_path+ otherwise.
310
- #
311
- # <b>Argument +command_line+</b>
312
- #
313
- # \String argument +command_line+ is a command line to be passed to a shell;
314
- # it must begin with a shell reserved word, begin with a special built-in,
315
- # or contain meta characters:
316
- #
317
- # Open3.popen2('if true; then echo "Foo"; fi') {|*args| p args } # Shell reserved word.
318
- # Open3.popen2('echo') {|*args| p args } # Built-in.
319
- # Open3.popen2('date > date.tmp') {|*args| p args } # Contains meta character.
320
- #
321
- # Output (similar for each call above):
322
- #
323
- # # => [#<IO:(closed)>, #<IO:(closed)>, #<Process::Waiter:0x00007f7577dfe410 dead>]
324
- #
325
- # The command line may also contain arguments and options for the command:
326
- #
327
- # Open3.popen2('echo "Foo"') { |i, o, t| o.gets }
328
- # "Foo\n"
329
- #
330
- # <b>Argument +exe_path+</b>
331
- #
332
- # Argument +exe_path+ is one of the following:
333
- #
334
- # - The string path to an executable to be called.
335
- # - A 2-element array containing the path to an executable
336
- # and the string to be used as the name of the executing process.
337
- #
338
- # Example:
339
- #
340
- # Open3.popen2('/usr/bin/date') { |i, o, t| o.gets }
341
- # # => "Thu Sep 28 09:41:06 AM CDT 2023\n"
342
- #
343
- # Ruby invokes the executable directly, with no shell and no shell expansion:
344
- #
345
- # Open3.popen2('doesnt_exist') { |i, o, t| o.gets } # Raises Errno::ENOENT
346
- #
347
- # If one or more +args+ is given, each is an argument or option
348
- # to be passed to the executable:
349
- #
350
- # Open3.popen2('echo', 'C #') { |i, o, t| o.gets }
351
- # # => "C #\n"
352
- # Open3.popen2('echo', 'hello', 'world') { |i, o, t| o.gets }
353
- # # => "hello world\n"
354
- #
355
- #
356
- # Related:
357
- #
358
- # - Open3.popen2e: Makes the standard input and the merge
359
- # of the standard output and standard error streams
360
- # of the child process available as separate streams.
361
- # - Open3.popen3: Makes the standard input, standard output,
362
- # and standard error streams
363
- # of the child process available as separate streams.
364
- #
365
- def popen2(*cmd, &block)
366
- if Hash === cmd.last
367
- opts = cmd.pop.dup
368
- else
369
- opts = {}
370
- end
371
-
372
- in_r, in_w = IO.pipe
373
- opts[:in] = in_r
374
- in_w.sync = true
375
-
376
- out_r, out_w = IO.pipe
377
- opts[:out] = out_w
378
-
379
- popen_run(cmd, opts, [in_r, out_w], [in_w, out_r], &block)
380
- end
381
- module_function :popen2
382
-
383
- # :call-seq:
384
- # Open3.popen2e([env, ] command_line, options = {}) -> [stdin, stdout_and_stderr, wait_thread]
385
- # Open3.popen2e([env, ] exe_path, *args, options = {}) -> [stdin, stdout_and_stderr, wait_thread]
386
- # Open3.popen2e([env, ] command_line, options = {}) {|stdin, stdout_and_stderr, wait_thread| ... } -> object
387
- # Open3.popen2e([env, ] exe_path, *args, options = {}) {|stdin, stdout_and_stderr, wait_thread| ... } -> object
388
- #
389
- # Basically a wrapper for
390
- # {Process.spawn}[rdoc-ref:Process.spawn]
391
- # that:
392
- #
393
- # - Creates a child process, by calling Process.spawn with the given arguments.
394
- # - Creates streams +stdin+, +stdout_and_stderr+,
395
- # which are the standard input and the merge of the standard output
396
- # and standard error streams in the child process.
397
- # - Creates thread +wait_thread+ that waits for the child process to exit;
398
- # the thread has method +pid+, which returns the process ID
399
- # of the child process.
400
- #
401
- # With no block given, returns the array
402
- # <tt>[stdin, stdout_and_stderr, wait_thread]</tt>.
403
- # The caller should close each of the two returned streams.
404
- #
405
- # stdin, stdout_and_stderr, wait_thread = Open3.popen2e('echo')
406
- # # => [#<IO:fd 6>, #<IO:fd 7>, #<Process::Waiter:0x00007f7577da4398 run>]
407
- # stdin.close
408
- # stdout_and_stderr.close
409
- # wait_thread.pid # => 2274600
410
- # wait_thread.value # => #<Process::Status: pid 2274600 exit 0>
411
- #
412
- # With a block given, calls the block with the three variables
413
- # (two streams and the wait thread)
414
- # and returns the block's return value.
415
- # The caller need not close the streams:
416
- #
417
- # Open3.popen2e('echo') do |stdin, stdout_and_stderr, wait_thread|
418
- # p stdin
419
- # p stdout_and_stderr
420
- # p wait_thread
421
- # p wait_thread.pid
422
- # p wait_thread.value
423
- # end
424
- #
425
- # Output:
426
- #
427
- # #<IO:fd 6>
428
- # #<IO:fd 7>
429
- # #<Process::Waiter:0x00007f75777578c8 sleep>
430
- # 2274763
431
- # #<Process::Status: pid 2274763 exit 0>
432
- #
433
- # Like Process.spawn, this method has potential security vulnerabilities
434
- # if called with untrusted input;
435
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
436
- #
437
- # Unlike Process.spawn, this method waits for the child process to exit
438
- # before returning, so the caller need not do so.
439
- #
440
- # If the first argument is a hash, it becomes leading argument +env+
441
- # in the call to Process.spawn;
442
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
443
- #
444
- # If the last argument is a hash, it becomes trailing argument +options+
445
- # in the call to Process.spawn;
446
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
447
- #
448
- # The single required argument is one of the following:
449
- #
450
- # - +command_line+ if it is a string,
451
- # and if it begins with a shell reserved word or special built-in,
452
- # or if it contains one or more metacharacters.
453
- # - +exe_path+ otherwise.
454
- #
455
- # <b>Argument +command_line+</b>
456
- #
457
- # \String argument +command_line+ is a command line to be passed to a shell;
458
- # it must begin with a shell reserved word, begin with a special built-in,
459
- # or contain meta characters:
460
- #
461
- # Open3.popen2e('if true; then echo "Foo"; fi') {|*args| p args } # Shell reserved word.
462
- # Open3.popen2e('echo') {|*args| p args } # Built-in.
463
- # Open3.popen2e('date > date.tmp') {|*args| p args } # Contains meta character.
464
- #
465
- # Output (similar for each call above):
466
- #
467
- # # => [#<IO:(closed)>, #<IO:(closed)>, #<Process::Waiter:0x00007f7577d8a1f0 dead>]
468
- #
469
- # The command line may also contain arguments and options for the command:
470
- #
471
- # Open3.popen2e('echo "Foo"') { |i, o_and_e, t| o_and_e.gets }
472
- # "Foo\n"
473
- #
474
- # <b>Argument +exe_path+</b>
475
- #
476
- # Argument +exe_path+ is one of the following:
477
- #
478
- # - The string path to an executable to be called.
479
- # - A 2-element array containing the path to an executable
480
- # and the string to be used as the name of the executing process.
481
- #
482
- # Example:
483
- #
484
- # Open3.popen2e('/usr/bin/date') { |i, o_and_e, t| o_and_e.gets }
485
- # # => "Thu Sep 28 01:58:45 PM CDT 2023\n"
486
- #
487
- # Ruby invokes the executable directly, with no shell and no shell expansion:
488
- #
489
- # Open3.popen2e('doesnt_exist') { |i, o_and_e, t| o_and_e.gets } # Raises Errno::ENOENT
490
- #
491
- # If one or more +args+ is given, each is an argument or option
492
- # to be passed to the executable:
493
- #
494
- # Open3.popen2e('echo', 'C #') { |i, o_and_e, t| o_and_e.gets }
495
- # # => "C #\n"
496
- # Open3.popen2e('echo', 'hello', 'world') { |i, o_and_e, t| o_and_e.gets }
497
- # # => "hello world\n"
498
- #
499
- # Related:
500
- #
501
- # - Open3.popen2: Makes the standard input and standard output streams
502
- # of the child process available as separate streams,
503
- # with no access to the standard error stream.
504
- # - Open3.popen3: Makes the standard input, standard output,
505
- # and standard error streams
506
- # of the child process available as separate streams.
507
- #
508
- def popen2e(*cmd, &block)
509
- if Hash === cmd.last
510
- opts = cmd.pop.dup
511
- else
512
- opts = {}
513
- end
514
-
515
- in_r, in_w = IO.pipe
516
- opts[:in] = in_r
517
- in_w.sync = true
518
-
519
- out_r, out_w = IO.pipe
520
- opts[[:out, :err]] = out_w
521
-
522
- popen_run(cmd, opts, [in_r, out_w], [in_w, out_r], &block)
523
- ensure
524
- if block
525
- in_r.close
526
- in_w.close
527
- out_r.close
528
- out_w.close
529
- end
530
- end
531
- module_function :popen2e
532
-
533
- def popen_run(cmd, opts, child_io, parent_io) # :nodoc:
534
- pid = spawn(*cmd, opts)
535
- wait_thr = Process.detach(pid)
536
- child_io.each(&:close)
537
- result = [*parent_io, wait_thr]
538
- if defined? yield
539
- begin
540
- return yield(*result)
541
- ensure
542
- parent_io.each(&:close)
543
- wait_thr.join
544
- end
545
- end
546
- result
547
- end
548
- module_function :popen_run
549
- class << self
550
- private :popen_run
551
- end
552
-
553
- # :call-seq:
554
- # Open3.capture3([env, ] command_line, options = {}) -> [stdout_s, stderr_s, status]
555
- # Open3.capture3([env, ] exe_path, *args, options = {}) -> [stdout_s, stderr_s, status]
556
- #
557
- # Basically a wrapper for Open3.popen3 that:
558
- #
559
- # - Creates a child process, by calling Open3.popen3 with the given arguments
560
- # (except for certain entries in hash +options+; see below).
561
- # - Returns as strings +stdout_s+ and +stderr_s+ the standard output
562
- # and standard error of the child process.
563
- # - Returns as +status+ a <tt>Process::Status</tt> object
564
- # that represents the exit status of the child process.
565
- #
566
- # Returns the array <tt>[stdout_s, stderr_s, status]</tt>:
567
- #
568
- # stdout_s, stderr_s, status = Open3.capture3('echo "Foo"')
569
- # # => ["Foo\n", "", #<Process::Status: pid 2281954 exit 0>]
570
- #
571
- # Like Process.spawn, this method has potential security vulnerabilities
572
- # if called with untrusted input;
573
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
574
- #
575
- # Unlike Process.spawn, this method waits for the child process to exit
576
- # before returning, so the caller need not do so.
577
- #
578
- # If the first argument is a hash, it becomes leading argument +env+
579
- # in the call to Open3.popen3;
580
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
581
- #
582
- # If the last argument is a hash, it becomes trailing argument +options+
583
- # in the call to Open3.popen3;
584
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
585
- #
586
- # The hash +options+ is given;
587
- # two options have local effect in method Open3.capture3:
588
- #
589
- # - If entry <tt>options[:stdin_data]</tt> exists, the entry is removed
590
- # and its string value is sent to the command's standard input:
591
- #
592
- # Open3.capture3('tee', stdin_data: 'Foo')
593
- # # => ["Foo", "", #<Process::Status: pid 2319575 exit 0>]
594
- #
595
- # - If entry <tt>options[:binmode]</tt> exists, the entry is removed and
596
- # the internal streams are set to binary mode.
597
- #
598
- # The single required argument is one of the following:
599
- #
600
- # - +command_line+ if it is a string,
601
- # and if it begins with a shell reserved word or special built-in,
602
- # or if it contains one or more metacharacters.
603
- # - +exe_path+ otherwise.
604
- #
605
- # <b>Argument +command_line+</b>
606
- #
607
- # \String argument +command_line+ is a command line to be passed to a shell;
608
- # it must begin with a shell reserved word, begin with a special built-in,
609
- # or contain meta characters:
610
- #
611
- # Open3.capture3('if true; then echo "Foo"; fi') # Shell reserved word.
612
- # # => ["Foo\n", "", #<Process::Status: pid 2282025 exit 0>]
613
- # Open3.capture3('echo') # Built-in.
614
- # # => ["\n", "", #<Process::Status: pid 2282092 exit 0>]
615
- # Open3.capture3('date > date.tmp') # Contains meta character.
616
- # # => ["", "", #<Process::Status: pid 2282110 exit 0>]
617
- #
618
- # The command line may also contain arguments and options for the command:
619
- #
620
- # Open3.capture3('echo "Foo"')
621
- # # => ["Foo\n", "", #<Process::Status: pid 2282092 exit 0>]
622
- #
623
- # <b>Argument +exe_path+</b>
624
- #
625
- # Argument +exe_path+ is one of the following:
626
- #
627
- # - The string path to an executable to be called.
628
- # - A 2-element array containing the path to an executable
629
- # and the string to be used as the name of the executing process.
630
- #
631
- # Example:
632
- #
633
- # Open3.capture3('/usr/bin/date')
634
- # # => ["Thu Sep 28 05:03:51 PM CDT 2023\n", "", #<Process::Status: pid 2282300 exit 0>]
635
- #
636
- # Ruby invokes the executable directly, with no shell and no shell expansion:
637
- #
638
- # Open3.capture3('doesnt_exist') # Raises Errno::ENOENT
639
- #
640
- # If one or more +args+ is given, each is an argument or option
641
- # to be passed to the executable:
642
- #
643
- # Open3.capture3('echo', 'C #')
644
- # # => ["C #\n", "", #<Process::Status: pid 2282368 exit 0>]
645
- # Open3.capture3('echo', 'hello', 'world')
646
- # # => ["hello world\n", "", #<Process::Status: pid 2282372 exit 0>]
647
- #
648
- def capture3(*cmd)
649
- if Hash === cmd.last
650
- opts = cmd.pop.dup
651
- else
652
- opts = {}
653
- end
654
-
655
- stdin_data = opts.delete(:stdin_data) || ''
656
- binmode = opts.delete(:binmode)
657
-
658
- popen3(*cmd, opts) {|i, o, e, t|
659
- if binmode
660
- i.binmode
661
- o.binmode
662
- e.binmode
663
- end
664
- out_reader = Thread.new { o.read }
665
- err_reader = Thread.new { e.read }
666
- begin
667
- if stdin_data.respond_to? :readpartial
668
- IO.copy_stream(stdin_data, i)
669
- else
670
- i.write stdin_data
671
- end
672
- rescue Errno::EPIPE
673
- end
674
- i.close
675
- [out_reader.value, err_reader.value, t.value]
676
- }
677
- end
678
- module_function :capture3
679
-
680
- # :call-seq:
681
- # Open3.capture2([env, ] command_line, options = {}) -> [stdout_s, status]
682
- # Open3.capture2([env, ] exe_path, *args, options = {}) -> [stdout_s, status]
683
- #
684
- # Basically a wrapper for Open3.popen3 that:
685
- #
686
- # - Creates a child process, by calling Open3.popen3 with the given arguments
687
- # (except for certain entries in hash +options+; see below).
688
- # - Returns as string +stdout_s+ the standard output of the child process.
689
- # - Returns as +status+ a <tt>Process::Status</tt> object
690
- # that represents the exit status of the child process.
691
- #
692
- # Returns the array <tt>[stdout_s, status]</tt>:
693
- #
694
- # stdout_s, status = Open3.capture2('echo "Foo"')
695
- # # => ["Foo\n", #<Process::Status: pid 2326047 exit 0>]
696
- #
697
- # Like Process.spawn, this method has potential security vulnerabilities
698
- # if called with untrusted input;
699
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
700
- #
701
- # Unlike Process.spawn, this method waits for the child process to exit
702
- # before returning, so the caller need not do so.
703
- #
704
- # If the first argument is a hash, it becomes leading argument +env+
705
- # in the call to Open3.popen3;
706
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
707
- #
708
- # If the last argument is a hash, it becomes trailing argument +options+
709
- # in the call to Open3.popen3;
710
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
711
- #
712
- # The hash +options+ is given;
713
- # two options have local effect in method Open3.capture2:
714
- #
715
- # - If entry <tt>options[:stdin_data]</tt> exists, the entry is removed
716
- # and its string value is sent to the command's standard input:
717
- #
718
- # Open3.capture2('tee', stdin_data: 'Foo')
719
- #
720
- # # => ["Foo", #<Process::Status: pid 2326087 exit 0>]
721
- #
722
- # - If entry <tt>options[:binmode]</tt> exists, the entry is removed and
723
- # the internal streams are set to binary mode.
724
- #
725
- # The single required argument is one of the following:
726
- #
727
- # - +command_line+ if it is a string,
728
- # and if it begins with a shell reserved word or special built-in,
729
- # or if it contains one or more metacharacters.
730
- # - +exe_path+ otherwise.
731
- #
732
- # <b>Argument +command_line+</b>
733
- #
734
- # \String argument +command_line+ is a command line to be passed to a shell;
735
- # it must begin with a shell reserved word, begin with a special built-in,
736
- # or contain meta characters:
737
- #
738
- # Open3.capture2('if true; then echo "Foo"; fi') # Shell reserved word.
739
- # # => ["Foo\n", #<Process::Status: pid 2326131 exit 0>]
740
- # Open3.capture2('echo') # Built-in.
741
- # # => ["\n", #<Process::Status: pid 2326139 exit 0>]
742
- # Open3.capture2('date > date.tmp') # Contains meta character.
743
- # # => ["", #<Process::Status: pid 2326174 exit 0>]
744
- #
745
- # The command line may also contain arguments and options for the command:
746
- #
747
- # Open3.capture2('echo "Foo"')
748
- # # => ["Foo\n", #<Process::Status: pid 2326183 exit 0>]
749
- #
750
- # <b>Argument +exe_path+</b>
751
- #
752
- # Argument +exe_path+ is one of the following:
753
- #
754
- # - The string path to an executable to be called.
755
- # - A 2-element array containing the path to an executable
756
- # and the string to be used as the name of the executing process.
757
- #
758
- # Example:
759
- #
760
- # Open3.capture2('/usr/bin/date')
761
- # # => ["Fri Sep 29 01:00:39 PM CDT 2023\n", #<Process::Status: pid 2326222 exit 0>]
762
- #
763
- # Ruby invokes the executable directly, with no shell and no shell expansion:
764
- #
765
- # Open3.capture2('doesnt_exist') # Raises Errno::ENOENT
766
- #
767
- # If one or more +args+ is given, each is an argument or option
768
- # to be passed to the executable:
769
- #
770
- # Open3.capture2('echo', 'C #')
771
- # # => ["C #\n", #<Process::Status: pid 2326267 exit 0>]
772
- # Open3.capture2('echo', 'hello', 'world')
773
- # # => ["hello world\n", #<Process::Status: pid 2326299 exit 0>]
774
- #
775
- def capture2(*cmd)
776
- if Hash === cmd.last
777
- opts = cmd.pop.dup
778
- else
779
- opts = {}
780
- end
781
-
782
- stdin_data = opts.delete(:stdin_data)
783
- binmode = opts.delete(:binmode)
784
-
785
- popen2(*cmd, opts) {|i, o, t|
786
- if binmode
787
- i.binmode
788
- o.binmode
789
- end
790
- out_reader = Thread.new { o.read }
791
- if stdin_data
792
- begin
793
- if stdin_data.respond_to? :readpartial
794
- IO.copy_stream(stdin_data, i)
795
- else
796
- i.write stdin_data
797
- end
798
- rescue Errno::EPIPE
799
- end
800
- end
801
- i.close
802
- [out_reader.value, t.value]
803
- }
804
- end
805
- module_function :capture2
806
-
807
- # :call-seq:
808
- # Open3.capture2e([env, ] command_line, options = {}) -> [stdout_and_stderr_s, status]
809
- # Open3.capture2e([env, ] exe_path, *args, options = {}) -> [stdout_and_stderr_s, status]
810
- #
811
- # Basically a wrapper for Open3.popen3 that:
812
- #
813
- # - Creates a child process, by calling Open3.popen3 with the given arguments
814
- # (except for certain entries in hash +options+; see below).
815
- # - Returns as string +stdout_and_stderr_s+ the merged standard output
816
- # and standard error of the child process.
817
- # - Returns as +status+ a <tt>Process::Status</tt> object
818
- # that represents the exit status of the child process.
819
- #
820
- # Returns the array <tt>[stdout_and_stderr_s, status]</tt>:
821
- #
822
- # stdout_and_stderr_s, status = Open3.capture2e('echo "Foo"')
823
- # # => ["Foo\n", #<Process::Status: pid 2371692 exit 0>]
824
- #
825
- # Like Process.spawn, this method has potential security vulnerabilities
826
- # if called with untrusted input;
827
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
828
- #
829
- # Unlike Process.spawn, this method waits for the child process to exit
830
- # before returning, so the caller need not do so.
831
- #
832
- # If the first argument is a hash, it becomes leading argument +env+
833
- # in the call to Open3.popen3;
834
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
835
- #
836
- # If the last argument is a hash, it becomes trailing argument +options+
837
- # in the call to Open3.popen3;
838
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
839
- #
840
- # The hash +options+ is given;
841
- # two options have local effect in method Open3.capture2e:
842
- #
843
- # - If entry <tt>options[:stdin_data]</tt> exists, the entry is removed
844
- # and its string value is sent to the command's standard input:
845
- #
846
- # Open3.capture2e('tee', stdin_data: 'Foo')
847
- # # => ["Foo", #<Process::Status: pid 2371732 exit 0>]
848
- #
849
- # - If entry <tt>options[:binmode]</tt> exists, the entry is removed and
850
- # the internal streams are set to binary mode.
851
- #
852
- # The single required argument is one of the following:
853
- #
854
- # - +command_line+ if it is a string,
855
- # and if it begins with a shell reserved word or special built-in,
856
- # or if it contains one or more metacharacters.
857
- # - +exe_path+ otherwise.
858
- #
859
- # <b>Argument +command_line+</b>
860
- #
861
- # \String argument +command_line+ is a command line to be passed to a shell;
862
- # it must begin with a shell reserved word, begin with a special built-in,
863
- # or contain meta characters:
864
- #
865
- # Open3.capture2e('if true; then echo "Foo"; fi') # Shell reserved word.
866
- # # => ["Foo\n", #<Process::Status: pid 2371740 exit 0>]
867
- # Open3.capture2e('echo') # Built-in.
868
- # # => ["\n", #<Process::Status: pid 2371774 exit 0>]
869
- # Open3.capture2e('date > date.tmp') # Contains meta character.
870
- # # => ["", #<Process::Status: pid 2371812 exit 0>]
871
- #
872
- # The command line may also contain arguments and options for the command:
873
- #
874
- # Open3.capture2e('echo "Foo"')
875
- # # => ["Foo\n", #<Process::Status: pid 2326183 exit 0>]
876
- #
877
- # <b>Argument +exe_path+</b>
878
- #
879
- # Argument +exe_path+ is one of the following:
880
- #
881
- # - The string path to an executable to be called.
882
- # - A 2-element array containing the path to an executable
883
- # and the string to be used as the name of the executing process.
884
- #
885
- # Example:
886
- #
887
- # Open3.capture2e('/usr/bin/date')
888
- # # => ["Sat Sep 30 09:01:46 AM CDT 2023\n", #<Process::Status: pid 2371820 exit 0>]
889
- #
890
- # Ruby invokes the executable directly, with no shell and no shell expansion:
891
- #
892
- # Open3.capture2e('doesnt_exist') # Raises Errno::ENOENT
893
- #
894
- # If one or more +args+ is given, each is an argument or option
895
- # to be passed to the executable:
896
- #
897
- # Open3.capture2e('echo', 'C #')
898
- # # => ["C #\n", #<Process::Status: pid 2371856 exit 0>]
899
- # Open3.capture2e('echo', 'hello', 'world')
900
- # # => ["hello world\n", #<Process::Status: pid 2371894 exit 0>]
901
- #
902
- def capture2e(*cmd)
903
- if Hash === cmd.last
904
- opts = cmd.pop.dup
905
- else
906
- opts = {}
907
- end
908
-
909
- stdin_data = opts.delete(:stdin_data)
910
- binmode = opts.delete(:binmode)
911
-
912
- popen2e(*cmd, opts) {|i, oe, t|
913
- if binmode
914
- i.binmode
915
- oe.binmode
916
- end
917
- outerr_reader = Thread.new { oe.read }
918
- if stdin_data
919
- begin
920
- if stdin_data.respond_to? :readpartial
921
- IO.copy_stream(stdin_data, i)
922
- else
923
- i.write stdin_data
924
- end
925
- rescue Errno::EPIPE
926
- end
927
- end
928
- i.close
929
- [outerr_reader.value, t.value]
930
- }
931
- end
932
- module_function :capture2e
933
-
934
- # :call-seq:
935
- # Open3.pipeline_rw([env, ] *cmds, options = {}) -> [first_stdin, last_stdout, wait_threads]
936
- #
937
- # Basically a wrapper for
938
- # {Process.spawn}[rdoc-ref:Process.spawn]
939
- # that:
940
- #
941
- # - Creates a child process for each of the given +cmds+
942
- # by calling Process.spawn.
943
- # - Pipes the +stdout+ from each child to the +stdin+ of the next child,
944
- # or, for the first child, from the caller's +stdin+,
945
- # or, for the last child, to the caller's +stdout+.
946
- #
947
- # The method does not wait for child processes to exit,
948
- # so the caller must do so.
949
- #
950
- # With no block given, returns a 3-element array containing:
951
- #
952
- # - The +stdin+ stream of the first child process.
953
- # - The +stdout+ stream of the last child process.
954
- # - An array of the wait threads for all of the child processes.
955
- #
956
- # Example:
957
- #
958
- # first_stdin, last_stdout, wait_threads = Open3.pipeline_rw('sort', 'cat -n')
959
- # # => [#<IO:fd 20>, #<IO:fd 21>, [#<Process::Waiter:0x000055e8de29ab40 sleep>, #<Process::Waiter:0x000055e8de29a690 sleep>]]
960
- # first_stdin.puts("foo\nbar\nbaz")
961
- # first_stdin.close # Send EOF to sort.
962
- # puts last_stdout.read
963
- # wait_threads.each do |wait_thread|
964
- # wait_thread.join
965
- # end
966
- #
967
- # Output:
968
- #
969
- # 1 bar
970
- # 2 baz
971
- # 3 foo
972
- #
973
- # With a block given, calls the block with the +stdin+ stream of the first child,
974
- # the +stdout+ stream of the last child,
975
- # and an array of the wait processes:
976
- #
977
- # Open3.pipeline_rw('sort', 'cat -n') do |first_stdin, last_stdout, wait_threads|
978
- # first_stdin.puts "foo\nbar\nbaz"
979
- # first_stdin.close # send EOF to sort.
980
- # puts last_stdout.read
981
- # wait_threads.each do |wait_thread|
982
- # wait_thread.join
983
- # end
984
- # end
985
- #
986
- # Output:
987
- #
988
- # 1 bar
989
- # 2 baz
990
- # 3 foo
991
- #
992
- # Like Process.spawn, this method has potential security vulnerabilities
993
- # if called with untrusted input;
994
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
995
- #
996
- # If the first argument is a hash, it becomes leading argument +env+
997
- # in each call to Process.spawn;
998
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
999
- #
1000
- # If the last argument is a hash, it becomes trailing argument +options+
1001
- # in each call to Process.spawn;
1002
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
1003
- #
1004
- # Each remaining argument in +cmds+ is one of:
1005
- #
1006
- # - A +command_line+: a string that begins with a shell reserved word
1007
- # or special built-in, or contains one or more metacharacters.
1008
- # - An +exe_path+: the string path to an executable to be called.
1009
- # - An array containing a +command_line+ or an +exe_path+,
1010
- # along with zero or more string arguments for the command.
1011
- #
1012
- # See {Argument command_line or exe_path}[rdoc-ref:Process@Argument+command_line+or+exe_path].
1013
- #
1014
- def pipeline_rw(*cmds, &block)
1015
- if Hash === cmds.last
1016
- opts = cmds.pop.dup
1017
- else
1018
- opts = {}
1019
- end
1020
-
1021
- in_r, in_w = IO.pipe
1022
- opts[:in] = in_r
1023
- in_w.sync = true
1024
-
1025
- out_r, out_w = IO.pipe
1026
- opts[:out] = out_w
1027
-
1028
- pipeline_run(cmds, opts, [in_r, out_w], [in_w, out_r], &block)
1029
- end
1030
- module_function :pipeline_rw
1031
-
1032
- # :call-seq:
1033
- # Open3.pipeline_r([env, ] *cmds, options = {}) -> [last_stdout, wait_threads]
1034
- #
1035
- # Basically a wrapper for
1036
- # {Process.spawn}[rdoc-ref:Process.spawn]
1037
- # that:
1038
- #
1039
- # - Creates a child process for each of the given +cmds+
1040
- # by calling Process.spawn.
1041
- # - Pipes the +stdout+ from each child to the +stdin+ of the next child,
1042
- # or, for the last child, to the caller's +stdout+.
1043
- #
1044
- # The method does not wait for child processes to exit,
1045
- # so the caller must do so.
1046
- #
1047
- # With no block given, returns a 2-element array containing:
1048
- #
1049
- # - The +stdout+ stream of the last child process.
1050
- # - An array of the wait threads for all of the child processes.
1051
- #
1052
- # Example:
1053
- #
1054
- # last_stdout, wait_threads = Open3.pipeline_r('ls', 'grep R')
1055
- # # => [#<IO:fd 5>, [#<Process::Waiter:0x000055e8de2f9898 dead>, #<Process::Waiter:0x000055e8de2f94b0 sleep>]]
1056
- # puts last_stdout.read
1057
- # wait_threads.each do |wait_thread|
1058
- # wait_thread.join
1059
- # end
1060
- #
1061
- # Output:
1062
- #
1063
- # Rakefile
1064
- # README.md
1065
- #
1066
- # With a block given, calls the block with the +stdout+ stream
1067
- # of the last child process,
1068
- # and an array of the wait processes:
1069
- #
1070
- # Open3.pipeline_r('ls', 'grep R') do |last_stdout, wait_threads|
1071
- # puts last_stdout.read
1072
- # wait_threads.each do |wait_thread|
1073
- # wait_thread.join
1074
- # end
1075
- # end
1076
- #
1077
- # Output:
1078
- #
1079
- # Rakefile
1080
- # README.md
1081
- #
1082
- # Like Process.spawn, this method has potential security vulnerabilities
1083
- # if called with untrusted input;
1084
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
1085
- #
1086
- # If the first argument is a hash, it becomes leading argument +env+
1087
- # in each call to Process.spawn;
1088
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
1089
- #
1090
- # If the last argument is a hash, it becomes trailing argument +options+
1091
- # in each call to Process.spawn;
1092
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
1093
- #
1094
- # Each remaining argument in +cmds+ is one of:
1095
- #
1096
- # - A +command_line+: a string that begins with a shell reserved word
1097
- # or special built-in, or contains one or more metacharacters.
1098
- # - An +exe_path+: the string path to an executable to be called.
1099
- # - An array containing a +command_line+ or an +exe_path+,
1100
- # along with zero or more string arguments for the command.
1101
- #
1102
- # See {Argument command_line or exe_path}[rdoc-ref:Process@Argument+command_line+or+exe_path].
1103
- #
1104
- def pipeline_r(*cmds, &block)
1105
- if Hash === cmds.last
1106
- opts = cmds.pop.dup
1107
- else
1108
- opts = {}
1109
- end
1110
-
1111
- out_r, out_w = IO.pipe
1112
- opts[:out] = out_w
1113
-
1114
- pipeline_run(cmds, opts, [out_w], [out_r], &block)
1115
- end
1116
- module_function :pipeline_r
1117
-
1118
-
1119
- # :call-seq:
1120
- # Open3.pipeline_w([env, ] *cmds, options = {}) -> [first_stdin, wait_threads]
1121
- #
1122
- # Basically a wrapper for
1123
- # {Process.spawn}[rdoc-ref:Process.spawn]
1124
- # that:
1125
- #
1126
- # - Creates a child process for each of the given +cmds+
1127
- # by calling Process.spawn.
1128
- # - Pipes the +stdout+ from each child to the +stdin+ of the next child,
1129
- # or, for the first child, pipes the caller's +stdout+ to the child's +stdin+.
1130
- #
1131
- # The method does not wait for child processes to exit,
1132
- # so the caller must do so.
1133
- #
1134
- # With no block given, returns a 2-element array containing:
1135
- #
1136
- # - The +stdin+ stream of the first child process.
1137
- # - An array of the wait threads for all of the child processes.
1138
- #
1139
- # Example:
1140
- #
1141
- # first_stdin, wait_threads = Open3.pipeline_w('sort', 'cat -n')
1142
- # # => [#<IO:fd 7>, [#<Process::Waiter:0x000055e8de928278 run>, #<Process::Waiter:0x000055e8de923e80 run>]]
1143
- # first_stdin.puts("foo\nbar\nbaz")
1144
- # first_stdin.close # Send EOF to sort.
1145
- # wait_threads.each do |wait_thread|
1146
- # wait_thread.join
1147
- # end
1148
- #
1149
- # Output:
1150
- #
1151
- # 1 bar
1152
- # 2 baz
1153
- # 3 foo
1154
- #
1155
- # With a block given, calls the block with the +stdin+ stream
1156
- # of the first child process,
1157
- # and an array of the wait processes:
1158
- #
1159
- # Open3.pipeline_w('sort', 'cat -n') do |first_stdin, wait_threads|
1160
- # first_stdin.puts("foo\nbar\nbaz")
1161
- # first_stdin.close # Send EOF to sort.
1162
- # wait_threads.each do |wait_thread|
1163
- # wait_thread.join
1164
- # end
1165
- # end
1166
- #
1167
- # Output:
1168
- #
1169
- # 1 bar
1170
- # 2 baz
1171
- # 3 foo
1172
- #
1173
- # Like Process.spawn, this method has potential security vulnerabilities
1174
- # if called with untrusted input;
1175
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
1176
- #
1177
- # If the first argument is a hash, it becomes leading argument +env+
1178
- # in each call to Process.spawn;
1179
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
1180
- #
1181
- # If the last argument is a hash, it becomes trailing argument +options+
1182
- # in each call to Process.spawn;
1183
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
1184
- #
1185
- # Each remaining argument in +cmds+ is one of:
1186
- #
1187
- # - A +command_line+: a string that begins with a shell reserved word
1188
- # or special built-in, or contains one or more metacharacters.
1189
- # - An +exe_path+: the string path to an executable to be called.
1190
- # - An array containing a +command_line+ or an +exe_path+,
1191
- # along with zero or more string arguments for the command.
1192
- #
1193
- # See {Argument command_line or exe_path}[rdoc-ref:Process@Argument+command_line+or+exe_path].
1194
- #
1195
- def pipeline_w(*cmds, &block)
1196
- if Hash === cmds.last
1197
- opts = cmds.pop.dup
1198
- else
1199
- opts = {}
1200
- end
1201
-
1202
- in_r, in_w = IO.pipe
1203
- opts[:in] = in_r
1204
- in_w.sync = true
1205
-
1206
- pipeline_run(cmds, opts, [in_r], [in_w], &block)
1207
- end
1208
- module_function :pipeline_w
1209
-
1210
- # :call-seq:
1211
- # Open3.pipeline_start([env, ] *cmds, options = {}) -> [wait_threads]
1212
- #
1213
- # Basically a wrapper for
1214
- # {Process.spawn}[rdoc-ref:Process.spawn]
1215
- # that:
1216
- #
1217
- # - Creates a child process for each of the given +cmds+
1218
- # by calling Process.spawn.
1219
- # - Does not wait for child processes to exit.
1220
- #
1221
- # With no block given, returns an array of the wait threads
1222
- # for all of the child processes.
1223
- #
1224
- # Example:
1225
- #
1226
- # wait_threads = Open3.pipeline_start('ls', 'grep R')
1227
- # # => [#<Process::Waiter:0x000055e8de9d2bb0 run>, #<Process::Waiter:0x000055e8de9d2890 run>]
1228
- # wait_threads.each do |wait_thread|
1229
- # wait_thread.join
1230
- # end
1231
- #
1232
- # Output:
1233
- #
1234
- # Rakefile
1235
- # README.md
1236
- #
1237
- # With a block given, calls the block with an array of the wait processes:
1238
- #
1239
- # Open3.pipeline_start('ls', 'grep R') do |wait_threads|
1240
- # wait_threads.each do |wait_thread|
1241
- # wait_thread.join
1242
- # end
1243
- # end
1244
- #
1245
- # Output:
1246
- #
1247
- # Rakefile
1248
- # README.md
1249
- #
1250
- # Like Process.spawn, this method has potential security vulnerabilities
1251
- # if called with untrusted input;
1252
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
1253
- #
1254
- # If the first argument is a hash, it becomes leading argument +env+
1255
- # in each call to Process.spawn;
1256
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
1257
- #
1258
- # If the last argument is a hash, it becomes trailing argument +options+
1259
- # in each call to Process.spawn;
1260
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
1261
- #
1262
- # Each remaining argument in +cmds+ is one of:
1263
- #
1264
- # - A +command_line+: a string that begins with a shell reserved word
1265
- # or special built-in, or contains one or more metacharacters.
1266
- # - An +exe_path+: the string path to an executable to be called.
1267
- # - An array containing a +command_line+ or an +exe_path+,
1268
- # along with zero or more string arguments for the command.
1269
- #
1270
- # See {Argument command_line or exe_path}[rdoc-ref:Process@Argument+command_line+or+exe_path].
1271
- #
1272
- def pipeline_start(*cmds, &block)
1273
- if Hash === cmds.last
1274
- opts = cmds.pop.dup
1275
- else
1276
- opts = {}
1277
- end
1278
-
1279
- if block
1280
- pipeline_run(cmds, opts, [], [], &block)
1281
- else
1282
- ts, = pipeline_run(cmds, opts, [], [])
1283
- ts
1284
- end
1285
- end
1286
- module_function :pipeline_start
1287
-
1288
- # :call-seq:
1289
- # Open3.pipeline([env, ] *cmds, options = {}) -> array_of_statuses
1290
- #
1291
- # Basically a wrapper for
1292
- # {Process.spawn}[rdoc-ref:Process.spawn]
1293
- # that:
1294
- #
1295
- # - Creates a child process for each of the given +cmds+
1296
- # by calling Process.spawn.
1297
- # - Pipes the +stdout+ from each child to the +stdin+ of the next child,
1298
- # or, for the last child, to the caller's +stdout+.
1299
- # - Waits for the child processes to exit.
1300
- # - Returns an array of Process::Status objects (one for each child).
1301
- #
1302
- # Example:
1303
- #
1304
- # wait_threads = Open3.pipeline('ls', 'grep R')
1305
- # # => [#<Process::Status: pid 2139200 exit 0>, #<Process::Status: pid 2139202 exit 0>]
1306
- #
1307
- # Output:
1308
- #
1309
- # Rakefile
1310
- # README.md
1311
- #
1312
- # Like Process.spawn, this method has potential security vulnerabilities
1313
- # if called with untrusted input;
1314
- # see {Command Injection}[rdoc-ref:command_injection.rdoc@Command+Injection].
1315
- #
1316
- # If the first argument is a hash, it becomes leading argument +env+
1317
- # in each call to Process.spawn;
1318
- # see {Execution Environment}[rdoc-ref:Process@Execution+Environment].
1319
- #
1320
- # If the last argument is a hash, it becomes trailing argument +options+
1321
- # in each call to Process.spawn'
1322
- # see {Execution Options}[rdoc-ref:Process@Execution+Options].
1323
- #
1324
- # Each remaining argument in +cmds+ is one of:
1325
- #
1326
- # - A +command_line+: a string that begins with a shell reserved word
1327
- # or special built-in, or contains one or more metacharacters.
1328
- # - An +exe_path+: the string path to an executable to be called.
1329
- # - An array containing a +command_line+ or an +exe_path+,
1330
- # along with zero or more string arguments for the command.
1331
- #
1332
- # See {Argument command_line or exe_path}[rdoc-ref:Process@Argument+command_line+or+exe_path].
1333
- #
1334
- def pipeline(*cmds)
1335
- if Hash === cmds.last
1336
- opts = cmds.pop.dup
1337
- else
1338
- opts = {}
1339
- end
1340
-
1341
- pipeline_run(cmds, opts, [], []) {|ts|
1342
- ts.map(&:value)
1343
- }
1344
- end
1345
- module_function :pipeline
1346
-
1347
- def pipeline_run(cmds, pipeline_opts, child_io, parent_io) # :nodoc:
1348
- if cmds.empty?
1349
- raise ArgumentError, "no commands"
1350
- end
1351
-
1352
- opts_base = pipeline_opts.dup
1353
- opts_base.delete :in
1354
- opts_base.delete :out
1355
-
1356
- wait_thrs = []
1357
- r = nil
1358
- cmds.each_with_index {|cmd, i|
1359
- cmd_opts = opts_base.dup
1360
- if String === cmd
1361
- cmd = [cmd]
1362
- else
1363
- cmd_opts.update cmd.pop if Hash === cmd.last
1364
- end
1365
- if i == 0
1366
- if !cmd_opts.include?(:in)
1367
- if pipeline_opts.include?(:in)
1368
- cmd_opts[:in] = pipeline_opts[:in]
1369
- end
1370
- end
1371
- else
1372
- cmd_opts[:in] = r
1373
- end
1374
- if i != cmds.length - 1
1375
- r2, w2 = IO.pipe
1376
- cmd_opts[:out] = w2
1377
- else
1378
- if !cmd_opts.include?(:out)
1379
- if pipeline_opts.include?(:out)
1380
- cmd_opts[:out] = pipeline_opts[:out]
1381
- end
1382
- end
1383
- end
1384
- pid = spawn(*cmd, cmd_opts)
1385
- wait_thrs << Process.detach(pid)
1386
- r&.close
1387
- w2&.close
1388
- r = r2
1389
- }
1390
- result = parent_io + [wait_thrs]
1391
- child_io.each(&:close)
1392
- if defined? yield
1393
- begin
1394
- return yield(*result)
1395
- ensure
1396
- parent_io.each(&:close)
1397
- wait_thrs.each(&:join)
1398
- end
1399
- end
1400
- result
1401
- end
1402
- module_function :pipeline_run
1403
- class << self
1404
- private :pipeline_run
1405
- end
1406
-
1407
- end
1408
-
1409
- # JRuby uses different popen logic on Windows, require it here to reuse wrapper methods above.
1410
- require 'open3/jruby_windows' if RUBY_ENGINE == 'jruby' && JRuby::Util::ON_WINDOWS