rbs-relaxed 3.9.0.1

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 (484) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +22 -0
  3. data/.github/workflows/comments.yml +35 -0
  4. data/.github/workflows/dependabot.yml +30 -0
  5. data/.github/workflows/ruby.yml +82 -0
  6. data/.github/workflows/typecheck.yml +38 -0
  7. data/.github/workflows/windows.yml +43 -0
  8. data/.gitignore +23 -0
  9. data/.rubocop.yml +68 -0
  10. data/BSDL +22 -0
  11. data/CHANGELOG.md +1868 -0
  12. data/COPYING +56 -0
  13. data/README.md +203 -0
  14. data/Rakefile +417 -0
  15. data/Steepfile +44 -0
  16. data/config.yml +313 -0
  17. data/core/array.rbs +4062 -0
  18. data/core/basic_object.rbs +375 -0
  19. data/core/binding.rbs +150 -0
  20. data/core/builtin.rbs +277 -0
  21. data/core/class.rbs +220 -0
  22. data/core/comparable.rbs +171 -0
  23. data/core/complex.rbs +786 -0
  24. data/core/constants.rbs +96 -0
  25. data/core/data.rbs +415 -0
  26. data/core/dir.rbs +981 -0
  27. data/core/encoding.rbs +1371 -0
  28. data/core/enumerable.rbs +2405 -0
  29. data/core/enumerator/product.rbs +92 -0
  30. data/core/enumerator.rbs +630 -0
  31. data/core/env.rbs +6 -0
  32. data/core/errno.rbs +673 -0
  33. data/core/errors.rbs +760 -0
  34. data/core/exception.rbs +485 -0
  35. data/core/false_class.rbs +82 -0
  36. data/core/fiber.rbs +550 -0
  37. data/core/fiber_error.rbs +11 -0
  38. data/core/file.rbs +2936 -0
  39. data/core/file_test.rbs +331 -0
  40. data/core/float.rbs +1151 -0
  41. data/core/gc.rbs +644 -0
  42. data/core/global_variables.rbs +184 -0
  43. data/core/hash.rbs +1861 -0
  44. data/core/integer.rbs +1413 -0
  45. data/core/io/buffer.rbs +984 -0
  46. data/core/io/wait.rbs +70 -0
  47. data/core/io.rbs +3406 -0
  48. data/core/kernel.rbs +3096 -0
  49. data/core/marshal.rbs +207 -0
  50. data/core/match_data.rbs +635 -0
  51. data/core/math.rbs +729 -0
  52. data/core/method.rbs +386 -0
  53. data/core/module.rbs +1704 -0
  54. data/core/nil_class.rbs +209 -0
  55. data/core/numeric.rbs +818 -0
  56. data/core/object.rbs +110 -0
  57. data/core/object_space/weak_key_map.rbs +166 -0
  58. data/core/object_space.rbs +190 -0
  59. data/core/proc.rbs +868 -0
  60. data/core/process.rbs +2296 -0
  61. data/core/ractor.rbs +1068 -0
  62. data/core/random.rbs +237 -0
  63. data/core/range.rbs +1107 -0
  64. data/core/rational.rbs +531 -0
  65. data/core/rb_config.rbs +88 -0
  66. data/core/rbs/unnamed/argf.rbs +1229 -0
  67. data/core/rbs/unnamed/env_class.rbs +1209 -0
  68. data/core/rbs/unnamed/random.rbs +293 -0
  69. data/core/refinement.rbs +59 -0
  70. data/core/regexp.rbs +1930 -0
  71. data/core/ruby_vm.rbs +765 -0
  72. data/core/rubygems/basic_specification.rbs +6 -0
  73. data/core/rubygems/config_file.rbs +38 -0
  74. data/core/rubygems/dependency_installer.rbs +6 -0
  75. data/core/rubygems/errors.rbs +176 -0
  76. data/core/rubygems/installer.rbs +15 -0
  77. data/core/rubygems/path_support.rbs +6 -0
  78. data/core/rubygems/platform.rbs +7 -0
  79. data/core/rubygems/request_set.rbs +49 -0
  80. data/core/rubygems/requirement.rbs +148 -0
  81. data/core/rubygems/rubygems.rbs +1171 -0
  82. data/core/rubygems/source_list.rbs +15 -0
  83. data/core/rubygems/specification.rbs +23 -0
  84. data/core/rubygems/stream_ui.rbs +5 -0
  85. data/core/rubygems/uninstaller.rbs +10 -0
  86. data/core/rubygems/version.rbs +294 -0
  87. data/core/set.rbs +621 -0
  88. data/core/signal.rbs +100 -0
  89. data/core/string.rbs +3583 -0
  90. data/core/struct.rbs +667 -0
  91. data/core/symbol.rbs +475 -0
  92. data/core/thread.rbs +1765 -0
  93. data/core/thread_group.rbs +79 -0
  94. data/core/time.rbs +1762 -0
  95. data/core/trace_point.rbs +477 -0
  96. data/core/true_class.rbs +98 -0
  97. data/core/unbound_method.rbs +329 -0
  98. data/core/warning.rbs +87 -0
  99. data/docs/CONTRIBUTING.md +106 -0
  100. data/docs/architecture.md +110 -0
  101. data/docs/collection.md +192 -0
  102. data/docs/data_and_struct.md +86 -0
  103. data/docs/gem.md +57 -0
  104. data/docs/rbs_by_example.md +309 -0
  105. data/docs/repo.md +125 -0
  106. data/docs/sigs.md +167 -0
  107. data/docs/stdlib.md +147 -0
  108. data/docs/syntax.md +910 -0
  109. data/docs/tools.md +17 -0
  110. data/exe/rbs +7 -0
  111. data/ext/rbs_extension/extconf.rb +15 -0
  112. data/ext/rbs_extension/lexer.c +2728 -0
  113. data/ext/rbs_extension/lexer.h +179 -0
  114. data/ext/rbs_extension/lexer.re +147 -0
  115. data/ext/rbs_extension/lexstate.c +175 -0
  116. data/ext/rbs_extension/location.c +325 -0
  117. data/ext/rbs_extension/location.h +85 -0
  118. data/ext/rbs_extension/main.c +33 -0
  119. data/ext/rbs_extension/parser.c +2973 -0
  120. data/ext/rbs_extension/parser.h +18 -0
  121. data/ext/rbs_extension/parserstate.c +397 -0
  122. data/ext/rbs_extension/parserstate.h +163 -0
  123. data/ext/rbs_extension/rbs_extension.h +31 -0
  124. data/ext/rbs_extension/unescape.c +32 -0
  125. data/goodcheck.yml +91 -0
  126. data/include/rbs/constants.h +82 -0
  127. data/include/rbs/ruby_objs.h +72 -0
  128. data/include/rbs/util/rbs_constant_pool.h +219 -0
  129. data/include/rbs.h +7 -0
  130. data/lib/rbs/ancestor_graph.rb +92 -0
  131. data/lib/rbs/annotate/annotations.rb +199 -0
  132. data/lib/rbs/annotate/formatter.rb +92 -0
  133. data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
  134. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  135. data/lib/rbs/annotate.rb +8 -0
  136. data/lib/rbs/ast/annotation.rb +29 -0
  137. data/lib/rbs/ast/comment.rb +29 -0
  138. data/lib/rbs/ast/declarations.rb +467 -0
  139. data/lib/rbs/ast/directives.rb +49 -0
  140. data/lib/rbs/ast/members.rb +451 -0
  141. data/lib/rbs/ast/type_param.rb +225 -0
  142. data/lib/rbs/ast/visitor.rb +137 -0
  143. data/lib/rbs/buffer.rb +67 -0
  144. data/lib/rbs/builtin_names.rb +58 -0
  145. data/lib/rbs/cli/colored_io.rb +48 -0
  146. data/lib/rbs/cli/diff.rb +83 -0
  147. data/lib/rbs/cli/validate.rb +357 -0
  148. data/lib/rbs/cli.rb +1223 -0
  149. data/lib/rbs/collection/cleaner.rb +38 -0
  150. data/lib/rbs/collection/config/lockfile.rb +92 -0
  151. data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
  152. data/lib/rbs/collection/config.rb +81 -0
  153. data/lib/rbs/collection/installer.rb +32 -0
  154. data/lib/rbs/collection/sources/base.rb +14 -0
  155. data/lib/rbs/collection/sources/git.rb +258 -0
  156. data/lib/rbs/collection/sources/local.rb +81 -0
  157. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  158. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  159. data/lib/rbs/collection/sources.rb +38 -0
  160. data/lib/rbs/collection.rb +16 -0
  161. data/lib/rbs/constant.rb +28 -0
  162. data/lib/rbs/definition.rb +401 -0
  163. data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
  164. data/lib/rbs/definition_builder/method_builder.rb +254 -0
  165. data/lib/rbs/definition_builder.rb +845 -0
  166. data/lib/rbs/diff.rb +125 -0
  167. data/lib/rbs/environment/use_map.rb +77 -0
  168. data/lib/rbs/environment.rb +829 -0
  169. data/lib/rbs/environment_loader.rb +173 -0
  170. data/lib/rbs/environment_walker.rb +155 -0
  171. data/lib/rbs/errors.rb +645 -0
  172. data/lib/rbs/factory.rb +18 -0
  173. data/lib/rbs/file_finder.rb +28 -0
  174. data/lib/rbs/location_aux.rb +138 -0
  175. data/lib/rbs/locator.rb +243 -0
  176. data/lib/rbs/method_type.rb +143 -0
  177. data/lib/rbs/namespace.rb +125 -0
  178. data/lib/rbs/parser/lex_result.rb +15 -0
  179. data/lib/rbs/parser/token.rb +23 -0
  180. data/lib/rbs/parser_aux.rb +114 -0
  181. data/lib/rbs/prototype/helpers.rb +140 -0
  182. data/lib/rbs/prototype/node_usage.rb +99 -0
  183. data/lib/rbs/prototype/rb.rb +840 -0
  184. data/lib/rbs/prototype/rbi.rb +641 -0
  185. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  186. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  187. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  188. data/lib/rbs/prototype/runtime.rb +667 -0
  189. data/lib/rbs/repository.rb +127 -0
  190. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  191. data/lib/rbs/resolver/type_name_resolver.rb +91 -0
  192. data/lib/rbs/sorter.rb +198 -0
  193. data/lib/rbs/substitution.rb +83 -0
  194. data/lib/rbs/subtractor.rb +201 -0
  195. data/lib/rbs/test/errors.rb +80 -0
  196. data/lib/rbs/test/guaranteed.rb +30 -0
  197. data/lib/rbs/test/hook.rb +212 -0
  198. data/lib/rbs/test/observer.rb +19 -0
  199. data/lib/rbs/test/setup.rb +84 -0
  200. data/lib/rbs/test/setup_helper.rb +50 -0
  201. data/lib/rbs/test/tester.rb +167 -0
  202. data/lib/rbs/test/type_check.rb +435 -0
  203. data/lib/rbs/test.rb +112 -0
  204. data/lib/rbs/type_alias_dependency.rb +100 -0
  205. data/lib/rbs/type_alias_regularity.rb +126 -0
  206. data/lib/rbs/type_name.rb +109 -0
  207. data/lib/rbs/types.rb +1596 -0
  208. data/lib/rbs/unit_test/convertibles.rb +176 -0
  209. data/lib/rbs/unit_test/spy.rb +138 -0
  210. data/lib/rbs/unit_test/type_assertions.rb +347 -0
  211. data/lib/rbs/unit_test/with_aliases.rb +143 -0
  212. data/lib/rbs/unit_test.rb +6 -0
  213. data/lib/rbs/validator.rb +186 -0
  214. data/lib/rbs/variance_calculator.rb +189 -0
  215. data/lib/rbs/vendorer.rb +71 -0
  216. data/lib/rbs/version.rb +5 -0
  217. data/lib/rbs/writer.rb +424 -0
  218. data/lib/rbs.rb +94 -0
  219. data/lib/rdoc/discover.rb +20 -0
  220. data/lib/rdoc_plugin/parser.rb +163 -0
  221. data/rbs-relaxed.gemspec +48 -0
  222. data/schema/annotation.json +14 -0
  223. data/schema/comment.json +26 -0
  224. data/schema/decls.json +326 -0
  225. data/schema/function.json +87 -0
  226. data/schema/location.json +56 -0
  227. data/schema/members.json +266 -0
  228. data/schema/methodType.json +50 -0
  229. data/schema/typeParam.json +36 -0
  230. data/schema/types.json +317 -0
  231. data/sig/ancestor_builder.rbs +163 -0
  232. data/sig/ancestor_graph.rbs +60 -0
  233. data/sig/annotate/annotations.rbs +102 -0
  234. data/sig/annotate/formatter.rbs +24 -0
  235. data/sig/annotate/rdoc_annotater.rbs +82 -0
  236. data/sig/annotate/rdoc_source.rbs +30 -0
  237. data/sig/annotation.rbs +27 -0
  238. data/sig/buffer.rbs +32 -0
  239. data/sig/builtin_names.rbs +44 -0
  240. data/sig/cli/colored_io.rbs +15 -0
  241. data/sig/cli/diff.rbs +21 -0
  242. data/sig/cli/validate.rbs +43 -0
  243. data/sig/cli.rbs +87 -0
  244. data/sig/collection/cleaner.rbs +13 -0
  245. data/sig/collection/config/lockfile.rbs +74 -0
  246. data/sig/collection/config/lockfile_generator.rbs +66 -0
  247. data/sig/collection/config.rbs +46 -0
  248. data/sig/collection/installer.rbs +17 -0
  249. data/sig/collection/sources.rbs +214 -0
  250. data/sig/collection.rbs +4 -0
  251. data/sig/comment.rbs +26 -0
  252. data/sig/constant.rbs +21 -0
  253. data/sig/declarations.rbs +267 -0
  254. data/sig/definition.rbs +173 -0
  255. data/sig/definition_builder.rbs +165 -0
  256. data/sig/diff.rbs +28 -0
  257. data/sig/directives.rbs +77 -0
  258. data/sig/environment.rbs +279 -0
  259. data/sig/environment_loader.rbs +111 -0
  260. data/sig/environment_walker.rbs +65 -0
  261. data/sig/errors.rbs +405 -0
  262. data/sig/factory.rbs +5 -0
  263. data/sig/file_finder.rbs +28 -0
  264. data/sig/location.rbs +110 -0
  265. data/sig/locator.rbs +58 -0
  266. data/sig/manifest.yaml +7 -0
  267. data/sig/members.rbs +258 -0
  268. data/sig/method_builder.rbs +84 -0
  269. data/sig/method_types.rbs +58 -0
  270. data/sig/namespace.rbs +146 -0
  271. data/sig/parser.rbs +100 -0
  272. data/sig/prototype/helpers.rbs +27 -0
  273. data/sig/prototype/node_usage.rbs +20 -0
  274. data/sig/prototype/rb.rbs +96 -0
  275. data/sig/prototype/rbi.rbs +75 -0
  276. data/sig/prototype/runtime.rbs +182 -0
  277. data/sig/rbs.rbs +21 -0
  278. data/sig/rdoc/rbs.rbs +67 -0
  279. data/sig/repository.rbs +85 -0
  280. data/sig/resolver/constant_resolver.rbs +92 -0
  281. data/sig/resolver/context.rbs +34 -0
  282. data/sig/resolver/type_name_resolver.rbs +35 -0
  283. data/sig/shims/bundler.rbs +38 -0
  284. data/sig/shims/enumerable.rbs +5 -0
  285. data/sig/shims/rubygems.rbs +19 -0
  286. data/sig/sorter.rbs +41 -0
  287. data/sig/substitution.rbs +48 -0
  288. data/sig/subtractor.rbs +37 -0
  289. data/sig/test/errors.rbs +52 -0
  290. data/sig/test/guranteed.rbs +9 -0
  291. data/sig/test/type_check.rbs +19 -0
  292. data/sig/test.rbs +82 -0
  293. data/sig/type_alias_dependency.rbs +53 -0
  294. data/sig/type_alias_regularity.rbs +98 -0
  295. data/sig/type_param.rbs +110 -0
  296. data/sig/typename.rbs +79 -0
  297. data/sig/types.rbs +579 -0
  298. data/sig/unit_test/convertibles.rbs +154 -0
  299. data/sig/unit_test/spy.rbs +30 -0
  300. data/sig/unit_test/type_assertions.rbs +196 -0
  301. data/sig/unit_test/with_aliases.rbs +136 -0
  302. data/sig/use_map.rbs +35 -0
  303. data/sig/util.rbs +9 -0
  304. data/sig/validator.rbs +63 -0
  305. data/sig/variance_calculator.rbs +87 -0
  306. data/sig/vendorer.rbs +51 -0
  307. data/sig/version.rbs +3 -0
  308. data/sig/visitor.rbs +47 -0
  309. data/sig/writer.rbs +127 -0
  310. data/src/constants.c +153 -0
  311. data/src/ruby_objs.c +795 -0
  312. data/src/util/rbs_constant_pool.c +342 -0
  313. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  314. data/stdlib/abbrev/0/array.rbs +26 -0
  315. data/stdlib/base64/0/base64.rbs +355 -0
  316. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  317. data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
  318. data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
  319. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  320. data/stdlib/cgi/0/core.rbs +1285 -0
  321. data/stdlib/cgi/0/manifest.yaml +3 -0
  322. data/stdlib/coverage/0/coverage.rbs +263 -0
  323. data/stdlib/csv/0/csv.rbs +3776 -0
  324. data/stdlib/csv/0/manifest.yaml +3 -0
  325. data/stdlib/date/0/date.rbs +1585 -0
  326. data/stdlib/date/0/date_time.rbs +616 -0
  327. data/stdlib/date/0/time.rbs +26 -0
  328. data/stdlib/dbm/0/dbm.rbs +421 -0
  329. data/stdlib/delegate/0/delegator.rbs +184 -0
  330. data/stdlib/delegate/0/kernel.rbs +47 -0
  331. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  332. data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
  333. data/stdlib/digest/0/digest.rbs +577 -0
  334. data/stdlib/erb/0/erb.rbs +532 -0
  335. data/stdlib/etc/0/etc.rbs +865 -0
  336. data/stdlib/fileutils/0/fileutils.rbs +1734 -0
  337. data/stdlib/find/0/find.rbs +49 -0
  338. data/stdlib/forwardable/0/forwardable.rbs +268 -0
  339. data/stdlib/io-console/0/io-console.rbs +414 -0
  340. data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
  341. data/stdlib/json/0/json.rbs +1916 -0
  342. data/stdlib/kconv/0/kconv.rbs +166 -0
  343. data/stdlib/logger/0/formatter.rbs +45 -0
  344. data/stdlib/logger/0/log_device.rbs +100 -0
  345. data/stdlib/logger/0/logger.rbs +796 -0
  346. data/stdlib/logger/0/manifest.yaml +2 -0
  347. data/stdlib/logger/0/period.rbs +17 -0
  348. data/stdlib/logger/0/severity.rbs +34 -0
  349. data/stdlib/minitest/0/kernel.rbs +42 -0
  350. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  351. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  352. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  353. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  354. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  355. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  356. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  357. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  358. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  359. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  360. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  361. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  362. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  363. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  364. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  365. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  366. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  367. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  368. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  369. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  370. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  371. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  372. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  373. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  374. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  375. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  376. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  377. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  378. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  379. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  380. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  381. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  382. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  383. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  384. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  385. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  386. data/stdlib/minitest/0/minitest.rbs +115 -0
  387. data/stdlib/monitor/0/monitor.rbs +363 -0
  388. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  389. data/stdlib/net-http/0/manifest.yaml +3 -0
  390. data/stdlib/net-http/0/net-http.rbs +5552 -0
  391. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  392. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  393. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  394. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  395. data/stdlib/nkf/0/nkf.rbs +402 -0
  396. data/stdlib/objspace/0/objspace.rbs +487 -0
  397. data/stdlib/observable/0/observable.rbs +217 -0
  398. data/stdlib/open-uri/0/manifest.yaml +4 -0
  399. data/stdlib/open-uri/0/open-uri.rbs +393 -0
  400. data/stdlib/open3/0/open3.rbs +147 -0
  401. data/stdlib/openssl/0/manifest.yaml +3 -0
  402. data/stdlib/openssl/0/openssl.rbs +12113 -0
  403. data/stdlib/optparse/0/optparse.rbs +1725 -0
  404. data/stdlib/pathname/0/pathname.rbs +1406 -0
  405. data/stdlib/pp/0/manifest.yaml +2 -0
  406. data/stdlib/pp/0/pp.rbs +300 -0
  407. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  408. data/stdlib/pstore/0/pstore.rbs +603 -0
  409. data/stdlib/psych/0/core_ext.rbs +12 -0
  410. data/stdlib/psych/0/dbm.rbs +237 -0
  411. data/stdlib/psych/0/manifest.yaml +3 -0
  412. data/stdlib/psych/0/psych.rbs +402 -0
  413. data/stdlib/psych/0/store.rbs +59 -0
  414. data/stdlib/pty/0/pty.rbs +237 -0
  415. data/stdlib/rdoc/0/code_object.rbs +51 -0
  416. data/stdlib/rdoc/0/comment.rbs +59 -0
  417. data/stdlib/rdoc/0/context.rbs +153 -0
  418. data/stdlib/rdoc/0/markup.rbs +117 -0
  419. data/stdlib/rdoc/0/parser.rbs +56 -0
  420. data/stdlib/rdoc/0/rdoc.rbs +391 -0
  421. data/stdlib/rdoc/0/ri.rbs +17 -0
  422. data/stdlib/rdoc/0/store.rbs +48 -0
  423. data/stdlib/rdoc/0/top_level.rbs +97 -0
  424. data/stdlib/resolv/0/manifest.yaml +3 -0
  425. data/stdlib/resolv/0/resolv.rbs +1830 -0
  426. data/stdlib/ripper/0/ripper.rbs +1648 -0
  427. data/stdlib/securerandom/0/securerandom.rbs +62 -0
  428. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  429. data/stdlib/singleton/0/singleton.rbs +131 -0
  430. data/stdlib/socket/0/addrinfo.rbs +666 -0
  431. data/stdlib/socket/0/basic_socket.rbs +590 -0
  432. data/stdlib/socket/0/constants.rbs +2295 -0
  433. data/stdlib/socket/0/ip_socket.rbs +92 -0
  434. data/stdlib/socket/0/socket.rbs +4157 -0
  435. data/stdlib/socket/0/socket_error.rbs +5 -0
  436. data/stdlib/socket/0/tcp_server.rbs +192 -0
  437. data/stdlib/socket/0/tcp_socket.rbs +79 -0
  438. data/stdlib/socket/0/udp_socket.rbs +133 -0
  439. data/stdlib/socket/0/unix_server.rbs +169 -0
  440. data/stdlib/socket/0/unix_socket.rbs +172 -0
  441. data/stdlib/stringio/0/stringio.rbs +567 -0
  442. data/stdlib/strscan/0/string_scanner.rbs +1627 -0
  443. data/stdlib/tempfile/0/tempfile.rbs +479 -0
  444. data/stdlib/time/0/time.rbs +432 -0
  445. data/stdlib/timeout/0/timeout.rbs +81 -0
  446. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  447. data/stdlib/tsort/0/cyclic.rbs +5 -0
  448. data/stdlib/tsort/0/interfaces.rbs +20 -0
  449. data/stdlib/tsort/0/tsort.rbs +409 -0
  450. data/stdlib/uri/0/common.rbs +582 -0
  451. data/stdlib/uri/0/file.rbs +118 -0
  452. data/stdlib/uri/0/ftp.rbs +13 -0
  453. data/stdlib/uri/0/generic.rbs +1108 -0
  454. data/stdlib/uri/0/http.rbs +104 -0
  455. data/stdlib/uri/0/https.rbs +14 -0
  456. data/stdlib/uri/0/ldap.rbs +230 -0
  457. data/stdlib/uri/0/ldaps.rbs +14 -0
  458. data/stdlib/uri/0/mailto.rbs +92 -0
  459. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  460. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  461. data/stdlib/uri/0/ws.rbs +13 -0
  462. data/stdlib/uri/0/wss.rbs +9 -0
  463. data/stdlib/yaml/0/manifest.yaml +2 -0
  464. data/stdlib/yaml/0/yaml.rbs +1 -0
  465. data/stdlib/zlib/0/buf_error.rbs +10 -0
  466. data/stdlib/zlib/0/data_error.rbs +10 -0
  467. data/stdlib/zlib/0/deflate.rbs +210 -0
  468. data/stdlib/zlib/0/error.rbs +20 -0
  469. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  470. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  471. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  472. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  473. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  474. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  475. data/stdlib/zlib/0/gzip_writer.rbs +166 -0
  476. data/stdlib/zlib/0/inflate.rbs +180 -0
  477. data/stdlib/zlib/0/mem_error.rbs +10 -0
  478. data/stdlib/zlib/0/need_dict.rbs +13 -0
  479. data/stdlib/zlib/0/stream_end.rbs +11 -0
  480. data/stdlib/zlib/0/stream_error.rbs +11 -0
  481. data/stdlib/zlib/0/version_error.rbs +11 -0
  482. data/stdlib/zlib/0/zlib.rbs +449 -0
  483. data/stdlib/zlib/0/zstream.rbs +200 -0
  484. metadata +532 -0
@@ -0,0 +1,62 @@
1
+ # <!-- rdoc-file=lib/securerandom.rb -->
2
+ # ## Secure random number generator interface.
3
+ #
4
+ # This library is an interface to secure random number generators which are
5
+ # suitable for generating session keys in HTTP cookies, etc.
6
+ #
7
+ # You can use this library in your application by requiring it:
8
+ #
9
+ # require 'securerandom'
10
+ #
11
+ # It supports the following secure random number generators:
12
+ #
13
+ # * openssl
14
+ # * /dev/urandom
15
+ # * Win32
16
+ #
17
+ # SecureRandom is extended by the Random::Formatter module which defines the
18
+ # following methods:
19
+ #
20
+ # * alphanumeric
21
+ # * base64
22
+ # * choose
23
+ # * gen_random
24
+ # * hex
25
+ # * rand
26
+ # * random_bytes
27
+ # * random_number
28
+ # * urlsafe_base64
29
+ # * uuid
30
+ #
31
+ # These methods are usable as class methods of SecureRandom such as
32
+ # `SecureRandom.hex`.
33
+ #
34
+ # If a secure random number generator is not available, `NotImplementedError` is
35
+ # raised.
36
+ #
37
+ module SecureRandom
38
+ extend Random::Formatter
39
+
40
+ # <!--
41
+ # rdoc-file=lib/securerandom.rb
42
+ # - alphanumeric(n = nil, chars: ALPHANUMERIC)
43
+ # -->
44
+ # Compatibility methods for Ruby 3.2, we can remove this after dropping to
45
+ # support Ruby 3.2
46
+ #
47
+ def self.alphanumeric: (?Integer?) -> String
48
+
49
+ def self.base64: (?Integer?) -> String
50
+
51
+ def self.hex: (?Integer?) -> String
52
+
53
+ def self.random_bytes: (?Integer?) -> String
54
+
55
+ def self.random_number: () -> Float
56
+ | (Integer) -> Integer
57
+ | (Numeric) -> Numeric
58
+
59
+ def self.urlsafe_base64: (?Integer?, ?bool?) -> String
60
+
61
+ def self.uuid: () -> String
62
+ end
@@ -0,0 +1,229 @@
1
+ # <!-- rdoc-file=lib/shellwords.rb -->
2
+ # ## Manipulates strings like the UNIX Bourne shell
3
+ #
4
+ # This module manipulates strings according to the word parsing rules of the
5
+ # UNIX Bourne shell.
6
+ #
7
+ # The `shellwords()` function was originally a port of shellwords.pl, but
8
+ # modified to conform to [the Shell & Utilities volume of the IEEE Std
9
+ # 1003.1-2008, 2016
10
+ # Edition](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.ht
11
+ # ml)
12
+ #
13
+ # ### Usage
14
+ #
15
+ # You can use Shellwords to parse a string into a Bourne shell friendly Array.
16
+ #
17
+ # require 'shellwords'
18
+ #
19
+ # argv = Shellwords.split('three blind "mice"')
20
+ # argv #=> ["three", "blind", "mice"]
21
+ #
22
+ # Once you've required Shellwords, you can use the #split alias
23
+ # String#shellsplit.
24
+ #
25
+ # argv = "see how they run".shellsplit
26
+ # argv #=> ["see", "how", "they", "run"]
27
+ #
28
+ # They treat quotes as special characters, so an unmatched quote will cause an
29
+ # ArgumentError.
30
+ #
31
+ # argv = "they all ran after the farmer's wife".shellsplit
32
+ # #=> ArgumentError: Unmatched quote: ...
33
+ #
34
+ # Shellwords also provides methods that do the opposite. Shellwords.escape, or
35
+ # its alias, String#shellescape, escapes shell metacharacters in a string for
36
+ # use in a command line.
37
+ #
38
+ # filename = "special's.txt"
39
+ #
40
+ # system("cat -- #{filename.shellescape}")
41
+ # # runs "cat -- special\\'s.txt"
42
+ #
43
+ # Note the '--'. Without it, cat(1) will treat the following argument as a
44
+ # command line option if it starts with '-'. It is guaranteed that
45
+ # Shellwords.escape converts a string to a form that a Bourne shell will parse
46
+ # back to the original string, but it is the programmer's responsibility to make
47
+ # sure that passing an arbitrary argument to a command does no harm.
48
+ #
49
+ # Shellwords also comes with a core extension for Array, Array#shelljoin.
50
+ #
51
+ # dir = "Funny GIFs"
52
+ # argv = %W[ls -lta -- #{dir}]
53
+ # system(argv.shelljoin + " | less")
54
+ # # runs "ls -lta -- Funny\\ GIFs | less"
55
+ #
56
+ # You can use this method to build a complete command line out of an array of
57
+ # arguments.
58
+ #
59
+ # ### Authors
60
+ # * Wakou Aoyama
61
+ # * Akinori MUSHA <knu@iDaemons.org>
62
+ #
63
+ # ### Contact
64
+ # * Akinori MUSHA <knu@iDaemons.org> (current maintainer)
65
+ #
66
+ module Shellwords
67
+ # <!--
68
+ # rdoc-file=lib/shellwords.rb
69
+ # - shellescape(str)
70
+ # -->
71
+ # Escapes a string so that it can be safely used in a Bourne shell command line.
72
+ # `str` can be a non-string object that responds to `to_s`.
73
+ #
74
+ # `str` must not contain NUL characters because of nature of `exec` system call.
75
+ #
76
+ # Note that a resulted string should be used unquoted and is not intended for
77
+ # use in double quotes nor in single quotes.
78
+ #
79
+ # argv = Shellwords.escape("It's better to give than to receive")
80
+ # argv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive"
81
+ #
82
+ # String#shellescape is a shorthand for this function.
83
+ #
84
+ # argv = "It's better to give than to receive".shellescape
85
+ # argv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive"
86
+ #
87
+ # # Search files in lib for method definitions
88
+ # pattern = "^[ \t]*def "
89
+ # open("| grep -Ern -e #{pattern.shellescape} lib") { |grep|
90
+ # grep.each_line { |line|
91
+ # file, lineno, matched_line = line.split(':', 3)
92
+ # # ...
93
+ # }
94
+ # }
95
+ #
96
+ # It is the caller's responsibility to encode the string in the right encoding
97
+ # for the shell environment where this string is used.
98
+ #
99
+ # Multibyte characters are treated as multibyte characters, not as bytes.
100
+ #
101
+ # Returns an empty quoted String if `str` has a length of zero.
102
+ #
103
+ def self?.shellescape: (String str) -> String
104
+
105
+ # <!--
106
+ # rdoc-file=lib/shellwords.rb
107
+ # - shelljoin(array)
108
+ # -->
109
+ # Builds a command line string from an argument list, `array`.
110
+ #
111
+ # All elements are joined into a single string with fields separated by a space,
112
+ # where each element is escaped for the Bourne shell and stringified using
113
+ # `to_s`. See also Shellwords.shellescape.
114
+ #
115
+ # ary = ["There's", "a", "time", "and", "place", "for", "everything"]
116
+ # argv = Shellwords.join(ary)
117
+ # argv #=> "There\\'s a time and place for everything"
118
+ #
119
+ # Array#shelljoin is a shortcut for this function.
120
+ #
121
+ # ary = ["Don't", "rock", "the", "boat"]
122
+ # argv = ary.shelljoin
123
+ # argv #=> "Don\\'t rock the boat"
124
+ #
125
+ # You can also mix non-string objects in the elements as allowed in Array#join.
126
+ #
127
+ # output = `#{['ps', '-p', $$].shelljoin}`
128
+ #
129
+ def self?.shelljoin: (Array[String] array) -> String
130
+
131
+ # <!--
132
+ # rdoc-file=lib/shellwords.rb
133
+ # - shellsplit(line)
134
+ # -->
135
+ # Splits a string into an array of tokens in the same way the UNIX Bourne shell
136
+ # does.
137
+ #
138
+ # argv = Shellwords.split('here are "two words"')
139
+ # argv #=> ["here", "are", "two words"]
140
+ #
141
+ # `line` must not contain NUL characters because of nature of `exec` system
142
+ # call.
143
+ #
144
+ # Note, however, that this is not a command line parser. Shell metacharacters
145
+ # except for the single and double quotes and backslash are not treated as such.
146
+ #
147
+ # argv = Shellwords.split('ruby my_prog.rb | less')
148
+ # argv #=> ["ruby", "my_prog.rb", "|", "less"]
149
+ #
150
+ # String#shellsplit is a shortcut for this function.
151
+ #
152
+ # argv = 'here are "two words"'.shellsplit
153
+ # argv #=> ["here", "are", "two words"]
154
+ #
155
+ def self?.shellsplit: (String line) -> Array[String]
156
+
157
+ # <!--
158
+ # rdoc-file=lib/shellwords.rb
159
+ # - escape(str)
160
+ # -->
161
+ #
162
+ alias self.escape self.shellescape
163
+
164
+ # <!--
165
+ # rdoc-file=lib/shellwords.rb
166
+ # - join(array)
167
+ # -->
168
+ #
169
+ alias self.join self.shelljoin
170
+
171
+ # <!--
172
+ # rdoc-file=lib/shellwords.rb
173
+ # - shellwords(line)
174
+ # -->
175
+ #
176
+ alias self.shellwords self.shellsplit
177
+
178
+ # <!--
179
+ # rdoc-file=lib/shellwords.rb
180
+ # - split(line)
181
+ # -->
182
+ #
183
+ alias self.split self.shellsplit
184
+
185
+ # <!--
186
+ # rdoc-file=lib/shellwords.rb
187
+ # - shellwords(line)
188
+ # -->
189
+ #
190
+ alias shellwords shellsplit
191
+ end
192
+
193
+ %a{annotate:rdoc:skip}
194
+ class Array[unchecked out Elem]
195
+ # <!--
196
+ # rdoc-file=lib/shellwords.rb
197
+ # - array.shelljoin => string
198
+ # -->
199
+ # Builds a command line string from an argument list `array` joining all
200
+ # elements escaped for the Bourne shell and separated by a space.
201
+ #
202
+ # See Shellwords.shelljoin for details.
203
+ #
204
+ def shelljoin: () -> String
205
+ end
206
+
207
+ %a{annotate:rdoc:skip}
208
+ class String
209
+ # <!--
210
+ # rdoc-file=lib/shellwords.rb
211
+ # - str.shellescape => string
212
+ # -->
213
+ # Escapes `str` so that it can be safely used in a Bourne shell command line.
214
+ #
215
+ # See Shellwords.shellescape for details.
216
+ #
217
+ def shellescape: () -> String
218
+
219
+ # <!--
220
+ # rdoc-file=lib/shellwords.rb
221
+ # - str.shellsplit => array
222
+ # -->
223
+ # Splits `str` into an array of tokens in the same way the UNIX Bourne shell
224
+ # does.
225
+ #
226
+ # See Shellwords.shellsplit for details.
227
+ #
228
+ def shellsplit: () -> Array[String]
229
+ end
@@ -0,0 +1,131 @@
1
+ # <!-- rdoc-file=lib/singleton.rb -->
2
+ # The Singleton module implements the Singleton pattern.
3
+ #
4
+ # ## Usage
5
+ #
6
+ # To use Singleton, include the module in your class.
7
+ #
8
+ # class Klass
9
+ # include Singleton
10
+ # # ...
11
+ # end
12
+ #
13
+ # This ensures that only one instance of Klass can be created.
14
+ #
15
+ # a,b = Klass.instance, Klass.instance
16
+ #
17
+ # a == b
18
+ # # => true
19
+ #
20
+ # Klass.new
21
+ # # => NoMethodError - new is private ...
22
+ #
23
+ # The instance is created at upon the first call of Klass.instance().
24
+ #
25
+ # class OtherKlass
26
+ # include Singleton
27
+ # # ...
28
+ # end
29
+ #
30
+ # ObjectSpace.each_object(OtherKlass){}
31
+ # # => 0
32
+ #
33
+ # OtherKlass.instance
34
+ # ObjectSpace.each_object(OtherKlass){}
35
+ # # => 1
36
+ #
37
+ # This behavior is preserved under inheritance and cloning.
38
+ #
39
+ # ## Implementation
40
+ #
41
+ # This above is achieved by:
42
+ #
43
+ # * Making Klass.new and Klass.allocate private.
44
+ #
45
+ # * Overriding Klass.inherited(sub_klass) and Klass.clone() to ensure that the
46
+ # Singleton properties are kept when inherited and cloned.
47
+ #
48
+ # * Providing the Klass.instance() method that returns the same object each
49
+ # time it is called.
50
+ #
51
+ # * Overriding Klass._load(str) to call Klass.instance().
52
+ #
53
+ # * Overriding Klass#clone and Klass#dup to raise TypeErrors to prevent
54
+ # cloning or duping.
55
+ #
56
+ # ## Singleton and Marshal
57
+ #
58
+ # By default Singleton's #_dump(depth) returns the empty string. Marshalling by
59
+ # default will strip state information, e.g. instance variables from the
60
+ # instance. Classes using Singleton can provide custom _load(str) and
61
+ # _dump(depth) methods to retain some of the previous state of the instance.
62
+ #
63
+ # require 'singleton'
64
+ #
65
+ # class Example
66
+ # include Singleton
67
+ # attr_accessor :keep, :strip
68
+ # def _dump(depth)
69
+ # # this strips the @strip information from the instance
70
+ # Marshal.dump(@keep, depth)
71
+ # end
72
+ #
73
+ # def self._load(str)
74
+ # instance.keep = Marshal.load(str)
75
+ # instance
76
+ # end
77
+ # end
78
+ #
79
+ # a = Example.instance
80
+ # a.keep = "keep this"
81
+ # a.strip = "get rid of this"
82
+ #
83
+ # stored_state = Marshal.dump(a)
84
+ #
85
+ # a.keep = nil
86
+ # a.strip = nil
87
+ # b = Marshal.load(stored_state)
88
+ # p a == b # => true
89
+ # p a.keep # => "keep this"
90
+ # p a.strip # => nil
91
+ #
92
+ module Singleton
93
+ def self.__init__: (Class klass) -> Class
94
+
95
+ # <!--
96
+ # rdoc-file=lib/singleton.rb
97
+ # - instance()
98
+ # -->
99
+ # Returns the singleton instance.
100
+ #
101
+ def self.instance: () -> instance
102
+
103
+ # <!--
104
+ # rdoc-file=lib/singleton.rb
105
+ # - _dump(depth = -1)
106
+ # -->
107
+ # By default, do not retain any state when marshalling.
108
+ #
109
+ def _dump: (?Integer depth) -> String
110
+
111
+ # <!--
112
+ # rdoc-file=lib/singleton.rb
113
+ # - clone()
114
+ # -->
115
+ # Raises a TypeError to prevent cloning.
116
+ #
117
+ def clone: () -> bot
118
+
119
+ # <!--
120
+ # rdoc-file=lib/singleton.rb
121
+ # - dup()
122
+ # -->
123
+ # Raises a TypeError to prevent duping.
124
+ #
125
+ def dup: () -> bot
126
+
127
+ module SingletonClassMethods
128
+ end
129
+ end
130
+
131
+ Singleton::VERSION: String