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

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 (1802) hide show
  1. package/PRESTAGE.md +61 -27
  2. package/README.md +2 -2
  3. package/bin/bundle +29 -0
  4. package/bin/bundler +29 -0
  5. package/bin/erb +29 -0
  6. package/bin/gem +12 -0
  7. package/bin/irb +29 -0
  8. package/bin/rake +29 -0
  9. package/bin/ruby +1 -0
  10. package/bin/ruby.wasm +0 -0
  11. package/lib/ruby/3.4.0/English.rb +164 -0
  12. package/lib/ruby/3.4.0/benchmark.rb +594 -0
  13. package/lib/ruby/3.4.0/bundled_gems.rb +248 -0
  14. package/lib/ruby/3.4.0/bundler/build_metadata.rb +43 -0
  15. package/lib/ruby/3.4.0/bundler/capistrano.rb +22 -0
  16. package/lib/ruby/3.4.0/bundler/checksum.rb +264 -0
  17. package/lib/ruby/3.4.0/bundler/ci_detector.rb +75 -0
  18. package/lib/ruby/3.4.0/bundler/cli/add.rb +49 -0
  19. package/lib/ruby/3.4.0/bundler/cli/binstubs.rb +57 -0
  20. package/lib/ruby/3.4.0/bundler/cli/cache.rb +43 -0
  21. package/lib/ruby/3.4.0/bundler/cli/check.rb +40 -0
  22. package/lib/ruby/3.4.0/bundler/cli/clean.rb +25 -0
  23. package/lib/ruby/3.4.0/bundler/cli/common.rb +138 -0
  24. package/lib/ruby/3.4.0/bundler/cli/config.rb +204 -0
  25. package/lib/ruby/3.4.0/bundler/cli/console.rb +42 -0
  26. package/lib/ruby/3.4.0/bundler/cli/doctor/diagnose.rb +167 -0
  27. package/lib/ruby/3.4.0/bundler/cli/doctor/ssl.rb +249 -0
  28. package/lib/ruby/3.4.0/bundler/cli/doctor.rb +33 -0
  29. package/lib/ruby/3.4.0/bundler/cli/exec.rb +89 -0
  30. package/lib/ruby/3.4.0/bundler/cli/fund.rb +36 -0
  31. package/lib/ruby/3.4.0/bundler/cli/gem.rb +467 -0
  32. package/lib/ruby/3.4.0/bundler/cli/info.rb +83 -0
  33. package/lib/ruby/3.4.0/bundler/cli/init.rb +51 -0
  34. package/lib/ruby/3.4.0/bundler/cli/inject.rb +60 -0
  35. package/lib/ruby/3.4.0/bundler/cli/install.rb +199 -0
  36. package/lib/ruby/3.4.0/bundler/cli/issue.rb +41 -0
  37. package/lib/ruby/3.4.0/bundler/cli/list.rb +66 -0
  38. package/lib/ruby/3.4.0/bundler/cli/lock.rb +94 -0
  39. package/lib/ruby/3.4.0/bundler/cli/open.rb +29 -0
  40. package/lib/ruby/3.4.0/bundler/cli/outdated.rb +297 -0
  41. package/lib/ruby/3.4.0/bundler/cli/platform.rb +48 -0
  42. package/lib/ruby/3.4.0/bundler/cli/plugin.rb +35 -0
  43. package/lib/ruby/3.4.0/bundler/cli/pristine.rb +60 -0
  44. package/lib/ruby/3.4.0/bundler/cli/remove.rb +17 -0
  45. package/lib/ruby/3.4.0/bundler/cli/show.rb +75 -0
  46. package/lib/ruby/3.4.0/bundler/cli/update.rb +123 -0
  47. package/lib/ruby/3.4.0/bundler/cli/viz.rb +31 -0
  48. package/lib/ruby/3.4.0/bundler/cli.rb +790 -0
  49. package/lib/ruby/3.4.0/bundler/compact_index_client/cache.rb +96 -0
  50. package/lib/ruby/3.4.0/bundler/compact_index_client/cache_file.rb +148 -0
  51. package/lib/ruby/3.4.0/bundler/compact_index_client/parser.rb +84 -0
  52. package/lib/ruby/3.4.0/bundler/compact_index_client/updater.rb +105 -0
  53. package/lib/ruby/3.4.0/bundler/compact_index_client.rb +97 -0
  54. package/lib/ruby/3.4.0/bundler/constants.rb +14 -0
  55. package/lib/ruby/3.4.0/bundler/current_ruby.rb +82 -0
  56. package/lib/ruby/3.4.0/bundler/definition.rb +1187 -0
  57. package/lib/ruby/3.4.0/bundler/dependency.rb +151 -0
  58. package/lib/ruby/3.4.0/bundler/deployment.rb +69 -0
  59. package/lib/ruby/3.4.0/bundler/deprecate.rb +44 -0
  60. package/lib/ruby/3.4.0/bundler/digest.rb +71 -0
  61. package/lib/ruby/3.4.0/bundler/dsl.rb +638 -0
  62. package/lib/ruby/3.4.0/bundler/endpoint_specification.rb +174 -0
  63. package/lib/ruby/3.4.0/bundler/env.rb +148 -0
  64. package/lib/ruby/3.4.0/bundler/environment_preserver.rb +68 -0
  65. package/lib/ruby/3.4.0/bundler/errors.rb +281 -0
  66. package/lib/ruby/3.4.0/bundler/feature_flag.rb +50 -0
  67. package/lib/ruby/3.4.0/bundler/fetcher/base.rb +52 -0
  68. package/lib/ruby/3.4.0/bundler/fetcher/compact_index.rb +120 -0
  69. package/lib/ruby/3.4.0/bundler/fetcher/dependency.rb +78 -0
  70. package/lib/ruby/3.4.0/bundler/fetcher/downloader.rb +91 -0
  71. package/lib/ruby/3.4.0/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  72. package/lib/ruby/3.4.0/bundler/fetcher/index.rb +25 -0
  73. package/lib/ruby/3.4.0/bundler/fetcher.rb +331 -0
  74. package/lib/ruby/3.4.0/bundler/force_platform.rb +16 -0
  75. package/lib/ruby/3.4.0/bundler/friendly_errors.rb +126 -0
  76. package/lib/ruby/3.4.0/bundler/gem_helper.rb +237 -0
  77. package/lib/ruby/3.4.0/bundler/gem_helpers.rb +144 -0
  78. package/lib/ruby/3.4.0/bundler/gem_tasks.rb +7 -0
  79. package/lib/ruby/3.4.0/bundler/gem_version_promoter.rb +147 -0
  80. package/lib/ruby/3.4.0/bundler/graph.rb +152 -0
  81. package/lib/ruby/3.4.0/bundler/index.rb +205 -0
  82. package/lib/ruby/3.4.0/bundler/injector.rb +285 -0
  83. package/lib/ruby/3.4.0/bundler/inline.rb +98 -0
  84. package/lib/ruby/3.4.0/bundler/installer/gem_installer.rb +85 -0
  85. package/lib/ruby/3.4.0/bundler/installer/parallel_installer.rb +203 -0
  86. package/lib/ruby/3.4.0/bundler/installer/standalone.rb +113 -0
  87. package/lib/ruby/3.4.0/bundler/installer.rb +243 -0
  88. package/lib/ruby/3.4.0/bundler/lazy_specification.rb +243 -0
  89. package/lib/ruby/3.4.0/bundler/lockfile_generator.rb +104 -0
  90. package/lib/ruby/3.4.0/bundler/lockfile_parser.rb +300 -0
  91. package/lib/ruby/3.4.0/bundler/man/bundle-add.1 +76 -0
  92. package/lib/ruby/3.4.0/bundler/man/bundle-add.1.ronn +87 -0
  93. package/lib/ruby/3.4.0/bundler/man/bundle-binstubs.1 +33 -0
  94. package/lib/ruby/3.4.0/bundler/man/bundle-binstubs.1.ronn +44 -0
  95. package/lib/ruby/3.4.0/bundler/man/bundle-cache.1 +68 -0
  96. package/lib/ruby/3.4.0/bundler/man/bundle-cache.1.ronn +108 -0
  97. package/lib/ruby/3.4.0/bundler/man/bundle-check.1 +24 -0
  98. package/lib/ruby/3.4.0/bundler/man/bundle-check.1.ronn +31 -0
  99. package/lib/ruby/3.4.0/bundler/man/bundle-clean.1 +17 -0
  100. package/lib/ruby/3.4.0/bundler/man/bundle-clean.1.ronn +18 -0
  101. package/lib/ruby/3.4.0/bundler/man/bundle-config.1 +317 -0
  102. package/lib/ruby/3.4.0/bundler/man/bundle-config.1.ronn +408 -0
  103. package/lib/ruby/3.4.0/bundler/man/bundle-console.1 +33 -0
  104. package/lib/ruby/3.4.0/bundler/man/bundle-console.1.ronn +39 -0
  105. package/lib/ruby/3.4.0/bundler/man/bundle-doctor.1 +30 -0
  106. package/lib/ruby/3.4.0/bundler/man/bundle-doctor.1.ronn +33 -0
  107. package/lib/ruby/3.4.0/bundler/man/bundle-env.1 +9 -0
  108. package/lib/ruby/3.4.0/bundler/man/bundle-env.1.ronn +10 -0
  109. package/lib/ruby/3.4.0/bundler/man/bundle-exec.1 +107 -0
  110. package/lib/ruby/3.4.0/bundler/man/bundle-exec.1.ronn +154 -0
  111. package/lib/ruby/3.4.0/bundler/man/bundle-fund.1 +22 -0
  112. package/lib/ruby/3.4.0/bundler/man/bundle-fund.1.ronn +25 -0
  113. package/lib/ruby/3.4.0/bundler/man/bundle-gem.1 +87 -0
  114. package/lib/ruby/3.4.0/bundler/man/bundle-gem.1.ronn +149 -0
  115. package/lib/ruby/3.4.0/bundler/man/bundle-help.1 +9 -0
  116. package/lib/ruby/3.4.0/bundler/man/bundle-help.1.ronn +12 -0
  117. package/lib/ruby/3.4.0/bundler/man/bundle-info.1 +17 -0
  118. package/lib/ruby/3.4.0/bundler/man/bundle-info.1.ronn +21 -0
  119. package/lib/ruby/3.4.0/bundler/man/bundle-init.1 +20 -0
  120. package/lib/ruby/3.4.0/bundler/man/bundle-init.1.ronn +32 -0
  121. package/lib/ruby/3.4.0/bundler/man/bundle-inject.1 +31 -0
  122. package/lib/ruby/3.4.0/bundler/man/bundle-inject.1.ronn +32 -0
  123. package/lib/ruby/3.4.0/bundler/man/bundle-install.1 +218 -0
  124. package/lib/ruby/3.4.0/bundler/man/bundle-install.1.ronn +387 -0
  125. package/lib/ruby/3.4.0/bundler/man/bundle-issue.1 +45 -0
  126. package/lib/ruby/3.4.0/bundler/man/bundle-issue.1.ronn +37 -0
  127. package/lib/ruby/3.4.0/bundler/man/bundle-licenses.1 +9 -0
  128. package/lib/ruby/3.4.0/bundler/man/bundle-licenses.1.ronn +10 -0
  129. package/lib/ruby/3.4.0/bundler/man/bundle-list.1 +35 -0
  130. package/lib/ruby/3.4.0/bundler/man/bundle-list.1.ronn +36 -0
  131. package/lib/ruby/3.4.0/bundler/man/bundle-lock.1 +75 -0
  132. package/lib/ruby/3.4.0/bundler/man/bundle-lock.1.ronn +115 -0
  133. package/lib/ruby/3.4.0/bundler/man/bundle-open.1 +32 -0
  134. package/lib/ruby/3.4.0/bundler/man/bundle-open.1.ronn +28 -0
  135. package/lib/ruby/3.4.0/bundler/man/bundle-outdated.1 +103 -0
  136. package/lib/ruby/3.4.0/bundler/man/bundle-outdated.1.ronn +110 -0
  137. package/lib/ruby/3.4.0/bundler/man/bundle-platform.1 +49 -0
  138. package/lib/ruby/3.4.0/bundler/man/bundle-platform.1.ronn +49 -0
  139. package/lib/ruby/3.4.0/bundler/man/bundle-plugin.1 +58 -0
  140. package/lib/ruby/3.4.0/bundler/man/bundle-plugin.1.ronn +63 -0
  141. package/lib/ruby/3.4.0/bundler/man/bundle-pristine.1 +23 -0
  142. package/lib/ruby/3.4.0/bundler/man/bundle-pristine.1.ronn +34 -0
  143. package/lib/ruby/3.4.0/bundler/man/bundle-remove.1 +21 -0
  144. package/lib/ruby/3.4.0/bundler/man/bundle-remove.1.ronn +23 -0
  145. package/lib/ruby/3.4.0/bundler/man/bundle-show.1 +19 -0
  146. package/lib/ruby/3.4.0/bundler/man/bundle-show.1.ronn +25 -0
  147. package/lib/ruby/3.4.0/bundler/man/bundle-update.1 +281 -0
  148. package/lib/ruby/3.4.0/bundler/man/bundle-update.1.ronn +359 -0
  149. package/lib/ruby/3.4.0/bundler/man/bundle-version.1 +22 -0
  150. package/lib/ruby/3.4.0/bundler/man/bundle-version.1.ronn +24 -0
  151. package/lib/ruby/3.4.0/bundler/man/bundle-viz.1 +30 -0
  152. package/lib/ruby/3.4.0/bundler/man/bundle-viz.1.ronn +36 -0
  153. package/lib/ruby/3.4.0/bundler/man/bundle.1 +102 -0
  154. package/lib/ruby/3.4.0/bundler/man/bundle.1.ronn +116 -0
  155. package/lib/ruby/3.4.0/bundler/man/gemfile.5 +472 -0
  156. package/lib/ruby/3.4.0/bundler/man/gemfile.5.ronn +558 -0
  157. package/lib/ruby/3.4.0/bundler/match_metadata.rb +30 -0
  158. package/lib/ruby/3.4.0/bundler/match_platform.rb +23 -0
  159. package/lib/ruby/3.4.0/bundler/match_remote_metadata.rb +29 -0
  160. package/lib/ruby/3.4.0/bundler/materialization.rb +59 -0
  161. package/lib/ruby/3.4.0/bundler/mirror.rb +221 -0
  162. package/lib/ruby/3.4.0/bundler/plugin/api/source.rb +322 -0
  163. package/lib/ruby/3.4.0/bundler/plugin/api.rb +81 -0
  164. package/lib/ruby/3.4.0/bundler/plugin/dsl.rb +53 -0
  165. package/lib/ruby/3.4.0/bundler/plugin/events.rb +85 -0
  166. package/lib/ruby/3.4.0/bundler/plugin/index.rb +197 -0
  167. package/lib/ruby/3.4.0/bundler/plugin/installer/git.rb +34 -0
  168. package/lib/ruby/3.4.0/bundler/plugin/installer/path.rb +26 -0
  169. package/lib/ruby/3.4.0/bundler/plugin/installer/rubygems.rb +19 -0
  170. package/lib/ruby/3.4.0/bundler/plugin/installer.rb +132 -0
  171. package/lib/ruby/3.4.0/bundler/plugin/source_list.rb +31 -0
  172. package/lib/ruby/3.4.0/bundler/plugin.rb +378 -0
  173. package/lib/ruby/3.4.0/bundler/process_lock.rb +20 -0
  174. package/lib/ruby/3.4.0/bundler/remote_specification.rb +126 -0
  175. package/lib/ruby/3.4.0/bundler/resolver/base.rb +118 -0
  176. package/lib/ruby/3.4.0/bundler/resolver/candidate.rb +85 -0
  177. package/lib/ruby/3.4.0/bundler/resolver/incompatibility.rb +15 -0
  178. package/lib/ruby/3.4.0/bundler/resolver/package.rb +94 -0
  179. package/lib/ruby/3.4.0/bundler/resolver/root.rb +25 -0
  180. package/lib/ruby/3.4.0/bundler/resolver/spec_group.rb +74 -0
  181. package/lib/ruby/3.4.0/bundler/resolver/strategy.rb +40 -0
  182. package/lib/ruby/3.4.0/bundler/resolver.rb +526 -0
  183. package/lib/ruby/3.4.0/bundler/retry.rb +66 -0
  184. package/lib/ruby/3.4.0/bundler/ruby_dsl.rb +62 -0
  185. package/lib/ruby/3.4.0/bundler/ruby_version.rb +137 -0
  186. package/lib/ruby/3.4.0/bundler/rubygems_ext.rb +485 -0
  187. package/lib/ruby/3.4.0/bundler/rubygems_gem_installer.rb +172 -0
  188. package/lib/ruby/3.4.0/bundler/rubygems_integration.rb +455 -0
  189. package/lib/ruby/3.4.0/bundler/runtime.rb +320 -0
  190. package/lib/ruby/3.4.0/bundler/safe_marshal.rb +31 -0
  191. package/lib/ruby/3.4.0/bundler/self_manager.rb +206 -0
  192. package/lib/ruby/3.4.0/bundler/settings/validator.rb +102 -0
  193. package/lib/ruby/3.4.0/bundler/settings.rb +599 -0
  194. package/lib/ruby/3.4.0/bundler/setup.rb +39 -0
  195. package/lib/ruby/3.4.0/bundler/shared_helpers.rb +398 -0
  196. package/lib/ruby/3.4.0/bundler/similarity_detector.rb +63 -0
  197. package/lib/ruby/3.4.0/bundler/source/gemspec.rb +15 -0
  198. package/lib/ruby/3.4.0/bundler/source/git/git_proxy.rb +472 -0
  199. package/lib/ruby/3.4.0/bundler/source/git.rb +452 -0
  200. package/lib/ruby/3.4.0/bundler/source/metadata.rb +63 -0
  201. package/lib/ruby/3.4.0/bundler/source/path/installer.rb +53 -0
  202. package/lib/ruby/3.4.0/bundler/source/path.rb +250 -0
  203. package/lib/ruby/3.4.0/bundler/source/rubygems/remote.rb +76 -0
  204. package/lib/ruby/3.4.0/bundler/source/rubygems.rb +522 -0
  205. package/lib/ruby/3.4.0/bundler/source/rubygems_aggregate.rb +68 -0
  206. package/lib/ruby/3.4.0/bundler/source.rb +118 -0
  207. package/lib/ruby/3.4.0/bundler/source_list.rb +273 -0
  208. package/lib/ruby/3.4.0/bundler/source_map.rb +71 -0
  209. package/lib/ruby/3.4.0/bundler/spec_set.rb +395 -0
  210. package/lib/ruby/3.4.0/bundler/stub_specification.rb +146 -0
  211. package/lib/ruby/3.4.0/bundler/templates/Executable +27 -0
  212. package/lib/ruby/3.4.0/bundler/templates/Executable.bundler +109 -0
  213. package/lib/ruby/3.4.0/bundler/templates/Executable.standalone +14 -0
  214. package/lib/ruby/3.4.0/bundler/templates/Gemfile +5 -0
  215. package/lib/ruby/3.4.0/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  216. package/lib/ruby/3.4.0/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +132 -0
  217. package/lib/ruby/3.4.0/bundler/templates/newgem/Cargo.toml.tt +7 -0
  218. package/lib/ruby/3.4.0/bundler/templates/newgem/Gemfile.tt +24 -0
  219. package/lib/ruby/3.4.0/bundler/templates/newgem/LICENSE.txt.tt +21 -0
  220. package/lib/ruby/3.4.0/bundler/templates/newgem/README.md.tt +49 -0
  221. package/lib/ruby/3.4.0/bundler/templates/newgem/Rakefile.tt +67 -0
  222. package/lib/ruby/3.4.0/bundler/templates/newgem/bin/console.tt +11 -0
  223. package/lib/ruby/3.4.0/bundler/templates/newgem/bin/setup.tt +8 -0
  224. package/lib/ruby/3.4.0/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  225. package/lib/ruby/3.4.0/bundler/templates/newgem/exe/newgem.tt +3 -0
  226. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  227. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  228. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  229. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
  230. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
  231. package/lib/ruby/3.4.0/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  232. package/lib/ruby/3.4.0/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  233. package/lib/ruby/3.4.0/bundler/templates/newgem/gitignore.tt +23 -0
  234. package/lib/ruby/3.4.0/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  235. package/lib/ruby/3.4.0/bundler/templates/newgem/lib/newgem/version.rb.tt +9 -0
  236. package/lib/ruby/3.4.0/bundler/templates/newgem/lib/newgem.rb.tt +15 -0
  237. package/lib/ruby/3.4.0/bundler/templates/newgem/newgem.gemspec.tt +52 -0
  238. package/lib/ruby/3.4.0/bundler/templates/newgem/rspec.tt +3 -0
  239. package/lib/ruby/3.4.0/bundler/templates/newgem/rubocop.yml.tt +8 -0
  240. package/lib/ruby/3.4.0/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  241. package/lib/ruby/3.4.0/bundler/templates/newgem/spec/newgem_spec.rb.tt +11 -0
  242. package/lib/ruby/3.4.0/bundler/templates/newgem/spec/spec_helper.rb.tt +15 -0
  243. package/lib/ruby/3.4.0/bundler/templates/newgem/standard.yml.tt +3 -0
  244. package/lib/ruby/3.4.0/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  245. package/lib/ruby/3.4.0/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +13 -0
  246. package/lib/ruby/3.4.0/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  247. package/lib/ruby/3.4.0/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  248. package/lib/ruby/3.4.0/bundler/ui/rg_proxy.rb +19 -0
  249. package/lib/ruby/3.4.0/bundler/ui/shell.rb +187 -0
  250. package/lib/ruby/3.4.0/bundler/ui/silent.rb +96 -0
  251. package/lib/ruby/3.4.0/bundler/ui.rb +9 -0
  252. package/lib/ruby/3.4.0/bundler/uri_credentials_filter.rb +43 -0
  253. package/lib/ruby/3.4.0/bundler/uri_normalizer.rb +23 -0
  254. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +224 -0
  255. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  256. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  257. package/lib/ruby/3.4.0/bundler/vendor/connection_pool/lib/connection_pool.rb +186 -0
  258. package/lib/ruby/3.4.0/bundler/vendor/fileutils/lib/fileutils.rb +2696 -0
  259. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +41 -0
  260. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +65 -0
  261. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  262. package/lib/ruby/3.4.0/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1111 -0
  263. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  264. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +169 -0
  265. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  266. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  267. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  268. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  269. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  270. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  271. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
  272. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
  273. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  274. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  275. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  276. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +423 -0
  277. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +236 -0
  278. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  279. package/lib/ruby/3.4.0/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  280. package/lib/ruby/3.4.0/bundler/vendor/securerandom/lib/securerandom.rb +102 -0
  281. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/create_file.rb +105 -0
  282. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/create_link.rb +61 -0
  283. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/directory.rb +108 -0
  284. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
  285. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +371 -0
  286. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +130 -0
  287. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/actions.rb +340 -0
  288. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/base.rb +825 -0
  289. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/command.rb +151 -0
  290. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  291. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/error.rb +106 -0
  292. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/group.rb +292 -0
  293. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/invocation.rb +178 -0
  294. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
  295. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
  296. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
  297. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  298. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/argument.rb +86 -0
  299. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/arguments.rb +195 -0
  300. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/option.rb +178 -0
  301. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser/options.rb +294 -0
  302. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/parser.rb +4 -0
  303. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/rake_compat.rb +72 -0
  304. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/runner.rb +335 -0
  305. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/basic.rb +388 -0
  306. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/color.rb +112 -0
  307. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  308. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/html.rb +81 -0
  309. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/table_printer.rb +118 -0
  310. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  311. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  312. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/shell.rb +81 -0
  313. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/util.rb +285 -0
  314. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor/version.rb +3 -0
  315. package/lib/ruby/3.4.0/bundler/vendor/thor/lib/thor.rb +674 -0
  316. package/lib/ruby/3.4.0/bundler/vendor/tsort/lib/tsort.rb +455 -0
  317. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/common.rb +880 -0
  318. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/file.rb +100 -0
  319. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  320. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/generic.rb +1592 -0
  321. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/http.rb +125 -0
  322. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/https.rb +23 -0
  323. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  324. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  325. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  326. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  327. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  328. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/version.rb +6 -0
  329. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  330. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  331. package/lib/ruby/3.4.0/bundler/vendor/uri/lib/uri.rb +104 -0
  332. package/lib/ruby/3.4.0/bundler/vendored_fileutils.rb +4 -0
  333. package/lib/ruby/3.4.0/bundler/vendored_net_http.rb +23 -0
  334. package/lib/ruby/3.4.0/bundler/vendored_persistent.rb +11 -0
  335. package/lib/ruby/3.4.0/bundler/vendored_pub_grub.rb +4 -0
  336. package/lib/ruby/3.4.0/bundler/vendored_securerandom.rb +12 -0
  337. package/lib/ruby/3.4.0/bundler/vendored_thor.rb +8 -0
  338. package/lib/ruby/3.4.0/bundler/vendored_timeout.rb +12 -0
  339. package/lib/ruby/3.4.0/bundler/vendored_tsort.rb +4 -0
  340. package/lib/ruby/3.4.0/bundler/vendored_uri.rb +21 -0
  341. package/lib/ruby/3.4.0/bundler/version.rb +13 -0
  342. package/lib/ruby/3.4.0/bundler/vlad.rb +17 -0
  343. package/lib/ruby/3.4.0/bundler/worker.rb +117 -0
  344. package/lib/ruby/3.4.0/bundler/yaml_serializer.rb +98 -0
  345. package/lib/ruby/3.4.0/bundler.rb +701 -0
  346. package/lib/ruby/3.4.0/cgi/cookie.rb +210 -0
  347. package/lib/ruby/3.4.0/cgi/core.rb +900 -0
  348. package/lib/ruby/3.4.0/cgi/html.rb +1035 -0
  349. package/lib/ruby/3.4.0/cgi/session/pstore.rb +91 -0
  350. package/lib/ruby/3.4.0/cgi/session.rb +562 -0
  351. package/lib/ruby/3.4.0/cgi/util.rb +258 -0
  352. package/lib/ruby/3.4.0/cgi.rb +297 -0
  353. package/lib/ruby/3.4.0/coverage.rb +14 -0
  354. package/lib/ruby/3.4.0/date.rb +70 -0
  355. package/lib/ruby/3.4.0/delegate.rb +444 -0
  356. package/lib/ruby/3.4.0/did_you_mean/core_ext/name_error.rb +57 -0
  357. package/lib/ruby/3.4.0/did_you_mean/experimental.rb +2 -0
  358. package/lib/ruby/3.4.0/did_you_mean/formatter.rb +44 -0
  359. package/lib/ruby/3.4.0/did_you_mean/formatters/plain_formatter.rb +4 -0
  360. package/lib/ruby/3.4.0/did_you_mean/formatters/verbose_formatter.rb +10 -0
  361. package/lib/ruby/3.4.0/did_you_mean/jaro_winkler.rb +84 -0
  362. package/lib/ruby/3.4.0/did_you_mean/levenshtein.rb +57 -0
  363. package/lib/ruby/3.4.0/did_you_mean/spell_checker.rb +46 -0
  364. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/key_error_checker.rb +28 -0
  365. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/method_name_checker.rb +79 -0
  366. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb +49 -0
  367. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb +85 -0
  368. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/name_error_checkers.rb +20 -0
  369. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/null_checker.rb +6 -0
  370. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/pattern_key_name_checker.rb +28 -0
  371. package/lib/ruby/3.4.0/did_you_mean/spell_checkers/require_path_checker.rb +39 -0
  372. package/lib/ruby/3.4.0/did_you_mean/tree_spell_checker.rb +109 -0
  373. package/lib/ruby/3.4.0/did_you_mean/verbose.rb +2 -0
  374. package/lib/ruby/3.4.0/did_you_mean/version.rb +3 -0
  375. package/lib/ruby/3.4.0/did_you_mean.rb +131 -0
  376. package/lib/ruby/3.4.0/digest/loader.rb +3 -0
  377. package/lib/ruby/3.4.0/digest/sha2/loader.rb +3 -0
  378. package/lib/ruby/3.4.0/digest/sha2.rb +142 -0
  379. package/lib/ruby/3.4.0/digest/version.rb +5 -0
  380. package/lib/ruby/3.4.0/digest.rb +123 -0
  381. package/lib/ruby/3.4.0/erb/compiler.rb +472 -0
  382. package/lib/ruby/3.4.0/erb/def_method.rb +47 -0
  383. package/lib/ruby/3.4.0/erb/util.rb +63 -0
  384. package/lib/ruby/3.4.0/erb/version.rb +5 -0
  385. package/lib/ruby/3.4.0/erb.rb +509 -0
  386. package/lib/ruby/3.4.0/error_highlight/base.rb +830 -0
  387. package/lib/ruby/3.4.0/error_highlight/core_ext.rb +47 -0
  388. package/lib/ruby/3.4.0/error_highlight/formatter.rb +74 -0
  389. package/lib/ruby/3.4.0/error_highlight/version.rb +3 -0
  390. package/lib/ruby/3.4.0/error_highlight.rb +2 -0
  391. package/lib/ruby/3.4.0/fileutils.rb +2696 -0
  392. package/lib/ruby/3.4.0/find.rb +90 -0
  393. package/lib/ruby/3.4.0/forwardable/impl.rb +16 -0
  394. package/lib/ruby/3.4.0/forwardable.rb +321 -0
  395. package/lib/ruby/3.4.0/ipaddr.rb +841 -0
  396. package/lib/ruby/3.4.0/irb/cmd/nop.rb +4 -0
  397. package/lib/ruby/3.4.0/irb/color.rb +262 -0
  398. package/lib/ruby/3.4.0/irb/color_printer.rb +55 -0
  399. package/lib/ruby/3.4.0/irb/command/backtrace.rb +17 -0
  400. package/lib/ruby/3.4.0/irb/command/base.rb +60 -0
  401. package/lib/ruby/3.4.0/irb/command/break.rb +17 -0
  402. package/lib/ruby/3.4.0/irb/command/catch.rb +17 -0
  403. package/lib/ruby/3.4.0/irb/command/cd.rb +51 -0
  404. package/lib/ruby/3.4.0/irb/command/chws.rb +40 -0
  405. package/lib/ruby/3.4.0/irb/command/context.rb +16 -0
  406. package/lib/ruby/3.4.0/irb/command/continue.rb +17 -0
  407. package/lib/ruby/3.4.0/irb/command/debug.rb +73 -0
  408. package/lib/ruby/3.4.0/irb/command/delete.rb +17 -0
  409. package/lib/ruby/3.4.0/irb/command/disable_irb.rb +19 -0
  410. package/lib/ruby/3.4.0/irb/command/edit.rb +63 -0
  411. package/lib/ruby/3.4.0/irb/command/exit.rb +18 -0
  412. package/lib/ruby/3.4.0/irb/command/finish.rb +17 -0
  413. package/lib/ruby/3.4.0/irb/command/force_exit.rb +18 -0
  414. package/lib/ruby/3.4.0/irb/command/help.rb +83 -0
  415. package/lib/ruby/3.4.0/irb/command/history.rb +45 -0
  416. package/lib/ruby/3.4.0/irb/command/info.rb +17 -0
  417. package/lib/ruby/3.4.0/irb/command/internal_helpers.rb +27 -0
  418. package/lib/ruby/3.4.0/irb/command/irb_info.rb +33 -0
  419. package/lib/ruby/3.4.0/irb/command/load.rb +91 -0
  420. package/lib/ruby/3.4.0/irb/command/ls.rb +167 -0
  421. package/lib/ruby/3.4.0/irb/command/measure.rb +49 -0
  422. package/lib/ruby/3.4.0/irb/command/next.rb +17 -0
  423. package/lib/ruby/3.4.0/irb/command/pushws.rb +65 -0
  424. package/lib/ruby/3.4.0/irb/command/show_doc.rb +51 -0
  425. package/lib/ruby/3.4.0/irb/command/show_source.rb +74 -0
  426. package/lib/ruby/3.4.0/irb/command/step.rb +17 -0
  427. package/lib/ruby/3.4.0/irb/command/subirb.rb +123 -0
  428. package/lib/ruby/3.4.0/irb/command/whereami.rb +23 -0
  429. package/lib/ruby/3.4.0/irb/command.rb +23 -0
  430. package/lib/ruby/3.4.0/irb/completion.rb +504 -0
  431. package/lib/ruby/3.4.0/irb/context.rb +716 -0
  432. package/lib/ruby/3.4.0/irb/debug/ui.rb +101 -0
  433. package/lib/ruby/3.4.0/irb/debug.rb +127 -0
  434. package/lib/ruby/3.4.0/irb/default_commands.rb +276 -0
  435. package/lib/ruby/3.4.0/irb/easter-egg.rb +152 -0
  436. package/lib/ruby/3.4.0/irb/ext/change-ws.rb +37 -0
  437. package/lib/ruby/3.4.0/irb/ext/eval_history.rb +149 -0
  438. package/lib/ruby/3.4.0/irb/ext/loader.rb +127 -0
  439. package/lib/ruby/3.4.0/irb/ext/multi-irb.rb +258 -0
  440. package/lib/ruby/3.4.0/irb/ext/tracer.rb +39 -0
  441. package/lib/ruby/3.4.0/irb/ext/use-loader.rb +67 -0
  442. package/lib/ruby/3.4.0/irb/ext/workspaces.rb +36 -0
  443. package/lib/ruby/3.4.0/irb/frame.rb +80 -0
  444. package/lib/ruby/3.4.0/irb/help.rb +28 -0
  445. package/lib/ruby/3.4.0/irb/helper_method/base.rb +16 -0
  446. package/lib/ruby/3.4.0/irb/helper_method/conf.rb +11 -0
  447. package/lib/ruby/3.4.0/irb/helper_method.rb +29 -0
  448. package/lib/ruby/3.4.0/irb/history.rb +112 -0
  449. package/lib/ruby/3.4.0/irb/init.rb +538 -0
  450. package/lib/ruby/3.4.0/irb/input-method.rb +515 -0
  451. package/lib/ruby/3.4.0/irb/inspector.rb +131 -0
  452. package/lib/ruby/3.4.0/irb/lc/error.rb +52 -0
  453. package/lib/ruby/3.4.0/irb/lc/help-message +55 -0
  454. package/lib/ruby/3.4.0/irb/lc/ja/error.rb +53 -0
  455. package/lib/ruby/3.4.0/irb/lc/ja/help-message +58 -0
  456. package/lib/ruby/3.4.0/irb/locale.rb +153 -0
  457. package/lib/ruby/3.4.0/irb/nesting_parser.rb +239 -0
  458. package/lib/ruby/3.4.0/irb/notifier.rb +230 -0
  459. package/lib/ruby/3.4.0/irb/output-method.rb +80 -0
  460. package/lib/ruby/3.4.0/irb/pager.rb +100 -0
  461. package/lib/ruby/3.4.0/irb/ruby-lex.rb +476 -0
  462. package/lib/ruby/3.4.0/irb/ruby_logo.aa +118 -0
  463. package/lib/ruby/3.4.0/irb/source_finder.rb +138 -0
  464. package/lib/ruby/3.4.0/irb/statement.rb +80 -0
  465. package/lib/ruby/3.4.0/irb/version.rb +11 -0
  466. package/lib/ruby/3.4.0/irb/workspace.rb +171 -0
  467. package/lib/ruby/3.4.0/irb/ws-for-case-2.rb +9 -0
  468. package/lib/ruby/3.4.0/irb/xmp.rb +164 -0
  469. package/lib/ruby/3.4.0/irb.rb +1593 -0
  470. package/lib/ruby/3.4.0/json/add/bigdecimal.rb +58 -0
  471. package/lib/ruby/3.4.0/json/add/complex.rb +51 -0
  472. package/lib/ruby/3.4.0/json/add/core.rb +12 -0
  473. package/lib/ruby/3.4.0/json/add/date.rb +54 -0
  474. package/lib/ruby/3.4.0/json/add/date_time.rb +67 -0
  475. package/lib/ruby/3.4.0/json/add/exception.rb +49 -0
  476. package/lib/ruby/3.4.0/json/add/ostruct.rb +54 -0
  477. package/lib/ruby/3.4.0/json/add/range.rb +54 -0
  478. package/lib/ruby/3.4.0/json/add/rational.rb +49 -0
  479. package/lib/ruby/3.4.0/json/add/regexp.rb +48 -0
  480. package/lib/ruby/3.4.0/json/add/set.rb +48 -0
  481. package/lib/ruby/3.4.0/json/add/struct.rb +52 -0
  482. package/lib/ruby/3.4.0/json/add/symbol.rb +47 -0
  483. package/lib/ruby/3.4.0/json/add/time.rb +52 -0
  484. package/lib/ruby/3.4.0/json/common.rb +896 -0
  485. package/lib/ruby/3.4.0/json/ext/generator/state.rb +116 -0
  486. package/lib/ruby/3.4.0/json/ext.rb +23 -0
  487. package/lib/ruby/3.4.0/json/generic_object.rb +75 -0
  488. package/lib/ruby/3.4.0/json/version.rb +5 -0
  489. package/lib/ruby/3.4.0/json.rb +587 -0
  490. package/lib/ruby/3.4.0/logger/errors.rb +9 -0
  491. package/lib/ruby/3.4.0/logger/formatter.rb +36 -0
  492. package/lib/ruby/3.4.0/logger/log_device.rb +236 -0
  493. package/lib/ruby/3.4.0/logger/period.rb +47 -0
  494. package/lib/ruby/3.4.0/logger/severity.rb +38 -0
  495. package/lib/ruby/3.4.0/logger/version.rb +5 -0
  496. package/lib/ruby/3.4.0/logger.rb +761 -0
  497. package/lib/ruby/3.4.0/mkmf.rb +3045 -0
  498. package/lib/ruby/3.4.0/monitor.rb +289 -0
  499. package/lib/ruby/3.4.0/net/http/exceptions.rb +34 -0
  500. package/lib/ruby/3.4.0/net/http/generic_request.rb +414 -0
  501. package/lib/ruby/3.4.0/net/http/header.rb +981 -0
  502. package/lib/ruby/3.4.0/net/http/proxy_delta.rb +17 -0
  503. package/lib/ruby/3.4.0/net/http/request.rb +88 -0
  504. package/lib/ruby/3.4.0/net/http/requests.rb +430 -0
  505. package/lib/ruby/3.4.0/net/http/response.rb +738 -0
  506. package/lib/ruby/3.4.0/net/http/responses.rb +1174 -0
  507. package/lib/ruby/3.4.0/net/http/status.rb +84 -0
  508. package/lib/ruby/3.4.0/net/http.rb +2574 -0
  509. package/lib/ruby/3.4.0/net/https.rb +23 -0
  510. package/lib/ruby/3.4.0/net/protocol.rb +544 -0
  511. package/lib/ruby/3.4.0/objspace/trace.rb +45 -0
  512. package/lib/ruby/3.4.0/objspace.rb +135 -0
  513. package/lib/ruby/3.4.0/open-uri.rb +895 -0
  514. package/lib/ruby/3.4.0/open3/version.rb +3 -0
  515. package/lib/ruby/3.4.0/open3.rb +1410 -0
  516. package/lib/ruby/3.4.0/openssl/asn1.rb +188 -0
  517. package/lib/ruby/3.4.0/openssl/bn.rb +40 -0
  518. package/lib/ruby/3.4.0/openssl/buffering.rb +499 -0
  519. package/lib/ruby/3.4.0/openssl/cipher.rb +67 -0
  520. package/lib/ruby/3.4.0/openssl/digest.rb +69 -0
  521. package/lib/ruby/3.4.0/openssl/hmac.rb +78 -0
  522. package/lib/ruby/3.4.0/openssl/marshal.rb +30 -0
  523. package/lib/ruby/3.4.0/openssl/pkcs5.rb +22 -0
  524. package/lib/ruby/3.4.0/openssl/pkey.rb +471 -0
  525. package/lib/ruby/3.4.0/openssl/ssl.rb +609 -0
  526. package/lib/ruby/3.4.0/openssl/version.rb +5 -0
  527. package/lib/ruby/3.4.0/openssl/x509.rb +391 -0
  528. package/lib/ruby/3.4.0/openssl.rb +38 -0
  529. package/lib/ruby/3.4.0/optionparser.rb +2 -0
  530. package/lib/ruby/3.4.0/optparse/ac.rb +70 -0
  531. package/lib/ruby/3.4.0/optparse/date.rb +18 -0
  532. package/lib/ruby/3.4.0/optparse/kwargs.rb +27 -0
  533. package/lib/ruby/3.4.0/optparse/shellwords.rb +7 -0
  534. package/lib/ruby/3.4.0/optparse/time.rb +11 -0
  535. package/lib/ruby/3.4.0/optparse/uri.rb +7 -0
  536. package/lib/ruby/3.4.0/optparse/version.rb +80 -0
  537. package/lib/ruby/3.4.0/optparse.rb +2429 -0
  538. package/lib/ruby/3.4.0/ostruct.rb +489 -0
  539. package/lib/ruby/3.4.0/pathname.rb +621 -0
  540. package/lib/ruby/3.4.0/pp.rb +699 -0
  541. package/lib/ruby/3.4.0/prettyprint.rb +558 -0
  542. package/lib/ruby/3.4.0/prism/compiler.rb +801 -0
  543. package/lib/ruby/3.4.0/prism/desugar_compiler.rb +392 -0
  544. package/lib/ruby/3.4.0/prism/dispatcher.rb +2210 -0
  545. package/lib/ruby/3.4.0/prism/dsl.rb +1003 -0
  546. package/lib/ruby/3.4.0/prism/ffi.rb +570 -0
  547. package/lib/ruby/3.4.0/prism/inspect_visitor.rb +2392 -0
  548. package/lib/ruby/3.4.0/prism/lex_compat.rb +928 -0
  549. package/lib/ruby/3.4.0/prism/mutation_compiler.rb +772 -0
  550. package/lib/ruby/3.4.0/prism/node.rb +18816 -0
  551. package/lib/ruby/3.4.0/prism/node_ext.rb +511 -0
  552. package/lib/ruby/3.4.0/prism/pack.rb +230 -0
  553. package/lib/ruby/3.4.0/prism/parse_result/comments.rb +188 -0
  554. package/lib/ruby/3.4.0/prism/parse_result/errors.rb +66 -0
  555. package/lib/ruby/3.4.0/prism/parse_result/newlines.rb +155 -0
  556. package/lib/ruby/3.4.0/prism/parse_result.rb +911 -0
  557. package/lib/ruby/3.4.0/prism/pattern.rb +269 -0
  558. package/lib/ruby/3.4.0/prism/polyfill/append_as_bytes.rb +15 -0
  559. package/lib/ruby/3.4.0/prism/polyfill/byteindex.rb +13 -0
  560. package/lib/ruby/3.4.0/prism/polyfill/scan_byte.rb +14 -0
  561. package/lib/ruby/3.4.0/prism/polyfill/unpack1.rb +14 -0
  562. package/lib/ruby/3.4.0/prism/polyfill/warn.rb +36 -0
  563. package/lib/ruby/3.4.0/prism/reflection.rb +416 -0
  564. package/lib/ruby/3.4.0/prism/relocation.rb +505 -0
  565. package/lib/ruby/3.4.0/prism/serialize.rb +2400 -0
  566. package/lib/ruby/3.4.0/prism/string_query.rb +31 -0
  567. package/lib/ruby/3.4.0/prism/translation/parser/builder.rb +62 -0
  568. package/lib/ruby/3.4.0/prism/translation/parser/compiler.rb +2234 -0
  569. package/lib/ruby/3.4.0/prism/translation/parser/lexer.rb +820 -0
  570. package/lib/ruby/3.4.0/prism/translation/parser.rb +374 -0
  571. package/lib/ruby/3.4.0/prism/translation/parser33.rb +13 -0
  572. package/lib/ruby/3.4.0/prism/translation/parser34.rb +13 -0
  573. package/lib/ruby/3.4.0/prism/translation/parser35.rb +13 -0
  574. package/lib/ruby/3.4.0/prism/translation/parser_current.rb +24 -0
  575. package/lib/ruby/3.4.0/prism/translation/ripper/sexp.rb +126 -0
  576. package/lib/ruby/3.4.0/prism/translation/ripper/shim.rb +5 -0
  577. package/lib/ruby/3.4.0/prism/translation/ripper.rb +3474 -0
  578. package/lib/ruby/3.4.0/prism/translation/ruby_parser.rb +1929 -0
  579. package/lib/ruby/3.4.0/prism/translation.rb +16 -0
  580. package/lib/ruby/3.4.0/prism/visitor.rb +813 -0
  581. package/lib/ruby/3.4.0/prism.rb +91 -0
  582. package/lib/ruby/3.4.0/pstore.rb +736 -0
  583. package/lib/ruby/3.4.0/psych/class_loader.rb +104 -0
  584. package/lib/ruby/3.4.0/psych/coder.rb +95 -0
  585. package/lib/ruby/3.4.0/psych/core_ext.rb +19 -0
  586. package/lib/ruby/3.4.0/psych/exception.rb +28 -0
  587. package/lib/ruby/3.4.0/psych/handler.rb +255 -0
  588. package/lib/ruby/3.4.0/psych/handlers/document_stream.rb +23 -0
  589. package/lib/ruby/3.4.0/psych/handlers/recorder.rb +40 -0
  590. package/lib/ruby/3.4.0/psych/json/ruby_events.rb +20 -0
  591. package/lib/ruby/3.4.0/psych/json/stream.rb +17 -0
  592. package/lib/ruby/3.4.0/psych/json/tree_builder.rb +13 -0
  593. package/lib/ruby/3.4.0/psych/json/yaml_events.rb +30 -0
  594. package/lib/ruby/3.4.0/psych/nodes/alias.rb +21 -0
  595. package/lib/ruby/3.4.0/psych/nodes/document.rb +63 -0
  596. package/lib/ruby/3.4.0/psych/nodes/mapping.rb +59 -0
  597. package/lib/ruby/3.4.0/psych/nodes/node.rb +75 -0
  598. package/lib/ruby/3.4.0/psych/nodes/scalar.rb +70 -0
  599. package/lib/ruby/3.4.0/psych/nodes/sequence.rb +84 -0
  600. package/lib/ruby/3.4.0/psych/nodes/stream.rb +40 -0
  601. package/lib/ruby/3.4.0/psych/nodes.rb +78 -0
  602. package/lib/ruby/3.4.0/psych/omap.rb +5 -0
  603. package/lib/ruby/3.4.0/psych/parser.rb +65 -0
  604. package/lib/ruby/3.4.0/psych/scalar_scanner.rb +141 -0
  605. package/lib/ruby/3.4.0/psych/set.rb +5 -0
  606. package/lib/ruby/3.4.0/psych/stream.rb +38 -0
  607. package/lib/ruby/3.4.0/psych/streaming.rb +28 -0
  608. package/lib/ruby/3.4.0/psych/syntax_error.rb +22 -0
  609. package/lib/ruby/3.4.0/psych/tree_builder.rb +137 -0
  610. package/lib/ruby/3.4.0/psych/versions.rb +10 -0
  611. package/lib/ruby/3.4.0/psych/visitors/depth_first.rb +27 -0
  612. package/lib/ruby/3.4.0/psych/visitors/emitter.rb +52 -0
  613. package/lib/ruby/3.4.0/psych/visitors/json_tree.rb +25 -0
  614. package/lib/ruby/3.4.0/psych/visitors/to_ruby.rb +435 -0
  615. package/lib/ruby/3.4.0/psych/visitors/visitor.rb +34 -0
  616. package/lib/ruby/3.4.0/psych/visitors/yaml_tree.rb +583 -0
  617. package/lib/ruby/3.4.0/psych/visitors.rb +7 -0
  618. package/lib/ruby/3.4.0/psych/y.rb +10 -0
  619. package/lib/ruby/3.4.0/psych.rb +763 -0
  620. package/lib/ruby/3.4.0/random/formatter.rb +372 -0
  621. package/lib/ruby/3.4.0/rdoc/code_object/alias.rb +104 -0
  622. package/lib/ruby/3.4.0/rdoc/code_object/anon_class.rb +10 -0
  623. package/lib/ruby/3.4.0/rdoc/code_object/any_method.rb +374 -0
  624. package/lib/ruby/3.4.0/rdoc/code_object/attr.rb +172 -0
  625. package/lib/ruby/3.4.0/rdoc/code_object/class_module.rb +888 -0
  626. package/lib/ruby/3.4.0/rdoc/code_object/constant.rb +186 -0
  627. package/lib/ruby/3.4.0/rdoc/code_object/context/section.rb +175 -0
  628. package/lib/ruby/3.4.0/rdoc/code_object/context.rb +1222 -0
  629. package/lib/ruby/3.4.0/rdoc/code_object/extend.rb +9 -0
  630. package/lib/ruby/3.4.0/rdoc/code_object/ghost_method.rb +6 -0
  631. package/lib/ruby/3.4.0/rdoc/code_object/include.rb +9 -0
  632. package/lib/ruby/3.4.0/rdoc/code_object/meta_method.rb +6 -0
  633. package/lib/ruby/3.4.0/rdoc/code_object/method_attr.rb +410 -0
  634. package/lib/ruby/3.4.0/rdoc/code_object/mixin.rb +120 -0
  635. package/lib/ruby/3.4.0/rdoc/code_object/normal_class.rb +92 -0
  636. package/lib/ruby/3.4.0/rdoc/code_object/normal_module.rb +73 -0
  637. package/lib/ruby/3.4.0/rdoc/code_object/require.rb +51 -0
  638. package/lib/ruby/3.4.0/rdoc/code_object/single_class.rb +30 -0
  639. package/lib/ruby/3.4.0/rdoc/code_object/top_level.rb +273 -0
  640. package/lib/ruby/3.4.0/rdoc/code_object.rb +395 -0
  641. package/lib/ruby/3.4.0/rdoc/code_objects.rb +5 -0
  642. package/lib/ruby/3.4.0/rdoc/comment.rb +236 -0
  643. package/lib/ruby/3.4.0/rdoc/cross_reference.rb +228 -0
  644. package/lib/ruby/3.4.0/rdoc/encoding.rb +120 -0
  645. package/lib/ruby/3.4.0/rdoc/erb_partial.rb +18 -0
  646. package/lib/ruby/3.4.0/rdoc/erbio.rb +37 -0
  647. package/lib/ruby/3.4.0/rdoc/generator/darkfish.rb +812 -0
  648. package/lib/ruby/3.4.0/rdoc/generator/json_index.rb +284 -0
  649. package/lib/ruby/3.4.0/rdoc/generator/markup.rb +171 -0
  650. package/lib/ruby/3.4.0/rdoc/generator/pot/message_extractor.rb +68 -0
  651. package/lib/ruby/3.4.0/rdoc/generator/pot/po.rb +84 -0
  652. package/lib/ruby/3.4.0/rdoc/generator/pot/po_entry.rb +141 -0
  653. package/lib/ruby/3.4.0/rdoc/generator/pot.rb +94 -0
  654. package/lib/ruby/3.4.0/rdoc/generator/ri.rb +30 -0
  655. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  656. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_head.rhtml +48 -0
  657. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +5 -0
  658. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  659. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  660. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  661. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +21 -0
  662. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  663. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +32 -0
  664. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +6 -0
  665. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  666. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  667. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +39 -0
  668. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  669. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/class.rhtml +221 -0
  670. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  671. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/css/rdoc.css +683 -0
  672. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  673. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  674. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  675. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  676. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  677. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  678. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/add.png +0 -0
  679. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  680. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/brick.png +0 -0
  681. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  682. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bug.png +0 -0
  683. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  684. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  685. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  686. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/date.png +0 -0
  687. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/delete.png +0 -0
  688. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/find.png +0 -0
  689. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
  690. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
  691. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/package.png +0 -0
  692. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  693. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  694. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  695. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  696. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  697. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  698. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  699. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  700. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  701. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  702. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  703. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/index.rhtml +23 -0
  704. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/js/darkfish.js +120 -0
  705. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/js/search.js +110 -0
  706. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/page.rhtml +18 -0
  707. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/servlet_not_found.rhtml +20 -0
  708. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/servlet_root.rhtml +65 -0
  709. package/lib/ruby/3.4.0/rdoc/generator/template/darkfish/table_of_contents.rhtml +70 -0
  710. package/lib/ruby/3.4.0/rdoc/generator/template/json_index/js/navigation.js +105 -0
  711. package/lib/ruby/3.4.0/rdoc/generator/template/json_index/js/searcher.js +229 -0
  712. package/lib/ruby/3.4.0/rdoc/generator.rb +51 -0
  713. package/lib/ruby/3.4.0/rdoc/i18n/locale.rb +102 -0
  714. package/lib/ruby/3.4.0/rdoc/i18n/text.rb +126 -0
  715. package/lib/ruby/3.4.0/rdoc/i18n.rb +10 -0
  716. package/lib/ruby/3.4.0/rdoc/known_classes.rb +74 -0
  717. package/lib/ruby/3.4.0/rdoc/markdown/entities.rb +2131 -0
  718. package/lib/ruby/3.4.0/rdoc/markdown/literals.rb +454 -0
  719. package/lib/ruby/3.4.0/rdoc/markdown.rb +16806 -0
  720. package/lib/ruby/3.4.0/rdoc/markup/attr_changer.rb +22 -0
  721. package/lib/ruby/3.4.0/rdoc/markup/attr_span.rb +35 -0
  722. package/lib/ruby/3.4.0/rdoc/markup/attribute_manager.rb +405 -0
  723. package/lib/ruby/3.4.0/rdoc/markup/attributes.rb +70 -0
  724. package/lib/ruby/3.4.0/rdoc/markup/blank_line.rb +27 -0
  725. package/lib/ruby/3.4.0/rdoc/markup/block_quote.rb +14 -0
  726. package/lib/ruby/3.4.0/rdoc/markup/document.rb +164 -0
  727. package/lib/ruby/3.4.0/rdoc/markup/formatter.rb +272 -0
  728. package/lib/ruby/3.4.0/rdoc/markup/hard_break.rb +31 -0
  729. package/lib/ruby/3.4.0/rdoc/markup/heading.rb +84 -0
  730. package/lib/ruby/3.4.0/rdoc/markup/include.rb +42 -0
  731. package/lib/ruby/3.4.0/rdoc/markup/indented_paragraph.rb +47 -0
  732. package/lib/ruby/3.4.0/rdoc/markup/list.rb +101 -0
  733. package/lib/ruby/3.4.0/rdoc/markup/list_item.rb +99 -0
  734. package/lib/ruby/3.4.0/rdoc/markup/paragraph.rb +28 -0
  735. package/lib/ruby/3.4.0/rdoc/markup/parser.rb +585 -0
  736. package/lib/ruby/3.4.0/rdoc/markup/pre_process.rb +318 -0
  737. package/lib/ruby/3.4.0/rdoc/markup/raw.rb +69 -0
  738. package/lib/ruby/3.4.0/rdoc/markup/regexp_handling.rb +40 -0
  739. package/lib/ruby/3.4.0/rdoc/markup/rule.rb +20 -0
  740. package/lib/ruby/3.4.0/rdoc/markup/table.rb +56 -0
  741. package/lib/ruby/3.4.0/rdoc/markup/to_ansi.rb +93 -0
  742. package/lib/ruby/3.4.0/rdoc/markup/to_bs.rb +102 -0
  743. package/lib/ruby/3.4.0/rdoc/markup/to_html.rb +462 -0
  744. package/lib/ruby/3.4.0/rdoc/markup/to_html_crossref.rb +226 -0
  745. package/lib/ruby/3.4.0/rdoc/markup/to_html_snippet.rb +287 -0
  746. package/lib/ruby/3.4.0/rdoc/markup/to_joined_paragraph.rb +46 -0
  747. package/lib/ruby/3.4.0/rdoc/markup/to_label.rb +74 -0
  748. package/lib/ruby/3.4.0/rdoc/markup/to_markdown.rb +191 -0
  749. package/lib/ruby/3.4.0/rdoc/markup/to_rdoc.rb +353 -0
  750. package/lib/ruby/3.4.0/rdoc/markup/to_table_of_contents.rb +88 -0
  751. package/lib/ruby/3.4.0/rdoc/markup/to_test.rb +69 -0
  752. package/lib/ruby/3.4.0/rdoc/markup/to_tt_only.rb +120 -0
  753. package/lib/ruby/3.4.0/rdoc/markup/verbatim.rb +83 -0
  754. package/lib/ruby/3.4.0/rdoc/markup.rb +240 -0
  755. package/lib/ruby/3.4.0/rdoc/options.rb +1416 -0
  756. package/lib/ruby/3.4.0/rdoc/parser/c.rb +1257 -0
  757. package/lib/ruby/3.4.0/rdoc/parser/changelog.rb +350 -0
  758. package/lib/ruby/3.4.0/rdoc/parser/markdown.rb +22 -0
  759. package/lib/ruby/3.4.0/rdoc/parser/prism_ruby.rb +1092 -0
  760. package/lib/ruby/3.4.0/rdoc/parser/rd.rb +22 -0
  761. package/lib/ruby/3.4.0/rdoc/parser/ripper_state_lex.rb +302 -0
  762. package/lib/ruby/3.4.0/rdoc/parser/ruby.rb +2378 -0
  763. package/lib/ruby/3.4.0/rdoc/parser/ruby_tools.rb +165 -0
  764. package/lib/ruby/3.4.0/rdoc/parser/simple.rb +61 -0
  765. package/lib/ruby/3.4.0/rdoc/parser/text.rb +11 -0
  766. package/lib/ruby/3.4.0/rdoc/parser.rb +297 -0
  767. package/lib/ruby/3.4.0/rdoc/rd/block_parser.rb +1706 -0
  768. package/lib/ruby/3.4.0/rdoc/rd/inline.rb +71 -0
  769. package/lib/ruby/3.4.0/rdoc/rd/inline_parser.rb +1854 -0
  770. package/lib/ruby/3.4.0/rdoc/rd.rb +99 -0
  771. package/lib/ruby/3.4.0/rdoc/rdoc.rb +551 -0
  772. package/lib/ruby/3.4.0/rdoc/ri/driver.rb +1566 -0
  773. package/lib/ruby/3.4.0/rdoc/ri/formatter.rb +6 -0
  774. package/lib/ruby/3.4.0/rdoc/ri/paths.rb +171 -0
  775. package/lib/ruby/3.4.0/rdoc/ri/store.rb +6 -0
  776. package/lib/ruby/3.4.0/rdoc/ri/task.rb +71 -0
  777. package/lib/ruby/3.4.0/rdoc/ri.rb +20 -0
  778. package/lib/ruby/3.4.0/rdoc/rubygems_hook.rb +327 -0
  779. package/lib/ruby/3.4.0/rdoc/servlet.rb +452 -0
  780. package/lib/ruby/3.4.0/rdoc/stats/normal.rb +58 -0
  781. package/lib/ruby/3.4.0/rdoc/stats/quiet.rb +59 -0
  782. package/lib/ruby/3.4.0/rdoc/stats/verbose.rb +44 -0
  783. package/lib/ruby/3.4.0/rdoc/stats.rb +461 -0
  784. package/lib/ruby/3.4.0/rdoc/store.rb +997 -0
  785. package/lib/ruby/3.4.0/rdoc/task.rb +354 -0
  786. package/lib/ruby/3.4.0/rdoc/text.rb +322 -0
  787. package/lib/ruby/3.4.0/rdoc/token_stream.rb +118 -0
  788. package/lib/ruby/3.4.0/rdoc/tom_doc.rb +257 -0
  789. package/lib/ruby/3.4.0/rdoc/version.rb +10 -0
  790. package/lib/ruby/3.4.0/rdoc.rb +211 -0
  791. package/lib/ruby/3.4.0/readline.rb +7 -0
  792. package/lib/ruby/3.4.0/reline/config.rb +373 -0
  793. package/lib/ruby/3.4.0/reline/face.rb +199 -0
  794. package/lib/ruby/3.4.0/reline/history.rb +76 -0
  795. package/lib/ruby/3.4.0/reline/io/ansi.rb +325 -0
  796. package/lib/ruby/3.4.0/reline/io/dumb.rb +120 -0
  797. package/lib/ruby/3.4.0/reline/io/windows.rb +530 -0
  798. package/lib/ruby/3.4.0/reline/io.rb +55 -0
  799. package/lib/ruby/3.4.0/reline/key_actor/base.rb +37 -0
  800. package/lib/ruby/3.4.0/reline/key_actor/composite.rb +17 -0
  801. package/lib/ruby/3.4.0/reline/key_actor/emacs.rb +517 -0
  802. package/lib/ruby/3.4.0/reline/key_actor/vi_command.rb +518 -0
  803. package/lib/ruby/3.4.0/reline/key_actor/vi_insert.rb +517 -0
  804. package/lib/ruby/3.4.0/reline/key_actor.rb +8 -0
  805. package/lib/ruby/3.4.0/reline/key_stroke.rb +119 -0
  806. package/lib/ruby/3.4.0/reline/kill_ring.rb +125 -0
  807. package/lib/ruby/3.4.0/reline/line_editor.rb +2382 -0
  808. package/lib/ruby/3.4.0/reline/unicode/east_asian_width.rb +1267 -0
  809. package/lib/ruby/3.4.0/reline/unicode.rb +415 -0
  810. package/lib/ruby/3.4.0/reline/version.rb +3 -0
  811. package/lib/ruby/3.4.0/reline.rb +519 -0
  812. package/lib/ruby/3.4.0/resolv.rb +3587 -0
  813. package/lib/ruby/3.4.0/ripper/core.rb +74 -0
  814. package/lib/ruby/3.4.0/ripper/filter.rb +86 -0
  815. package/lib/ruby/3.4.0/ripper/lexer.rb +379 -0
  816. package/lib/ruby/3.4.0/ripper/sexp.rb +187 -0
  817. package/lib/ruby/3.4.0/ripper.rb +74 -0
  818. package/lib/ruby/3.4.0/ruby_vm/rjit/assembler.rb +1160 -0
  819. package/lib/ruby/3.4.0/ruby_vm/rjit/block.rb +11 -0
  820. package/lib/ruby/3.4.0/ruby_vm/rjit/branch_stub.rb +24 -0
  821. package/lib/ruby/3.4.0/ruby_vm/rjit/c_pointer.rb +394 -0
  822. package/lib/ruby/3.4.0/ruby_vm/rjit/c_type.rb +99 -0
  823. package/lib/ruby/3.4.0/ruby_vm/rjit/code_block.rb +91 -0
  824. package/lib/ruby/3.4.0/ruby_vm/rjit/compiler.rb +518 -0
  825. package/lib/ruby/3.4.0/ruby_vm/rjit/context.rb +377 -0
  826. package/lib/ruby/3.4.0/ruby_vm/rjit/entry_stub.rb +7 -0
  827. package/lib/ruby/3.4.0/ruby_vm/rjit/exit_compiler.rb +164 -0
  828. package/lib/ruby/3.4.0/ruby_vm/rjit/hooks.rb +36 -0
  829. package/lib/ruby/3.4.0/ruby_vm/rjit/insn_compiler.rb +6046 -0
  830. package/lib/ruby/3.4.0/ruby_vm/rjit/instruction.rb +1326 -0
  831. package/lib/ruby/3.4.0/ruby_vm/rjit/invariants.rb +155 -0
  832. package/lib/ruby/3.4.0/ruby_vm/rjit/jit_state.rb +65 -0
  833. package/lib/ruby/3.4.0/ruby_vm/rjit/stats.rb +191 -0
  834. package/lib/ruby/3.4.0/ruby_vm/rjit/type.rb +221 -0
  835. package/lib/ruby/3.4.0/rubygems/available_set.rb +165 -0
  836. package/lib/ruby/3.4.0/rubygems/basic_specification.rb +383 -0
  837. package/lib/ruby/3.4.0/rubygems/bundler_version_finder.rb +77 -0
  838. package/lib/ruby/3.4.0/rubygems/ci_detector.rb +75 -0
  839. package/lib/ruby/3.4.0/rubygems/command.rb +664 -0
  840. package/lib/ruby/3.4.0/rubygems/command_manager.rb +255 -0
  841. package/lib/ruby/3.4.0/rubygems/commands/build_command.rb +127 -0
  842. package/lib/ruby/3.4.0/rubygems/commands/cert_command.rb +325 -0
  843. package/lib/ruby/3.4.0/rubygems/commands/check_command.rb +97 -0
  844. package/lib/ruby/3.4.0/rubygems/commands/cleanup_command.rb +178 -0
  845. package/lib/ruby/3.4.0/rubygems/commands/contents_command.rb +196 -0
  846. package/lib/ruby/3.4.0/rubygems/commands/dependency_command.rb +206 -0
  847. package/lib/ruby/3.4.0/rubygems/commands/environment_command.rb +181 -0
  848. package/lib/ruby/3.4.0/rubygems/commands/exec_command.rb +256 -0
  849. package/lib/ruby/3.4.0/rubygems/commands/fetch_command.rb +109 -0
  850. package/lib/ruby/3.4.0/rubygems/commands/generate_index_command.rb +51 -0
  851. package/lib/ruby/3.4.0/rubygems/commands/help_command.rb +375 -0
  852. package/lib/ruby/3.4.0/rubygems/commands/info_command.rb +38 -0
  853. package/lib/ruby/3.4.0/rubygems/commands/install_command.rb +269 -0
  854. package/lib/ruby/3.4.0/rubygems/commands/list_command.rb +42 -0
  855. package/lib/ruby/3.4.0/rubygems/commands/lock_command.rb +109 -0
  856. package/lib/ruby/3.4.0/rubygems/commands/mirror_command.rb +26 -0
  857. package/lib/ruby/3.4.0/rubygems/commands/open_command.rb +83 -0
  858. package/lib/ruby/3.4.0/rubygems/commands/outdated_command.rb +33 -0
  859. package/lib/ruby/3.4.0/rubygems/commands/owner_command.rb +124 -0
  860. package/lib/ruby/3.4.0/rubygems/commands/pristine_command.rb +217 -0
  861. package/lib/ruby/3.4.0/rubygems/commands/push_command.rb +135 -0
  862. package/lib/ruby/3.4.0/rubygems/commands/query_command.rb +43 -0
  863. package/lib/ruby/3.4.0/rubygems/commands/rdoc_command.rb +90 -0
  864. package/lib/ruby/3.4.0/rubygems/commands/rebuild_command.rb +262 -0
  865. package/lib/ruby/3.4.0/rubygems/commands/search_command.rb +41 -0
  866. package/lib/ruby/3.4.0/rubygems/commands/server_command.rb +26 -0
  867. package/lib/ruby/3.4.0/rubygems/commands/setup_command.rb +663 -0
  868. package/lib/ruby/3.4.0/rubygems/commands/signin_command.rb +34 -0
  869. package/lib/ruby/3.4.0/rubygems/commands/signout_command.rb +32 -0
  870. package/lib/ruby/3.4.0/rubygems/commands/sources_command.rb +227 -0
  871. package/lib/ruby/3.4.0/rubygems/commands/specification_command.rb +156 -0
  872. package/lib/ruby/3.4.0/rubygems/commands/stale_command.rb +40 -0
  873. package/lib/ruby/3.4.0/rubygems/commands/uninstall_command.rb +204 -0
  874. package/lib/ruby/3.4.0/rubygems/commands/unpack_command.rb +168 -0
  875. package/lib/ruby/3.4.0/rubygems/commands/update_command.rb +326 -0
  876. package/lib/ruby/3.4.0/rubygems/commands/which_command.rb +88 -0
  877. package/lib/ruby/3.4.0/rubygems/commands/yank_command.rb +99 -0
  878. package/lib/ruby/3.4.0/rubygems/compatibility.rb +41 -0
  879. package/lib/ruby/3.4.0/rubygems/config_file.rb +618 -0
  880. package/lib/ruby/3.4.0/rubygems/core_ext/kernel_gem.rb +68 -0
  881. package/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb +149 -0
  882. package/lib/ruby/3.4.0/rubygems/core_ext/kernel_warn.rb +45 -0
  883. package/lib/ruby/3.4.0/rubygems/core_ext/tcpsocket_init.rb +54 -0
  884. package/lib/ruby/3.4.0/rubygems/defaults.rb +308 -0
  885. package/lib/ruby/3.4.0/rubygems/dependency.rb +348 -0
  886. package/lib/ruby/3.4.0/rubygems/dependency_installer.rb +335 -0
  887. package/lib/ruby/3.4.0/rubygems/dependency_list.rb +243 -0
  888. package/lib/ruby/3.4.0/rubygems/deprecate.rb +169 -0
  889. package/lib/ruby/3.4.0/rubygems/doctor.rb +132 -0
  890. package/lib/ruby/3.4.0/rubygems/errors.rb +177 -0
  891. package/lib/ruby/3.4.0/rubygems/exceptions.rb +293 -0
  892. package/lib/ruby/3.4.0/rubygems/ext/build_error.rb +9 -0
  893. package/lib/ruby/3.4.0/rubygems/ext/builder.rb +260 -0
  894. package/lib/ruby/3.4.0/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
  895. package/lib/ruby/3.4.0/rubygems/ext/cargo_builder.rb +346 -0
  896. package/lib/ruby/3.4.0/rubygems/ext/cmake_builder.rb +21 -0
  897. package/lib/ruby/3.4.0/rubygems/ext/configure_builder.rb +26 -0
  898. package/lib/ruby/3.4.0/rubygems/ext/ext_conf_builder.rb +77 -0
  899. package/lib/ruby/3.4.0/rubygems/ext/rake_builder.rb +37 -0
  900. package/lib/ruby/3.4.0/rubygems/ext.rb +20 -0
  901. package/lib/ruby/3.4.0/rubygems/gem_runner.rb +89 -0
  902. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  903. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  904. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities/webauthn_poller.rb +80 -0
  905. package/lib/ruby/3.4.0/rubygems/gemcutter_utilities.rb +397 -0
  906. package/lib/ruby/3.4.0/rubygems/gemspec_helpers.rb +19 -0
  907. package/lib/ruby/3.4.0/rubygems/install_default_message.rb +13 -0
  908. package/lib/ruby/3.4.0/rubygems/install_message.rb +13 -0
  909. package/lib/ruby/3.4.0/rubygems/install_update_options.rb +204 -0
  910. package/lib/ruby/3.4.0/rubygems/installer.rb +1031 -0
  911. package/lib/ruby/3.4.0/rubygems/installer_uninstaller_utils.rb +27 -0
  912. package/lib/ruby/3.4.0/rubygems/local_remote_options.rb +146 -0
  913. package/lib/ruby/3.4.0/rubygems/name_tuple.rb +119 -0
  914. package/lib/ruby/3.4.0/rubygems/openssl.rb +7 -0
  915. package/lib/ruby/3.4.0/rubygems/package/digest_io.rb +63 -0
  916. package/lib/ruby/3.4.0/rubygems/package/file_source.rb +32 -0
  917. package/lib/ruby/3.4.0/rubygems/package/io_source.rb +48 -0
  918. package/lib/ruby/3.4.0/rubygems/package/old.rb +169 -0
  919. package/lib/ruby/3.4.0/rubygems/package/source.rb +4 -0
  920. package/lib/ruby/3.4.0/rubygems/package/tar_header.rb +277 -0
  921. package/lib/ruby/3.4.0/rubygems/package/tar_reader/entry.rb +244 -0
  922. package/lib/ruby/3.4.0/rubygems/package/tar_reader.rb +101 -0
  923. package/lib/ruby/3.4.0/rubygems/package/tar_writer.rb +332 -0
  924. package/lib/ruby/3.4.0/rubygems/package.rb +742 -0
  925. package/lib/ruby/3.4.0/rubygems/package_task.rb +123 -0
  926. package/lib/ruby/3.4.0/rubygems/path_support.rb +85 -0
  927. package/lib/ruby/3.4.0/rubygems/platform.rb +269 -0
  928. package/lib/ruby/3.4.0/rubygems/psych_tree.rb +37 -0
  929. package/lib/ruby/3.4.0/rubygems/query_utils.rb +349 -0
  930. package/lib/ruby/3.4.0/rubygems/rdoc.rb +26 -0
  931. package/lib/ruby/3.4.0/rubygems/remote_fetcher.rb +341 -0
  932. package/lib/ruby/3.4.0/rubygems/request/connection_pools.rb +95 -0
  933. package/lib/ruby/3.4.0/rubygems/request/http_pool.rb +47 -0
  934. package/lib/ruby/3.4.0/rubygems/request/https_pool.rb +10 -0
  935. package/lib/ruby/3.4.0/rubygems/request.rb +298 -0
  936. package/lib/ruby/3.4.0/rubygems/request_set/gem_dependency_api.rb +841 -0
  937. package/lib/ruby/3.4.0/rubygems/request_set/lockfile/parser.rb +344 -0
  938. package/lib/ruby/3.4.0/rubygems/request_set/lockfile/tokenizer.rb +122 -0
  939. package/lib/ruby/3.4.0/rubygems/request_set/lockfile.rb +235 -0
  940. package/lib/ruby/3.4.0/rubygems/request_set.rb +468 -0
  941. package/lib/ruby/3.4.0/rubygems/requirement.rb +298 -0
  942. package/lib/ruby/3.4.0/rubygems/resolver/activation_request.rb +159 -0
  943. package/lib/ruby/3.4.0/rubygems/resolver/api_set/gem_parser.rb +21 -0
  944. package/lib/ruby/3.4.0/rubygems/resolver/api_set.rb +139 -0
  945. package/lib/ruby/3.4.0/rubygems/resolver/api_specification.rb +105 -0
  946. package/lib/ruby/3.4.0/rubygems/resolver/best_set.rb +49 -0
  947. package/lib/ruby/3.4.0/rubygems/resolver/composed_set.rb +65 -0
  948. package/lib/ruby/3.4.0/rubygems/resolver/conflict.rb +146 -0
  949. package/lib/ruby/3.4.0/rubygems/resolver/current_set.rb +12 -0
  950. package/lib/ruby/3.4.0/rubygems/resolver/dependency_request.rb +119 -0
  951. package/lib/ruby/3.4.0/rubygems/resolver/git_set.rb +120 -0
  952. package/lib/ruby/3.4.0/rubygems/resolver/git_specification.rb +57 -0
  953. package/lib/ruby/3.4.0/rubygems/resolver/index_set.rb +79 -0
  954. package/lib/ruby/3.4.0/rubygems/resolver/index_specification.rb +101 -0
  955. package/lib/ruby/3.4.0/rubygems/resolver/installed_specification.rb +57 -0
  956. package/lib/ruby/3.4.0/rubygems/resolver/installer_set.rb +271 -0
  957. package/lib/ruby/3.4.0/rubygems/resolver/local_specification.rb +40 -0
  958. package/lib/ruby/3.4.0/rubygems/resolver/lock_set.rb +81 -0
  959. package/lib/ruby/3.4.0/rubygems/resolver/lock_specification.rb +86 -0
  960. package/lib/ruby/3.4.0/rubygems/resolver/requirement_list.rb +82 -0
  961. package/lib/ruby/3.4.0/rubygems/resolver/set.rb +55 -0
  962. package/lib/ruby/3.4.0/rubygems/resolver/source_set.rb +47 -0
  963. package/lib/ruby/3.4.0/rubygems/resolver/spec_specification.rb +76 -0
  964. package/lib/ruby/3.4.0/rubygems/resolver/specification.rb +126 -0
  965. package/lib/ruby/3.4.0/rubygems/resolver/stats.rb +46 -0
  966. package/lib/ruby/3.4.0/rubygems/resolver/vendor_set.rb +86 -0
  967. package/lib/ruby/3.4.0/rubygems/resolver/vendor_specification.rb +23 -0
  968. package/lib/ruby/3.4.0/rubygems/resolver.rb +341 -0
  969. package/lib/ruby/3.4.0/rubygems/s3_uri_signer.rb +177 -0
  970. package/lib/ruby/3.4.0/rubygems/safe_marshal/elements.rb +146 -0
  971. package/lib/ruby/3.4.0/rubygems/safe_marshal/reader.rb +325 -0
  972. package/lib/ruby/3.4.0/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  973. package/lib/ruby/3.4.0/rubygems/safe_marshal/visitors/to_ruby.rb +428 -0
  974. package/lib/ruby/3.4.0/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  975. package/lib/ruby/3.4.0/rubygems/safe_marshal.rb +74 -0
  976. package/lib/ruby/3.4.0/rubygems/safe_yaml.rb +45 -0
  977. package/lib/ruby/3.4.0/rubygems/security/policies.rb +114 -0
  978. package/lib/ruby/3.4.0/rubygems/security/policy.rb +288 -0
  979. package/lib/ruby/3.4.0/rubygems/security/signer.rb +212 -0
  980. package/lib/ruby/3.4.0/rubygems/security/trust_dir.rb +117 -0
  981. package/lib/ruby/3.4.0/rubygems/security.rb +615 -0
  982. package/lib/ruby/3.4.0/rubygems/security_option.rb +43 -0
  983. package/lib/ruby/3.4.0/rubygems/source/git.rb +244 -0
  984. package/lib/ruby/3.4.0/rubygems/source/installed.rb +39 -0
  985. package/lib/ruby/3.4.0/rubygems/source/local.rb +131 -0
  986. package/lib/ruby/3.4.0/rubygems/source/lock.rb +49 -0
  987. package/lib/ruby/3.4.0/rubygems/source/specific_file.rb +73 -0
  988. package/lib/ruby/3.4.0/rubygems/source/vendor.rb +24 -0
  989. package/lib/ruby/3.4.0/rubygems/source.rb +247 -0
  990. package/lib/ruby/3.4.0/rubygems/source_list.rb +146 -0
  991. package/lib/ruby/3.4.0/rubygems/spec_fetcher.rb +290 -0
  992. package/lib/ruby/3.4.0/rubygems/specification.rb +2666 -0
  993. package/lib/ruby/3.4.0/rubygems/specification_policy.rb +558 -0
  994. package/lib/ruby/3.4.0/rubygems/specification_record.rb +212 -0
  995. package/lib/ruby/3.4.0/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +21 -0
  996. package/lib/ruby/3.4.0/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  997. package/lib/ruby/3.4.0/rubygems/stub_specification.rb +235 -0
  998. package/lib/ruby/3.4.0/rubygems/target_rbconfig.rb +50 -0
  999. package/lib/ruby/3.4.0/rubygems/text.rb +85 -0
  1000. package/lib/ruby/3.4.0/rubygems/uninstaller.rb +429 -0
  1001. package/lib/ruby/3.4.0/rubygems/unknown_command_spell_checker.rb +21 -0
  1002. package/lib/ruby/3.4.0/rubygems/update_suggestion.rb +56 -0
  1003. package/lib/ruby/3.4.0/rubygems/uri.rb +126 -0
  1004. package/lib/ruby/3.4.0/rubygems/uri_formatter.rb +47 -0
  1005. package/lib/ruby/3.4.0/rubygems/user_interaction.rb +650 -0
  1006. package/lib/ruby/3.4.0/rubygems/util/licenses.rb +834 -0
  1007. package/lib/ruby/3.4.0/rubygems/util/list.rb +40 -0
  1008. package/lib/ruby/3.4.0/rubygems/util.rb +118 -0
  1009. package/lib/ruby/3.4.0/rubygems/validator.rb +144 -0
  1010. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  1011. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +88 -0
  1012. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +36 -0
  1013. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +66 -0
  1014. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +62 -0
  1015. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  1016. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +61 -0
  1017. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +126 -0
  1018. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +46 -0
  1019. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +36 -0
  1020. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +164 -0
  1021. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +255 -0
  1022. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/errors.rb +149 -0
  1023. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  1024. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +112 -0
  1025. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb +67 -0
  1026. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/resolution.rb +839 -0
  1027. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/resolver.rb +46 -0
  1028. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo/state.rb +58 -0
  1029. package/lib/ruby/3.4.0/rubygems/vendor/molinillo/lib/molinillo.rb +11 -0
  1030. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/exceptions.rb +34 -0
  1031. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/generic_request.rb +414 -0
  1032. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/header.rb +981 -0
  1033. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/proxy_delta.rb +17 -0
  1034. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/request.rb +88 -0
  1035. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/requests.rb +430 -0
  1036. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/response.rb +738 -0
  1037. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/responses.rb +1174 -0
  1038. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http/status.rb +84 -0
  1039. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/http.rb +2580 -0
  1040. package/lib/ruby/3.4.0/rubygems/vendor/net-http/lib/net/https.rb +23 -0
  1041. package/lib/ruby/3.4.0/rubygems/vendor/net-protocol/lib/net/protocol.rb +544 -0
  1042. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optionparser.rb +2 -0
  1043. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/ac.rb +70 -0
  1044. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/date.rb +18 -0
  1045. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/kwargs.rb +27 -0
  1046. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/shellwords.rb +7 -0
  1047. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/time.rb +11 -0
  1048. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  1049. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse/version.rb +80 -0
  1050. package/lib/ruby/3.4.0/rubygems/vendor/optparse/lib/optparse.rb +2426 -0
  1051. package/lib/ruby/3.4.0/rubygems/vendor/resolv/lib/resolv.rb +3455 -0
  1052. package/lib/ruby/3.4.0/rubygems/vendor/securerandom/lib/securerandom.rb +102 -0
  1053. package/lib/ruby/3.4.0/rubygems/vendor/timeout/lib/timeout.rb +198 -0
  1054. package/lib/ruby/3.4.0/rubygems/vendor/tsort/lib/tsort.rb +455 -0
  1055. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/common.rb +880 -0
  1056. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  1057. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  1058. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/generic.rb +1592 -0
  1059. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  1060. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  1061. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  1062. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  1063. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  1064. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  1065. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  1066. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  1067. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  1068. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  1069. package/lib/ruby/3.4.0/rubygems/vendor/uri/lib/uri.rb +104 -0
  1070. package/lib/ruby/3.4.0/rubygems/vendored_molinillo.rb +3 -0
  1071. package/lib/ruby/3.4.0/rubygems/vendored_net_http.rb +5 -0
  1072. package/lib/ruby/3.4.0/rubygems/vendored_optparse.rb +3 -0
  1073. package/lib/ruby/3.4.0/rubygems/vendored_securerandom.rb +3 -0
  1074. package/lib/ruby/3.4.0/rubygems/vendored_timeout.rb +5 -0
  1075. package/lib/ruby/3.4.0/rubygems/vendored_tsort.rb +3 -0
  1076. package/lib/ruby/3.4.0/rubygems/version.rb +441 -0
  1077. package/lib/ruby/3.4.0/rubygems/version_option.rb +80 -0
  1078. package/lib/ruby/3.4.0/rubygems/yaml_serializer.rb +98 -0
  1079. package/lib/ruby/3.4.0/rubygems.rb +1417 -0
  1080. package/lib/ruby/3.4.0/securerandom.rb +102 -0
  1081. package/lib/ruby/3.4.0/set/sorted_set.rb +6 -0
  1082. package/lib/ruby/3.4.0/set.rb +855 -0
  1083. package/lib/ruby/3.4.0/shellwords.rb +254 -0
  1084. package/lib/ruby/3.4.0/singleton.rb +239 -0
  1085. package/lib/ruby/3.4.0/socket.rb +1790 -0
  1086. package/lib/ruby/3.4.0/strscan/strscan.rb +25 -0
  1087. package/lib/ruby/3.4.0/syntax_suggest/api.rb +233 -0
  1088. package/lib/ruby/3.4.0/syntax_suggest/around_block_scan.rb +232 -0
  1089. package/lib/ruby/3.4.0/syntax_suggest/block_expand.rb +165 -0
  1090. package/lib/ruby/3.4.0/syntax_suggest/capture/before_after_keyword_ends.rb +85 -0
  1091. package/lib/ruby/3.4.0/syntax_suggest/capture/falling_indent_lines.rb +71 -0
  1092. package/lib/ruby/3.4.0/syntax_suggest/capture_code_context.rb +245 -0
  1093. package/lib/ruby/3.4.0/syntax_suggest/clean_document.rb +306 -0
  1094. package/lib/ruby/3.4.0/syntax_suggest/cli.rb +130 -0
  1095. package/lib/ruby/3.4.0/syntax_suggest/code_block.rb +100 -0
  1096. package/lib/ruby/3.4.0/syntax_suggest/code_frontier.rb +178 -0
  1097. package/lib/ruby/3.4.0/syntax_suggest/code_line.rb +243 -0
  1098. package/lib/ruby/3.4.0/syntax_suggest/code_search.rb +139 -0
  1099. package/lib/ruby/3.4.0/syntax_suggest/core_ext.rb +96 -0
  1100. package/lib/ruby/3.4.0/syntax_suggest/display_code_with_line_numbers.rb +70 -0
  1101. package/lib/ruby/3.4.0/syntax_suggest/display_invalid_blocks.rb +83 -0
  1102. package/lib/ruby/3.4.0/syntax_suggest/explain_syntax.rb +117 -0
  1103. package/lib/ruby/3.4.0/syntax_suggest/left_right_lex_count.rb +168 -0
  1104. package/lib/ruby/3.4.0/syntax_suggest/lex_all.rb +74 -0
  1105. package/lib/ruby/3.4.0/syntax_suggest/lex_value.rb +70 -0
  1106. package/lib/ruby/3.4.0/syntax_suggest/mini_stringio.rb +30 -0
  1107. package/lib/ruby/3.4.0/syntax_suggest/parse_blocks_from_indent_line.rb +60 -0
  1108. package/lib/ruby/3.4.0/syntax_suggest/pathname_from_message.rb +59 -0
  1109. package/lib/ruby/3.4.0/syntax_suggest/priority_engulf_queue.rb +63 -0
  1110. package/lib/ruby/3.4.0/syntax_suggest/priority_queue.rb +105 -0
  1111. package/lib/ruby/3.4.0/syntax_suggest/ripper_errors.rb +39 -0
  1112. package/lib/ruby/3.4.0/syntax_suggest/scan_history.rb +134 -0
  1113. package/lib/ruby/3.4.0/syntax_suggest/unvisited_lines.rb +36 -0
  1114. package/lib/ruby/3.4.0/syntax_suggest/version.rb +5 -0
  1115. package/lib/ruby/3.4.0/syntax_suggest.rb +3 -0
  1116. package/lib/ruby/3.4.0/tempfile.rb +640 -0
  1117. package/lib/ruby/3.4.0/time.rb +731 -0
  1118. package/lib/ruby/3.4.0/timeout.rb +200 -0
  1119. package/lib/ruby/3.4.0/tmpdir.rb +189 -0
  1120. package/lib/ruby/3.4.0/tsort.rb +455 -0
  1121. package/lib/ruby/3.4.0/un.rb +441 -0
  1122. package/lib/ruby/3.4.0/unicode_normalize/normalize.rb +181 -0
  1123. package/lib/ruby/3.4.0/unicode_normalize/tables.rb +9259 -0
  1124. package/lib/ruby/3.4.0/uri/common.rb +880 -0
  1125. package/lib/ruby/3.4.0/uri/file.rb +100 -0
  1126. package/lib/ruby/3.4.0/uri/ftp.rb +267 -0
  1127. package/lib/ruby/3.4.0/uri/generic.rb +1592 -0
  1128. package/lib/ruby/3.4.0/uri/http.rb +125 -0
  1129. package/lib/ruby/3.4.0/uri/https.rb +23 -0
  1130. package/lib/ruby/3.4.0/uri/ldap.rb +261 -0
  1131. package/lib/ruby/3.4.0/uri/ldaps.rb +22 -0
  1132. package/lib/ruby/3.4.0/uri/mailto.rb +293 -0
  1133. package/lib/ruby/3.4.0/uri/rfc2396_parser.rb +546 -0
  1134. package/lib/ruby/3.4.0/uri/rfc3986_parser.rb +206 -0
  1135. package/lib/ruby/3.4.0/uri/version.rb +6 -0
  1136. package/lib/ruby/3.4.0/uri/ws.rb +83 -0
  1137. package/lib/ruby/3.4.0/uri/wss.rb +23 -0
  1138. package/lib/ruby/3.4.0/uri.rb +104 -0
  1139. package/lib/ruby/{3.4.11 → 3.4.0/wasm32-wasi}/rbconfig.rb +11 -11
  1140. package/lib/ruby/3.4.0/weakref.rb +58 -0
  1141. package/lib/ruby/3.4.0/yaml/dbm.rb +295 -0
  1142. package/lib/ruby/3.4.0/yaml/store.rb +98 -0
  1143. package/lib/ruby/3.4.0/yaml.rb +70 -0
  1144. package/lib/ruby/gems/3.4.0/cache/abbrev-0.1.2.gem +0 -0
  1145. package/lib/ruby/gems/3.4.0/cache/base64-0.2.0.gem +0 -0
  1146. package/lib/ruby/gems/3.4.0/cache/csv-3.3.2.gem +0 -0
  1147. package/lib/ruby/gems/3.4.0/cache/drb-2.2.1.gem +0 -0
  1148. package/lib/ruby/gems/3.4.0/cache/getoptlong-0.2.1.gem +0 -0
  1149. package/lib/ruby/gems/3.4.0/cache/matrix-0.4.2.gem +0 -0
  1150. package/lib/ruby/gems/3.4.0/cache/minitest-5.25.4.gem +0 -0
  1151. package/lib/ruby/gems/3.4.0/cache/mutex_m-0.3.0.gem +0 -0
  1152. package/lib/ruby/gems/3.4.0/cache/net-ftp-0.3.8.gem +0 -0
  1153. package/lib/ruby/gems/3.4.0/cache/net-imap-0.5.15.gem +0 -0
  1154. package/lib/ruby/gems/3.4.0/cache/net-pop-0.1.2.gem +0 -0
  1155. package/lib/ruby/gems/3.4.0/cache/net-smtp-0.5.1.gem +0 -0
  1156. package/lib/ruby/gems/3.4.0/cache/observer-0.1.2.gem +0 -0
  1157. package/lib/ruby/gems/3.4.0/cache/power_assert-2.0.5.gem +0 -0
  1158. package/lib/ruby/gems/3.4.0/cache/prime-0.1.3.gem +0 -0
  1159. package/lib/ruby/gems/3.4.0/cache/rake-13.2.1.gem +0 -0
  1160. package/lib/ruby/gems/3.4.0/cache/repl_type_completor-0.1.9.gem +0 -0
  1161. package/lib/ruby/gems/3.4.0/cache/resolv-replace-0.1.1.gem +0 -0
  1162. package/lib/ruby/gems/3.4.0/cache/rexml-3.4.4.gem +0 -0
  1163. package/lib/ruby/gems/3.4.0/cache/rinda-0.2.0.gem +0 -0
  1164. package/lib/ruby/gems/3.4.0/cache/rss-0.3.1.gem +0 -0
  1165. package/lib/ruby/gems/3.4.0/cache/test-unit-3.6.7.gem +0 -0
  1166. package/lib/ruby/gems/3.4.0/cache/typeprof-0.30.1.gem +0 -0
  1167. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/Gemfile +4 -0
  1168. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/LICENSE.txt +22 -0
  1169. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/README.md +45 -0
  1170. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/Rakefile +10 -0
  1171. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/bin/console +14 -0
  1172. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/bin/setup +8 -0
  1173. package/lib/ruby/gems/3.4.0/gems/abbrev-0.1.2/lib/abbrev.rb +133 -0
  1174. package/lib/ruby/gems/3.4.0/gems/base64-0.2.0/LICENSE.txt +22 -0
  1175. package/lib/ruby/gems/3.4.0/gems/base64-0.2.0/README.md +48 -0
  1176. package/lib/ruby/gems/3.4.0/gems/base64-0.2.0/lib/base64.rb +363 -0
  1177. package/lib/ruby/gems/3.4.0/gems/bundler-2.6.9/exe/bundle +29 -0
  1178. package/lib/ruby/gems/3.4.0/gems/bundler-2.6.9/exe/bundler +4 -0
  1179. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/LICENSE.txt +33 -0
  1180. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/NEWS.md +965 -0
  1181. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/README.md +55 -0
  1182. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/arguments/io.rdoc +5 -0
  1183. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/common/col_sep.rdoc +57 -0
  1184. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/common/quote_char.rdoc +42 -0
  1185. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/common/row_sep.rdoc +91 -0
  1186. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/force_quotes.rdoc +17 -0
  1187. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/quote_empty.rdoc +12 -0
  1188. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_converters.rdoc +25 -0
  1189. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_empty_value.rdoc +15 -0
  1190. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_headers.rdoc +29 -0
  1191. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/generating/write_nil_value.rdoc +14 -0
  1192. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/converters.rdoc +46 -0
  1193. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/empty_value.rdoc +13 -0
  1194. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/field_size_limit.rdoc +39 -0
  1195. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/header_converters.rdoc +43 -0
  1196. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/headers.rdoc +63 -0
  1197. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/liberal_parsing.rdoc +38 -0
  1198. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/nil_value.rdoc +12 -0
  1199. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/return_headers.rdoc +22 -0
  1200. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/skip_blanks.rdoc +31 -0
  1201. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/skip_lines.rdoc +37 -0
  1202. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/strip.rdoc +15 -0
  1203. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/options/parsing/unconverted_fields.rdoc +27 -0
  1204. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/filtering.rdoc +226 -0
  1205. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/generating.rdoc +298 -0
  1206. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/parsing.rdoc +554 -0
  1207. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/doc/csv/recipes/recipes.rdoc +6 -0
  1208. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/core_ext/array.rb +9 -0
  1209. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/core_ext/string.rb +9 -0
  1210. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/fields_converter.rb +96 -0
  1211. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/input_record_separator.rb +18 -0
  1212. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/parser.rb +1292 -0
  1213. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/row.rb +757 -0
  1214. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/table.rb +1055 -0
  1215. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/version.rb +6 -0
  1216. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv/writer.rb +209 -0
  1217. package/lib/ruby/gems/3.4.0/gems/csv-3.3.2/lib/csv.rb +3017 -0
  1218. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/LICENSE.txt +22 -0
  1219. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/acl.rb +239 -0
  1220. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/drb.rb +1943 -0
  1221. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/eq.rb +15 -0
  1222. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/extserv.rb +44 -0
  1223. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/extservm.rb +94 -0
  1224. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/gw.rb +161 -0
  1225. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/invokemethod.rb +35 -0
  1226. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/observer.rb +26 -0
  1227. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/ssl.rb +354 -0
  1228. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/timeridconv.rb +97 -0
  1229. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/unix.rb +118 -0
  1230. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/version.rb +3 -0
  1231. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb/weakidconv.rb +59 -0
  1232. package/lib/ruby/gems/3.4.0/gems/drb-2.2.1/lib/drb.rb +3 -0
  1233. package/lib/ruby/gems/3.4.0/gems/erb-4.0.4.1/libexec/erb +164 -0
  1234. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/Gemfile +4 -0
  1235. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/LICENSE.txt +22 -0
  1236. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/README.md +99 -0
  1237. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/Rakefile +10 -0
  1238. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/bin/console +7 -0
  1239. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/bin/setup +6 -0
  1240. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/lib/getoptlong.rb +867 -0
  1241. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/abbrev.rb +9 -0
  1242. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/aliases.rb +8 -0
  1243. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/argv.rb +12 -0
  1244. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/each.rb +12 -0
  1245. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/fibonacci.rb +62 -0
  1246. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/permute.rb +12 -0
  1247. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/require_order.rb +13 -0
  1248. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/return_in_order.rb +13 -0
  1249. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/simple.rb +7 -0
  1250. package/lib/ruby/gems/3.4.0/gems/getoptlong-0.2.1/sample/getoptlong/types.rb +10 -0
  1251. package/lib/ruby/gems/3.4.0/gems/irb-1.14.3/exe/irb +9 -0
  1252. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/LICENSE.txt +22 -0
  1253. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix/eigenvalue_decomposition.rb +882 -0
  1254. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix/lup_decomposition.rb +219 -0
  1255. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix/version.rb +5 -0
  1256. package/lib/ruby/gems/3.4.0/gems/matrix-0.4.2/lib/matrix.rb +2493 -0
  1257. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/History.rdoc +1681 -0
  1258. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/Manifest.txt +32 -0
  1259. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/README.rdoc +835 -0
  1260. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/Rakefile +81 -0
  1261. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/design_rationale.rb +52 -0
  1262. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/hoe/minitest.rb +29 -0
  1263. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/assertions.rb +855 -0
  1264. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/autorun.rb +6 -0
  1265. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/benchmark.rb +452 -0
  1266. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/compress.rb +94 -0
  1267. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/error_on_warning.rb +11 -0
  1268. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/expectations.rb +321 -0
  1269. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/hell.rb +11 -0
  1270. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/manual_plugins.rb +16 -0
  1271. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/mock.rb +347 -0
  1272. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/parallel.rb +70 -0
  1273. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/pride.rb +4 -0
  1274. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/pride_plugin.rb +135 -0
  1275. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/spec.rb +350 -0
  1276. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test.rb +237 -0
  1277. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/test_task.rb +307 -0
  1278. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest/unit.rb +42 -0
  1279. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/lib/minitest.rb +1235 -0
  1280. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/metametameta.rb +150 -0
  1281. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_assertions.rb +1720 -0
  1282. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_benchmark.rb +137 -0
  1283. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_mock.rb +1218 -0
  1284. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_reporter.rb +436 -0
  1285. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_spec.rb +1163 -0
  1286. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_test.rb +1356 -0
  1287. package/lib/ruby/gems/3.4.0/gems/minitest-5.25.4/test/minitest/test_minitest_test_task.rb +57 -0
  1288. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/BSDL +22 -0
  1289. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/COPYING +56 -0
  1290. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/README.md +62 -0
  1291. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/lib/mutex_m.rb +121 -0
  1292. package/lib/ruby/gems/3.4.0/gems/mutex_m-0.3.0/sig/mutex_m.rbs +99 -0
  1293. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/BSDL +22 -0
  1294. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/COPYING +56 -0
  1295. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/Gemfile +6 -0
  1296. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/LICENSE.txt +2 -0
  1297. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/README.md +56 -0
  1298. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/Rakefile +10 -0
  1299. package/lib/ruby/gems/3.4.0/gems/net-ftp-0.3.8/lib/net/ftp.rb +1580 -0
  1300. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/BSDL +22 -0
  1301. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/COPYING +56 -0
  1302. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/Gemfile +25 -0
  1303. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/LICENSE.txt +65 -0
  1304. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/README.md +77 -0
  1305. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/Rakefile +13 -0
  1306. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/docs/styles.css +85 -0
  1307. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/authenticators.rb +37 -0
  1308. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/command_data.rb +507 -0
  1309. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_accessors.rb +75 -0
  1310. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_inheritance.rb +90 -0
  1311. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_type_coercion.rb +74 -0
  1312. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_version_defaults.rb +93 -0
  1313. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config.rb +500 -0
  1314. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/connection_state.rb +48 -0
  1315. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_encoding.rb +214 -0
  1316. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_lite.rb +226 -0
  1317. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/deprecated_client_options.rb +142 -0
  1318. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/errors.rb +118 -0
  1319. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/esearch_result.rb +219 -0
  1320. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/fetch_data.rb +597 -0
  1321. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/flags.rb +262 -0
  1322. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_data.rb +1113 -0
  1323. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser/parser_utils.rb +245 -0
  1324. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser.rb +2282 -0
  1325. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_reader.rb +92 -0
  1326. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/anonymous_authenticator.rb +69 -0
  1327. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authentication_exchange.rb +139 -0
  1328. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authenticators.rb +122 -0
  1329. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/client_adapter.rb +123 -0
  1330. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/cram_md5_authenticator.rb +61 -0
  1331. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/digest_md5_authenticator.rb +342 -0
  1332. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/external_authenticator.rb +83 -0
  1333. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/gs2_header.rb +80 -0
  1334. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/login_authenticator.rb +56 -0
  1335. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/oauthbearer_authenticator.rb +199 -0
  1336. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/plain_authenticator.rb +101 -0
  1337. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/protocol_adapters.rb +101 -0
  1338. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_algorithm.rb +58 -0
  1339. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_authenticator.rb +361 -0
  1340. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/stringprep.rb +12 -0
  1341. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/xoauth2_authenticator.rb +106 -0
  1342. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl.rb +182 -0
  1343. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl_adapter.rb +20 -0
  1344. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/search_result.rb +145 -0
  1345. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sequence_set.rb +1952 -0
  1346. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/nameprep.rb +70 -0
  1347. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep.rb +69 -0
  1348. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep_tables.rb +96 -0
  1349. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/tables.rb +146 -0
  1350. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/trace.rb +85 -0
  1351. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep.rb +159 -0
  1352. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/uidplus_data.rb +244 -0
  1353. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap/vanished_data.rb +65 -0
  1354. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/lib/net/imap.rb +3968 -0
  1355. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/benchmarks.rake +91 -0
  1356. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/rdoc.rake +70 -0
  1357. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/rfcs.rake +170 -0
  1358. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/saslprep.rake +30 -0
  1359. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/rakelib/string_prep_tables_generator.rb +449 -0
  1360. package/lib/ruby/gems/3.4.0/gems/net-imap-0.5.15/sample/net-imap.rb +167 -0
  1361. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/Gemfile +7 -0
  1362. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/LICENSE.txt +22 -0
  1363. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/README.md +66 -0
  1364. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/Rakefile +17 -0
  1365. package/lib/ruby/gems/3.4.0/gems/net-pop-0.1.2/lib/net/pop.rb +1025 -0
  1366. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/LICENSE.txt +2 -0
  1367. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/NEWS.md +133 -0
  1368. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/README.md +97 -0
  1369. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_cram_md5.rb +48 -0
  1370. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_login.rb +11 -0
  1371. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_plain.rb +9 -0
  1372. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_xoauth2.rb +17 -0
  1373. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/authenticator.rb +57 -0
  1374. package/lib/ruby/gems/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp.rb +1164 -0
  1375. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/Gemfile +9 -0
  1376. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/LICENSE.txt +22 -0
  1377. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/README.md +139 -0
  1378. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/Rakefile +10 -0
  1379. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/bin/console +14 -0
  1380. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/bin/setup +8 -0
  1381. package/lib/ruby/gems/3.4.0/gems/observer-0.1.2/lib/observer.rb +229 -0
  1382. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/BSDL +22 -0
  1383. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/COPYING +57 -0
  1384. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/Gemfile +19 -0
  1385. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/LEGAL +4 -0
  1386. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/README.md +98 -0
  1387. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/Rakefile +59 -0
  1388. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/colorize.rb +7 -0
  1389. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/configuration.rb +46 -0
  1390. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/context.rb +233 -0
  1391. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/enable_tracepoint_events.rb +62 -0
  1392. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/inspector.rb +66 -0
  1393. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/parser.rb +251 -0
  1394. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert/version.rb +3 -0
  1395. package/lib/ruby/gems/3.4.0/gems/power_assert-2.0.5/lib/power_assert.rb +93 -0
  1396. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/BSDL +22 -0
  1397. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/COPYING +56 -0
  1398. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/README.md +49 -0
  1399. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/Rakefile +10 -0
  1400. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/lib/prime.rb +561 -0
  1401. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/sig/integer-extension.rbs +41 -0
  1402. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/sig/manifest.yaml +2 -0
  1403. package/lib/ruby/gems/3.4.0/gems/prime-0.1.3/sig/prime.rbs +372 -0
  1404. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/History.rdoc +2403 -0
  1405. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/MIT-LICENSE +21 -0
  1406. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/README.rdoc +155 -0
  1407. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/command_line_usage.rdoc +158 -0
  1408. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/Rakefile1 +38 -0
  1409. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/Rakefile2 +35 -0
  1410. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/a.c +6 -0
  1411. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/b.c +6 -0
  1412. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/example/main.c +11 -0
  1413. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/glossary.rdoc +42 -0
  1414. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/jamis.rb +592 -0
  1415. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/proto_rake.rdoc +127 -0
  1416. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/rake.1 +156 -0
  1417. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/rakefile.rdoc +622 -0
  1418. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/doc/rational.rdoc +151 -0
  1419. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/exe/rake +27 -0
  1420. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/application.rb +861 -0
  1421. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/backtrace.rb +25 -0
  1422. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/clean.rb +78 -0
  1423. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/cloneable.rb +17 -0
  1424. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/cpu_counter.rb +107 -0
  1425. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/default_loader.rb +15 -0
  1426. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/dsl_definition.rb +196 -0
  1427. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/early_time.rb +22 -0
  1428. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/ext/core.rb +26 -0
  1429. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/ext/string.rb +176 -0
  1430. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_creation_task.rb +25 -0
  1431. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_list.rb +435 -0
  1432. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_task.rb +58 -0
  1433. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_utils.rb +132 -0
  1434. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/file_utils_ext.rb +134 -0
  1435. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/invocation_chain.rb +57 -0
  1436. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/invocation_exception_mixin.rb +17 -0
  1437. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/late_time.rb +18 -0
  1438. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/linked_list.rb +112 -0
  1439. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/loaders/makefile.rb +54 -0
  1440. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/multi_task.rb +14 -0
  1441. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/name_space.rb +38 -0
  1442. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/packagetask.rb +222 -0
  1443. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/phony.rb +16 -0
  1444. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/private_reader.rb +21 -0
  1445. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/promise.rb +100 -0
  1446. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/pseudo_status.rb +30 -0
  1447. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/rake_module.rb +67 -0
  1448. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/rake_test_loader.rb +27 -0
  1449. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1450. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/scope.rb +43 -0
  1451. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task.rb +434 -0
  1452. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task_argument_error.rb +8 -0
  1453. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task_arguments.rb +109 -0
  1454. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/task_manager.rb +331 -0
  1455. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/tasklib.rb +12 -0
  1456. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/testtask.rb +189 -0
  1457. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/thread_history_display.rb +49 -0
  1458. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/thread_pool.rb +163 -0
  1459. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/trace_output.rb +23 -0
  1460. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/version.rb +10 -0
  1461. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake/win32.rb +51 -0
  1462. package/lib/ruby/gems/3.4.0/gems/rake-13.2.1/lib/rake.rb +70 -0
  1463. package/lib/ruby/gems/3.4.0/gems/rdoc-6.14.0/exe/rdoc +43 -0
  1464. package/lib/ruby/gems/3.4.0/gems/rdoc-6.14.0/exe/ri +12 -0
  1465. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/Gemfile +27 -0
  1466. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/LICENSE.txt +21 -0
  1467. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/README.md +60 -0
  1468. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/Rakefile +37 -0
  1469. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/methods.rb +11 -0
  1470. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/require_paths.rb +80 -0
  1471. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/result.rb +170 -0
  1472. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/scope.rb +409 -0
  1473. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/type_analyzer.rb +1190 -0
  1474. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/types.rb +452 -0
  1475. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor/version.rb +5 -0
  1476. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/lib/repl_type_completor.rb +141 -0
  1477. package/lib/ruby/gems/3.4.0/gems/repl_type_completor-0.1.9/sig/repl_type_completor.rbs +19 -0
  1478. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/Gemfile +4 -0
  1479. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/LICENSE.txt +22 -0
  1480. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/README.md +30 -0
  1481. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/Rakefile +1 -0
  1482. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/bin/console +14 -0
  1483. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/bin/setup +8 -0
  1484. package/lib/ruby/gems/3.4.0/gems/resolv-replace-0.1.1/lib/resolv-replace.rb +76 -0
  1485. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/LICENSE.txt +22 -0
  1486. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/NEWS.md +843 -0
  1487. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/README.md +57 -0
  1488. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/context.rdoc +143 -0
  1489. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/child.rdoc +87 -0
  1490. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/document.rdoc +276 -0
  1491. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/element.rdoc +602 -0
  1492. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/node.rdoc +97 -0
  1493. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/rdoc/parent.rdoc +267 -0
  1494. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/child_toc.rdoc +12 -0
  1495. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/document_toc.rdoc +30 -0
  1496. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/element_toc.rdoc +55 -0
  1497. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/master_toc.rdoc +135 -0
  1498. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/node_toc.rdoc +16 -0
  1499. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tasks/tocs/parent_toc.rdoc +25 -0
  1500. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/doc/rexml/tutorial.rdoc +1358 -0
  1501. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/attlistdecl.rb +63 -0
  1502. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/attribute.rb +210 -0
  1503. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/cdata.rb +68 -0
  1504. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/child.rb +96 -0
  1505. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/comment.rb +80 -0
  1506. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/doctype.rb +306 -0
  1507. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/document.rb +471 -0
  1508. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/attlistdecl.rb +11 -0
  1509. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/dtd.rb +47 -0
  1510. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/elementdecl.rb +18 -0
  1511. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/entitydecl.rb +57 -0
  1512. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/dtd/notationdecl.rb +40 -0
  1513. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/element.rb +2578 -0
  1514. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/encoding.rb +48 -0
  1515. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/entity.rb +142 -0
  1516. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/formatters/default.rb +116 -0
  1517. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/formatters/pretty.rb +142 -0
  1518. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/formatters/transitive.rb +58 -0
  1519. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/functions.rb +446 -0
  1520. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/instruction.rb +79 -0
  1521. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/light/node.rb +188 -0
  1522. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/namespace.rb +63 -0
  1523. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/node.rb +80 -0
  1524. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/output.rb +30 -0
  1525. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parent.rb +166 -0
  1526. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parseexception.rb +53 -0
  1527. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/baseparser.rb +949 -0
  1528. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/lightparser.rb +59 -0
  1529. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/pullparser.rb +213 -0
  1530. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/sax2parser.rb +270 -0
  1531. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/streamparser.rb +67 -0
  1532. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/treeparser.rb +89 -0
  1533. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/ultralightparser.rb +57 -0
  1534. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/parsers/xpathparser.rb +739 -0
  1535. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/quickpath.rb +267 -0
  1536. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/rexml.rb +39 -0
  1537. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/sax2listener.rb +98 -0
  1538. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/security.rb +28 -0
  1539. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/source.rb +388 -0
  1540. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/streamlistener.rb +93 -0
  1541. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/text.rb +420 -0
  1542. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/undefinednamespaceexception.rb +9 -0
  1543. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/validation/relaxng.rb +540 -0
  1544. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/validation/validation.rb +144 -0
  1545. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/validation/validationexception.rb +10 -0
  1546. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xmldecl.rb +130 -0
  1547. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xmltokens.rb +85 -0
  1548. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xpath.rb +70 -0
  1549. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml/xpath_parser.rb +980 -0
  1550. package/lib/ruby/gems/3.4.0/gems/rexml-3.4.4/lib/rexml.rb +3 -0
  1551. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/Gemfile +6 -0
  1552. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/LICENSE.txt +22 -0
  1553. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/README.md +32 -0
  1554. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/Rakefile +9 -0
  1555. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/bin/console +14 -0
  1556. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/bin/setup +8 -0
  1557. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/lib/rinda/rinda.rb +329 -0
  1558. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/lib/rinda/ring.rb +484 -0
  1559. package/lib/ruby/gems/3.4.0/gems/rinda-0.2.0/lib/rinda/tuplespace.rb +641 -0
  1560. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/LICENSE.txt +22 -0
  1561. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/NEWS.md +87 -0
  1562. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/README.md +88 -0
  1563. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/0.9.rb +462 -0
  1564. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/1.0.rb +485 -0
  1565. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/2.0.rb +143 -0
  1566. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/atom.rb +1025 -0
  1567. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/content/1.0.rb +10 -0
  1568. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/content/2.0.rb +12 -0
  1569. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/content.rb +34 -0
  1570. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/converter.rb +171 -0
  1571. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore/1.0.rb +13 -0
  1572. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore/2.0.rb +13 -0
  1573. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore/atom.rb +17 -0
  1574. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/dublincore.rb +164 -0
  1575. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/image.rb +198 -0
  1576. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/itunes.rb +482 -0
  1577. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/0.9.rb +509 -0
  1578. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/1.0.rb +436 -0
  1579. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/2.0.rb +224 -0
  1580. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/atom.rb +173 -0
  1581. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/base.rb +945 -0
  1582. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/content.rb +22 -0
  1583. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/dublincore.rb +122 -0
  1584. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/entry.rb +164 -0
  1585. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/feed.rb +427 -0
  1586. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/image.rb +112 -0
  1587. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/itunes.rb +258 -0
  1588. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/slash.rb +34 -0
  1589. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/syndication.rb +19 -0
  1590. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/taxonomy.rb +119 -0
  1591. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker/trackback.rb +62 -0
  1592. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/maker.rb +79 -0
  1593. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/parser.rb +589 -0
  1594. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/rexmlparser.rb +50 -0
  1595. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/rss.rb +1370 -0
  1596. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/slash.rb +52 -0
  1597. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/syndication.rb +69 -0
  1598. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/taxonomy.rb +148 -0
  1599. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/trackback.rb +291 -0
  1600. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/utils.rb +182 -0
  1601. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/version.rb +4 -0
  1602. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xml-stylesheet.rb +105 -0
  1603. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xml.rb +73 -0
  1604. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xmlparser.rb +95 -0
  1605. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss/xmlscanner.rb +122 -0
  1606. package/lib/ruby/gems/3.4.0/gems/rss-0.3.1/lib/rss.rb +94 -0
  1607. package/lib/ruby/gems/3.4.0/gems/syntax_suggest-2.0.3/exe/syntax_suggest +7 -0
  1608. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/BSDL +24 -0
  1609. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/COPYING +64 -0
  1610. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/PSFL +271 -0
  1611. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/README.md +108 -0
  1612. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/Rakefile +74 -0
  1613. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/doc/text/getting-started.md +246 -0
  1614. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/doc/text/how-to.md +90 -0
  1615. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/doc/text/news.md +1853 -0
  1616. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/assertion-failed-error.rb +60 -0
  1617. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/assertions.rb +2541 -0
  1618. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/attribute-matcher.rb +26 -0
  1619. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/attribute.rb +228 -0
  1620. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/auto-runner-loader.rb +17 -0
  1621. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/autorunner.rb +629 -0
  1622. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/code-snippet-fetcher.rb +58 -0
  1623. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/descendant.rb +20 -0
  1624. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/dir.rb +110 -0
  1625. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/load.rb +201 -0
  1626. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/objectspace.rb +35 -0
  1627. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector/xml.rb +249 -0
  1628. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/collector.rb +104 -0
  1629. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/color-scheme.rb +225 -0
  1630. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/color.rb +134 -0
  1631. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/data-sets.rb +127 -0
  1632. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/data.rb +371 -0
  1633. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/diff.rb +745 -0
  1634. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/error.rb +158 -0
  1635. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/exception-handler.rb +82 -0
  1636. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/failure.rb +169 -0
  1637. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/fault-location-detector.rb +104 -0
  1638. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/fixture.rb +304 -0
  1639. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/notification.rb +138 -0
  1640. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/omission.rb +198 -0
  1641. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/pending.rb +155 -0
  1642. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/priority.rb +194 -0
  1643. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/runner/console.rb +86 -0
  1644. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/runner/emacs.rb +8 -0
  1645. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/runner/xml.rb +15 -0
  1646. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/sub-test-result.rb +59 -0
  1647. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/test-suite-creator.rb +103 -0
  1648. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/test-suite-runner.rb +128 -0
  1649. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/test-suite-thread-runner.rb +69 -0
  1650. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/testcase.rb +963 -0
  1651. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/testresult.rb +132 -0
  1652. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/testsuite.rb +108 -0
  1653. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/console/outputlevel.rb +15 -0
  1654. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/console/testrunner.rb +891 -0
  1655. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  1656. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/testrunner.rb +53 -0
  1657. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/testrunnermediator.rb +119 -0
  1658. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  1659. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/ui/xml/testrunner.rb +224 -0
  1660. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/backtracefilter.rb +59 -0
  1661. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/memory-usage.rb +47 -0
  1662. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/method-owner-finder.rb +28 -0
  1663. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/observable.rb +86 -0
  1664. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/output.rb +32 -0
  1665. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/util/procwrapper.rb +48 -0
  1666. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/version.rb +5 -0
  1667. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit/warning.rb +3 -0
  1668. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test/unit.rb +521 -0
  1669. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/lib/test-unit.rb +19 -0
  1670. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/adder.rb +13 -0
  1671. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/subtracter.rb +12 -0
  1672. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/test_adder.rb +20 -0
  1673. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/test_subtracter.rb +20 -0
  1674. package/lib/ruby/gems/3.4.0/gems/test-unit-3.6.7/sample/test_user.rb +23 -0
  1675. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/LICENSE +21 -0
  1676. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/README.md +25 -0
  1677. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/bin/typeprof +5 -0
  1678. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/doc/doc.ja.md +134 -0
  1679. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/doc/doc.md +136 -0
  1680. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/cli/cli.rb +178 -0
  1681. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/cli.rb +5 -0
  1682. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/code_range.rb +112 -0
  1683. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/base.rb +263 -0
  1684. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/call.rb +259 -0
  1685. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/const.rb +126 -0
  1686. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/control.rb +433 -0
  1687. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/meta.rb +150 -0
  1688. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/method.rb +339 -0
  1689. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/misc.rb +263 -0
  1690. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/module.rb +123 -0
  1691. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/pattern.rb +140 -0
  1692. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/sig_decl.rb +471 -0
  1693. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/sig_type.rb +663 -0
  1694. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/value.rb +319 -0
  1695. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast/variable.rb +315 -0
  1696. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/ast.rb +472 -0
  1697. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/builtin.rb +146 -0
  1698. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/method.rb +137 -0
  1699. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/method_entity.rb +55 -0
  1700. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/module_entity.rb +408 -0
  1701. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/static_read.rb +155 -0
  1702. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/type_alias_entity.rb +27 -0
  1703. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env/value_entity.rb +32 -0
  1704. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/env.rb +366 -0
  1705. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/box.rb +998 -0
  1706. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/change_set.rb +224 -0
  1707. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/filter.rb +155 -0
  1708. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/graph/vertex.rb +225 -0
  1709. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/service.rb +514 -0
  1710. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/type.rb +352 -0
  1711. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core/util.rb +81 -0
  1712. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/core.rb +31 -0
  1713. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/diagnostic.rb +35 -0
  1714. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/messages.rb +415 -0
  1715. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/server.rb +203 -0
  1716. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/text.rb +69 -0
  1717. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp/util.rb +51 -0
  1718. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/lsp.rb +7 -0
  1719. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof/version.rb +3 -0
  1720. package/lib/ruby/gems/3.4.0/gems/typeprof-0.30.1/lib/typeprof.rb +6 -0
  1721. package/lib/ruby/gems/3.4.0/specifications/abbrev-0.1.2.gemspec +23 -0
  1722. package/lib/ruby/gems/3.4.0/specifications/base64-0.2.0.gemspec +23 -0
  1723. package/lib/ruby/gems/3.4.0/specifications/csv-3.3.2.gemspec +24 -0
  1724. package/lib/ruby/gems/3.4.0/specifications/default/benchmark-0.4.0.gemspec +22 -0
  1725. package/lib/ruby/gems/3.4.0/specifications/default/bundler-2.6.9.gemspec +23 -0
  1726. package/lib/ruby/gems/3.4.0/specifications/default/cgi-0.4.2.gemspec +23 -0
  1727. package/lib/ruby/gems/3.4.0/specifications/default/date-3.4.1.gemspec +23 -0
  1728. package/lib/ruby/gems/3.4.0/specifications/default/delegate-0.4.0.gemspec +21 -0
  1729. package/lib/ruby/gems/3.4.0/specifications/default/did_you_mean-2.0.0.gemspec +20 -0
  1730. package/lib/ruby/gems/3.4.0/specifications/default/digest-3.2.0.gemspec +22 -0
  1731. package/lib/ruby/gems/3.4.0/specifications/default/english-0.8.0.gemspec +21 -0
  1732. package/lib/ruby/gems/3.4.0/specifications/default/erb-4.0.4.1.gemspec +29 -0
  1733. package/lib/ruby/gems/3.4.0/specifications/default/error_highlight-0.7.0.gemspec +20 -0
  1734. package/lib/ruby/gems/3.4.0/specifications/default/etc-1.4.6.gemspec +25 -0
  1735. package/lib/ruby/gems/3.4.0/specifications/default/fcntl-1.2.0.gemspec +24 -0
  1736. package/lib/ruby/gems/3.4.0/specifications/default/fileutils-1.7.3.gemspec +21 -0
  1737. package/lib/ruby/gems/3.4.0/specifications/default/find-0.2.0.gemspec +21 -0
  1738. package/lib/ruby/gems/3.4.0/specifications/default/forwardable-1.3.3.gemspec +21 -0
  1739. package/lib/ruby/gems/3.4.0/specifications/default/io-console-0.8.1.gemspec +23 -0
  1740. package/lib/ruby/gems/3.4.0/specifications/default/io-nonblock-0.3.2.gemspec +23 -0
  1741. package/lib/ruby/gems/3.4.0/specifications/default/io-wait-0.3.2.gemspec +24 -0
  1742. package/lib/ruby/gems/3.4.0/specifications/default/ipaddr-1.2.7.gemspec +20 -0
  1743. package/lib/ruby/gems/3.4.0/specifications/default/irb-1.14.3.gemspec +28 -0
  1744. package/lib/ruby/gems/3.4.0/specifications/default/json-2.9.1.gemspec +23 -0
  1745. package/lib/ruby/gems/3.4.0/specifications/default/logger-1.6.4.gemspec +20 -0
  1746. package/lib/ruby/gems/3.4.0/specifications/default/net-http-0.6.0.gemspec +26 -0
  1747. package/lib/ruby/gems/3.4.0/specifications/default/net-protocol-0.2.2.gemspec +25 -0
  1748. package/lib/ruby/gems/3.4.0/specifications/default/open-uri-0.5.0.gemspec +27 -0
  1749. package/lib/ruby/gems/3.4.0/specifications/default/open3-0.2.1.gemspec +22 -0
  1750. package/lib/ruby/gems/3.4.0/specifications/default/openssl-3.3.3.gemspec +24 -0
  1751. package/lib/ruby/gems/3.4.0/specifications/default/optparse-0.6.0.gemspec +23 -0
  1752. package/lib/ruby/gems/3.4.0/specifications/default/ostruct-0.6.1.gemspec +20 -0
  1753. package/lib/ruby/gems/3.4.0/specifications/default/pathname-0.4.0.gemspec +24 -0
  1754. package/lib/ruby/gems/3.4.0/specifications/default/pp-0.6.2.gemspec +26 -0
  1755. package/lib/ruby/gems/3.4.0/specifications/default/prettyprint-0.2.0.gemspec +22 -0
  1756. package/lib/ruby/gems/3.4.0/specifications/default/prism-1.5.3.gemspec +22 -0
  1757. package/lib/ruby/gems/3.4.0/specifications/default/pstore-0.2.1.gemspec +21 -0
  1758. package/lib/ruby/gems/3.4.0/specifications/default/psych-5.2.2.gemspec +30 -0
  1759. package/lib/ruby/gems/3.4.0/specifications/default/rdoc-6.14.0.gemspec +30 -0
  1760. package/lib/ruby/gems/3.4.0/specifications/default/readline-0.0.4.gemspec +23 -0
  1761. package/lib/ruby/gems/3.4.0/specifications/default/reline-0.6.0.gemspec +25 -0
  1762. package/lib/ruby/gems/3.4.0/specifications/default/resolv-0.7.2.gemspec +24 -0
  1763. package/lib/ruby/gems/3.4.0/specifications/default/ruby2_keywords-0.0.5.gemspec +20 -0
  1764. package/lib/ruby/gems/3.4.0/specifications/default/securerandom-0.4.1.gemspec +22 -0
  1765. package/lib/ruby/gems/3.4.0/specifications/default/set-1.1.1.gemspec +21 -0
  1766. package/lib/ruby/gems/3.4.0/specifications/default/shellwords-0.2.2.gemspec +22 -0
  1767. package/lib/ruby/gems/3.4.0/specifications/default/singleton-0.3.0.gemspec +21 -0
  1768. package/lib/ruby/gems/3.4.0/specifications/default/stringio-3.1.2.gemspec +23 -0
  1769. package/lib/ruby/gems/3.4.0/specifications/default/strscan-3.1.2.gemspec +24 -0
  1770. package/lib/ruby/gems/3.4.0/specifications/default/syntax_suggest-2.0.3.gemspec +23 -0
  1771. package/lib/ruby/gems/3.4.0/specifications/default/tempfile-0.3.1.gemspec +21 -0
  1772. package/lib/ruby/gems/3.4.0/specifications/default/time-0.4.1.gemspec +26 -0
  1773. package/lib/ruby/gems/3.4.0/specifications/default/timeout-0.4.3.gemspec +21 -0
  1774. package/lib/ruby/gems/3.4.0/specifications/default/tmpdir-0.3.1.gemspec +26 -0
  1775. package/lib/ruby/gems/3.4.0/specifications/default/tsort-0.2.0.gemspec +22 -0
  1776. package/lib/ruby/gems/3.4.0/specifications/default/un-0.3.0.gemspec +22 -0
  1777. package/lib/ruby/gems/3.4.0/specifications/default/uri-1.0.4.gemspec +22 -0
  1778. package/lib/ruby/gems/3.4.0/specifications/default/weakref-0.1.3.gemspec +25 -0
  1779. package/lib/ruby/gems/3.4.0/specifications/default/yaml-0.4.0.gemspec +21 -0
  1780. package/lib/ruby/gems/3.4.0/specifications/default/zlib-3.2.3.gemspec +23 -0
  1781. package/lib/ruby/gems/3.4.0/specifications/drb-2.2.1.gemspec +22 -0
  1782. package/lib/ruby/gems/3.4.0/specifications/getoptlong-0.2.1.gemspec +21 -0
  1783. package/lib/ruby/gems/3.4.0/specifications/matrix-0.4.2.gemspec +22 -0
  1784. package/lib/ruby/gems/3.4.0/specifications/minitest-5.25.4.gemspec +31 -0
  1785. package/lib/ruby/gems/3.4.0/specifications/mutex_m-0.3.0.gemspec +22 -0
  1786. package/lib/ruby/gems/3.4.0/specifications/net-ftp-0.3.8.gemspec +27 -0
  1787. package/lib/ruby/gems/3.4.0/specifications/net-imap-0.5.15.gemspec +28 -0
  1788. package/lib/ruby/gems/3.4.0/specifications/net-pop-0.1.2.gemspec +26 -0
  1789. package/lib/ruby/gems/3.4.0/specifications/net-smtp-0.5.1.gemspec +26 -0
  1790. package/lib/ruby/gems/3.4.0/specifications/observer-0.1.2.gemspec +22 -0
  1791. package/lib/ruby/gems/3.4.0/specifications/power_assert-2.0.5.gemspec +24 -0
  1792. package/lib/ruby/gems/3.4.0/specifications/prime-0.1.3.gemspec +27 -0
  1793. package/lib/ruby/gems/3.4.0/specifications/rake-13.2.1.gemspec +26 -0
  1794. package/lib/ruby/gems/3.4.0/specifications/repl_type_completor-0.1.9.gemspec +28 -0
  1795. package/lib/ruby/gems/3.4.0/specifications/resolv-replace-0.1.1.gemspec +26 -0
  1796. package/lib/ruby/gems/3.4.0/specifications/rexml-3.4.4.gemspec +25 -0
  1797. package/lib/ruby/gems/3.4.0/specifications/rinda-0.2.0.gemspec +29 -0
  1798. package/lib/ruby/gems/3.4.0/specifications/rss-0.3.1.gemspec +24 -0
  1799. package/lib/ruby/gems/3.4.0/specifications/test-unit-3.6.7.gemspec +25 -0
  1800. package/lib/ruby/gems/3.4.0/specifications/typeprof-0.30.1.gemspec +28 -0
  1801. package/package.json +47 -4
  1802. package/lib/ruby/3.4.11/wasm32-wasi/rbconfig.rb +0 -366
@@ -0,0 +1,1410 @@
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