rbs 4.1.0.pre.2-java

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 (574) hide show
  1. checksums.yaml +7 -0
  2. data/.clang-format +75 -0
  3. data/.clangd +2 -0
  4. data/.github/dependabot.yml +24 -0
  5. data/.github/workflows/bundle-update.yml +63 -0
  6. data/.github/workflows/c-check.yml +61 -0
  7. data/.github/workflows/comments.yml +37 -0
  8. data/.github/workflows/dependabot.yml +30 -0
  9. data/.github/workflows/jruby.yml +67 -0
  10. data/.github/workflows/milestone.yml +83 -0
  11. data/.github/workflows/ruby.yml +158 -0
  12. data/.github/workflows/rust.yml +184 -0
  13. data/.github/workflows/truffleruby.yml +54 -0
  14. data/.github/workflows/typecheck.yml +39 -0
  15. data/.github/workflows/wasm.yml +53 -0
  16. data/.github/workflows/windows.yml +49 -0
  17. data/.gitignore +38 -0
  18. data/.rubocop.yml +72 -0
  19. data/BSDL +22 -0
  20. data/CHANGELOG.md +2292 -0
  21. data/COPYING +56 -0
  22. data/README.md +240 -0
  23. data/Rakefile +869 -0
  24. data/Steepfile +53 -0
  25. data/config.yml +913 -0
  26. data/core/array.rbs +4142 -0
  27. data/core/basic_object.rbs +376 -0
  28. data/core/binding.rbs +148 -0
  29. data/core/builtin.rbs +278 -0
  30. data/core/class.rbs +223 -0
  31. data/core/comparable.rbs +192 -0
  32. data/core/complex.rbs +812 -0
  33. data/core/constants.rbs +96 -0
  34. data/core/data.rbs +415 -0
  35. data/core/dir.rbs +993 -0
  36. data/core/encoding.rbs +1368 -0
  37. data/core/enumerable.rbs +2506 -0
  38. data/core/enumerator/arithmetic_sequence.rbs +70 -0
  39. data/core/enumerator/product.rbs +92 -0
  40. data/core/enumerator.rbs +705 -0
  41. data/core/env.rbs +6 -0
  42. data/core/errno.rbs +682 -0
  43. data/core/errors.rbs +789 -0
  44. data/core/exception.rbs +485 -0
  45. data/core/false_class.rbs +82 -0
  46. data/core/fiber.rbs +570 -0
  47. data/core/fiber_error.rbs +11 -0
  48. data/core/file.rbs +2045 -0
  49. data/core/file_constants.rbs +463 -0
  50. data/core/file_stat.rbs +534 -0
  51. data/core/file_test.rbs +331 -0
  52. data/core/float.rbs +1316 -0
  53. data/core/gc.rbs +788 -0
  54. data/core/global_variables.rbs +184 -0
  55. data/core/hash.rbs +2183 -0
  56. data/core/integer.rbs +1374 -0
  57. data/core/io/buffer.rbs +995 -0
  58. data/core/io/wait.rbs +48 -0
  59. data/core/io.rbs +3472 -0
  60. data/core/kernel.rbs +3172 -0
  61. data/core/marshal.rbs +207 -0
  62. data/core/match_data.rbs +637 -0
  63. data/core/math.rbs +770 -0
  64. data/core/method.rbs +422 -0
  65. data/core/module.rbs +1856 -0
  66. data/core/nil_class.rbs +210 -0
  67. data/core/numeric.rbs +832 -0
  68. data/core/object.rbs +108 -0
  69. data/core/object_space/weak_key_map.rbs +166 -0
  70. data/core/object_space.rbs +197 -0
  71. data/core/pathname.rbs +1322 -0
  72. data/core/proc.rbs +905 -0
  73. data/core/process.rbs +2316 -0
  74. data/core/ractor.rbs +924 -0
  75. data/core/random.rbs +255 -0
  76. data/core/range.rbs +1209 -0
  77. data/core/rational.rbs +502 -0
  78. data/core/rb_config.rbs +88 -0
  79. data/core/rbs/ops.rbs +154 -0
  80. data/core/rbs/unnamed/argf.rbs +1236 -0
  81. data/core/rbs/unnamed/env_class.rbs +1214 -0
  82. data/core/rbs/unnamed/main_class.rbs +123 -0
  83. data/core/rbs/unnamed/random.rbs +186 -0
  84. data/core/refinement.rbs +59 -0
  85. data/core/regexp.rbs +1974 -0
  86. data/core/ruby.rbs +53 -0
  87. data/core/ruby_vm.rbs +809 -0
  88. data/core/rubygems/basic_specification.rbs +6 -0
  89. data/core/rubygems/config_file.rbs +38 -0
  90. data/core/rubygems/dependency_installer.rbs +6 -0
  91. data/core/rubygems/errors.rbs +109 -0
  92. data/core/rubygems/installer.rbs +15 -0
  93. data/core/rubygems/path_support.rbs +6 -0
  94. data/core/rubygems/platform.rbs +7 -0
  95. data/core/rubygems/request_set.rbs +49 -0
  96. data/core/rubygems/requirement.rbs +148 -0
  97. data/core/rubygems/rubygems.rbs +1105 -0
  98. data/core/rubygems/source_list.rbs +15 -0
  99. data/core/rubygems/specification.rbs +23 -0
  100. data/core/rubygems/stream_ui.rbs +5 -0
  101. data/core/rubygems/uninstaller.rbs +10 -0
  102. data/core/rubygems/version.rbs +293 -0
  103. data/core/set.rbs +751 -0
  104. data/core/signal.rbs +110 -0
  105. data/core/string.rbs +5532 -0
  106. data/core/struct.rbs +668 -0
  107. data/core/symbol.rbs +482 -0
  108. data/core/thread.rbs +1826 -0
  109. data/core/thread_group.rbs +79 -0
  110. data/core/time.rbs +1793 -0
  111. data/core/trace_point.rbs +483 -0
  112. data/core/true_class.rbs +98 -0
  113. data/core/unbound_method.rbs +337 -0
  114. data/core/warning.rbs +87 -0
  115. data/docs/CONTRIBUTING.md +107 -0
  116. data/docs/aliases.md +79 -0
  117. data/docs/architecture.md +110 -0
  118. data/docs/collection.md +192 -0
  119. data/docs/config.md +171 -0
  120. data/docs/data_and_struct.md +86 -0
  121. data/docs/encoding.md +56 -0
  122. data/docs/gem.md +56 -0
  123. data/docs/inline.md +634 -0
  124. data/docs/rbs_by_example.md +309 -0
  125. data/docs/repo.md +125 -0
  126. data/docs/rust.md +96 -0
  127. data/docs/sigs.md +167 -0
  128. data/docs/stdlib.md +147 -0
  129. data/docs/syntax.md +940 -0
  130. data/docs/tools.md +17 -0
  131. data/docs/type_fingerprint.md +21 -0
  132. data/docs/wasm_serialization.md +80 -0
  133. data/exe/rbs +7 -0
  134. data/ext/rbs_extension/ast_translation.c +1855 -0
  135. data/ext/rbs_extension/ast_translation.h +41 -0
  136. data/ext/rbs_extension/class_constants.c +187 -0
  137. data/ext/rbs_extension/class_constants.h +104 -0
  138. data/ext/rbs_extension/compat.h +10 -0
  139. data/ext/rbs_extension/extconf.rb +40 -0
  140. data/ext/rbs_extension/legacy_location.c +294 -0
  141. data/ext/rbs_extension/legacy_location.h +82 -0
  142. data/ext/rbs_extension/main.c +613 -0
  143. data/ext/rbs_extension/rbs_extension.h +16 -0
  144. data/ext/rbs_extension/rbs_string_bridging.c +9 -0
  145. data/ext/rbs_extension/rbs_string_bridging.h +24 -0
  146. data/goodcheck.yml +91 -0
  147. data/include/rbs/ast.h +1047 -0
  148. data/include/rbs/defines.h +99 -0
  149. data/include/rbs/lexer.h +207 -0
  150. data/include/rbs/location.h +40 -0
  151. data/include/rbs/parser.h +153 -0
  152. data/include/rbs/serialize.h +39 -0
  153. data/include/rbs/string.h +47 -0
  154. data/include/rbs/util/rbs_allocator.h +59 -0
  155. data/include/rbs/util/rbs_assert.h +20 -0
  156. data/include/rbs/util/rbs_buffer.h +83 -0
  157. data/include/rbs/util/rbs_constant_pool.h +155 -0
  158. data/include/rbs/util/rbs_encoding.h +282 -0
  159. data/include/rbs/util/rbs_unescape.h +24 -0
  160. data/include/rbs.h +14 -0
  161. data/lib/rbs/ancestor_graph.rb +92 -0
  162. data/lib/rbs/annotate/annotations.rb +199 -0
  163. data/lib/rbs/annotate/formatter.rb +82 -0
  164. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  165. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  166. data/lib/rbs/annotate.rb +8 -0
  167. data/lib/rbs/ast/annotation.rb +29 -0
  168. data/lib/rbs/ast/comment.rb +29 -0
  169. data/lib/rbs/ast/declarations.rb +472 -0
  170. data/lib/rbs/ast/directives.rb +49 -0
  171. data/lib/rbs/ast/members.rb +451 -0
  172. data/lib/rbs/ast/ruby/annotations.rb +451 -0
  173. data/lib/rbs/ast/ruby/comment_block.rb +247 -0
  174. data/lib/rbs/ast/ruby/declarations.rb +291 -0
  175. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
  176. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  177. data/lib/rbs/ast/ruby/members.rb +762 -0
  178. data/lib/rbs/ast/type_param.rb +235 -0
  179. data/lib/rbs/ast/visitor.rb +137 -0
  180. data/lib/rbs/buffer.rb +189 -0
  181. data/lib/rbs/builtin_names.rb +58 -0
  182. data/lib/rbs/cli/colored_io.rb +48 -0
  183. data/lib/rbs/cli/diff.rb +84 -0
  184. data/lib/rbs/cli/validate.rb +294 -0
  185. data/lib/rbs/cli.rb +1253 -0
  186. data/lib/rbs/collection/cleaner.rb +38 -0
  187. data/lib/rbs/collection/config/lockfile.rb +92 -0
  188. data/lib/rbs/collection/config/lockfile_generator.rb +269 -0
  189. data/lib/rbs/collection/config.rb +81 -0
  190. data/lib/rbs/collection/installer.rb +32 -0
  191. data/lib/rbs/collection/sources/base.rb +14 -0
  192. data/lib/rbs/collection/sources/git.rb +265 -0
  193. data/lib/rbs/collection/sources/local.rb +81 -0
  194. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  195. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  196. data/lib/rbs/collection/sources.rb +38 -0
  197. data/lib/rbs/collection.rb +16 -0
  198. data/lib/rbs/constant.rb +28 -0
  199. data/lib/rbs/definition.rb +415 -0
  200. data/lib/rbs/definition_builder/ancestor_builder.rb +678 -0
  201. data/lib/rbs/definition_builder/method_builder.rb +295 -0
  202. data/lib/rbs/definition_builder.rb +1054 -0
  203. data/lib/rbs/diff.rb +131 -0
  204. data/lib/rbs/environment/class_entry.rb +69 -0
  205. data/lib/rbs/environment/module_entry.rb +66 -0
  206. data/lib/rbs/environment/use_map.rb +77 -0
  207. data/lib/rbs/environment.rb +1028 -0
  208. data/lib/rbs/environment_loader.rb +167 -0
  209. data/lib/rbs/environment_walker.rb +155 -0
  210. data/lib/rbs/errors.rb +634 -0
  211. data/lib/rbs/factory.rb +18 -0
  212. data/lib/rbs/file_finder.rb +28 -0
  213. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  214. data/lib/rbs/inline_parser.rb +568 -0
  215. data/lib/rbs/location_aux.rb +170 -0
  216. data/lib/rbs/locator.rb +247 -0
  217. data/lib/rbs/method_type.rb +145 -0
  218. data/lib/rbs/namespace.rb +154 -0
  219. data/lib/rbs/parser/lex_result.rb +15 -0
  220. data/lib/rbs/parser/token.rb +23 -0
  221. data/lib/rbs/parser_aux.rb +142 -0
  222. data/lib/rbs/prototype/helpers.rb +197 -0
  223. data/lib/rbs/prototype/node_usage.rb +99 -0
  224. data/lib/rbs/prototype/rb.rb +816 -0
  225. data/lib/rbs/prototype/rbi.rb +625 -0
  226. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  227. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  228. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  229. data/lib/rbs/prototype/runtime.rb +680 -0
  230. data/lib/rbs/repository.rb +127 -0
  231. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  232. data/lib/rbs/resolver/type_name_resolver.rb +167 -0
  233. data/lib/rbs/rewriter.rb +70 -0
  234. data/lib/rbs/sorter.rb +198 -0
  235. data/lib/rbs/source.rb +99 -0
  236. data/lib/rbs/substitution.rb +83 -0
  237. data/lib/rbs/subtractor.rb +204 -0
  238. data/lib/rbs/test/errors.rb +80 -0
  239. data/lib/rbs/test/guaranteed.rb +30 -0
  240. data/lib/rbs/test/hook.rb +212 -0
  241. data/lib/rbs/test/observer.rb +19 -0
  242. data/lib/rbs/test/setup.rb +84 -0
  243. data/lib/rbs/test/setup_helper.rb +50 -0
  244. data/lib/rbs/test/tester.rb +167 -0
  245. data/lib/rbs/test/type_check.rb +457 -0
  246. data/lib/rbs/test.rb +112 -0
  247. data/lib/rbs/type_alias_dependency.rb +100 -0
  248. data/lib/rbs/type_alias_regularity.rb +126 -0
  249. data/lib/rbs/type_name.rb +122 -0
  250. data/lib/rbs/types.rb +1604 -0
  251. data/lib/rbs/unit_test/convertibles.rb +177 -0
  252. data/lib/rbs/unit_test/spy.rb +138 -0
  253. data/lib/rbs/unit_test/type_assertions.rb +383 -0
  254. data/lib/rbs/unit_test/with_aliases.rb +145 -0
  255. data/lib/rbs/unit_test.rb +6 -0
  256. data/lib/rbs/validator.rb +186 -0
  257. data/lib/rbs/variance_calculator.rb +189 -0
  258. data/lib/rbs/vendorer.rb +71 -0
  259. data/lib/rbs/version.rb +5 -0
  260. data/lib/rbs/wasm/deserializer.rb +213 -0
  261. data/lib/rbs/wasm/jars/asm-analysis.jar +0 -0
  262. data/lib/rbs/wasm/jars/asm-commons.jar +0 -0
  263. data/lib/rbs/wasm/jars/asm-tree.jar +0 -0
  264. data/lib/rbs/wasm/jars/asm-util.jar +0 -0
  265. data/lib/rbs/wasm/jars/asm.jar +0 -0
  266. data/lib/rbs/wasm/jars/compiler.jar +0 -0
  267. data/lib/rbs/wasm/jars/log.jar +0 -0
  268. data/lib/rbs/wasm/jars/runtime.jar +0 -0
  269. data/lib/rbs/wasm/jars/wasi.jar +0 -0
  270. data/lib/rbs/wasm/jars/wasm.jar +0 -0
  271. data/lib/rbs/wasm/location.rb +61 -0
  272. data/lib/rbs/wasm/parser.rb +137 -0
  273. data/lib/rbs/wasm/rbs_parser.wasm +0 -0
  274. data/lib/rbs/wasm/runtime.rb +217 -0
  275. data/lib/rbs/wasm/serialization_schema.rb +110 -0
  276. data/lib/rbs/writer.rb +424 -0
  277. data/lib/rbs.rb +117 -0
  278. data/lib/rdoc/discover.rb +20 -0
  279. data/lib/rdoc_plugin/parser.rb +163 -0
  280. data/rbs.gemspec +68 -0
  281. data/schema/annotation.json +14 -0
  282. data/schema/comment.json +26 -0
  283. data/schema/decls.json +326 -0
  284. data/schema/function.json +87 -0
  285. data/schema/location.json +56 -0
  286. data/schema/members.json +266 -0
  287. data/schema/methodType.json +50 -0
  288. data/schema/typeParam.json +52 -0
  289. data/schema/types.json +317 -0
  290. data/sig/ancestor_builder.rbs +163 -0
  291. data/sig/ancestor_graph.rbs +60 -0
  292. data/sig/annotate/annotations.rbs +102 -0
  293. data/sig/annotate/formatter.rbs +24 -0
  294. data/sig/annotate/rdoc_annotater.rbs +85 -0
  295. data/sig/annotate/rdoc_source.rbs +32 -0
  296. data/sig/annotation.rbs +27 -0
  297. data/sig/ast/ruby/annotations.rbs +470 -0
  298. data/sig/ast/ruby/comment_block.rbs +127 -0
  299. data/sig/ast/ruby/declarations.rbs +158 -0
  300. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  301. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  302. data/sig/ast/ruby/members.rbs +198 -0
  303. data/sig/buffer.rbs +108 -0
  304. data/sig/builtin_names.rbs +44 -0
  305. data/sig/cli/colored_io.rbs +15 -0
  306. data/sig/cli/diff.rbs +15 -0
  307. data/sig/cli/validate.rbs +47 -0
  308. data/sig/cli.rbs +89 -0
  309. data/sig/collection/cleaner.rbs +13 -0
  310. data/sig/collection/config/lockfile.rbs +74 -0
  311. data/sig/collection/config/lockfile_generator.rbs +68 -0
  312. data/sig/collection/config.rbs +46 -0
  313. data/sig/collection/installer.rbs +17 -0
  314. data/sig/collection/sources.rbs +214 -0
  315. data/sig/collection.rbs +4 -0
  316. data/sig/comment.rbs +26 -0
  317. data/sig/constant.rbs +21 -0
  318. data/sig/declarations.rbs +274 -0
  319. data/sig/definition.rbs +232 -0
  320. data/sig/definition_builder.rbs +181 -0
  321. data/sig/diff.rbs +28 -0
  322. data/sig/directives.rbs +77 -0
  323. data/sig/environment/class_entry.rbs +50 -0
  324. data/sig/environment/module_entry.rbs +50 -0
  325. data/sig/environment.rbs +286 -0
  326. data/sig/environment_loader.rbs +111 -0
  327. data/sig/environment_walker.rbs +65 -0
  328. data/sig/errors.rbs +408 -0
  329. data/sig/factory.rbs +5 -0
  330. data/sig/file_finder.rbs +28 -0
  331. data/sig/inline_parser/comment_association.rbs +71 -0
  332. data/sig/inline_parser.rbs +126 -0
  333. data/sig/location.rbs +135 -0
  334. data/sig/locator.rbs +56 -0
  335. data/sig/manifest.yaml +5 -0
  336. data/sig/members.rbs +258 -0
  337. data/sig/method_builder.rbs +89 -0
  338. data/sig/method_types.rbs +58 -0
  339. data/sig/namespace.rbs +161 -0
  340. data/sig/parser.rbs +164 -0
  341. data/sig/prototype/helpers.rbs +29 -0
  342. data/sig/prototype/node_usage.rbs +20 -0
  343. data/sig/prototype/rb.rbs +96 -0
  344. data/sig/prototype/rbi.rbs +75 -0
  345. data/sig/prototype/runtime.rbs +182 -0
  346. data/sig/rbs.rbs +21 -0
  347. data/sig/rdoc/rbs.rbs +67 -0
  348. data/sig/repository.rbs +85 -0
  349. data/sig/resolver/constant_resolver.rbs +92 -0
  350. data/sig/resolver/context.rbs +34 -0
  351. data/sig/resolver/type_name_resolver.rbs +61 -0
  352. data/sig/rewriter.rbs +45 -0
  353. data/sig/shims/bundler.rbs +38 -0
  354. data/sig/shims/enumerable.rbs +5 -0
  355. data/sig/shims/rubygems.rbs +19 -0
  356. data/sig/sorter.rbs +41 -0
  357. data/sig/source.rbs +48 -0
  358. data/sig/substitution.rbs +48 -0
  359. data/sig/subtractor.rbs +37 -0
  360. data/sig/test/errors.rbs +52 -0
  361. data/sig/test/guranteed.rbs +9 -0
  362. data/sig/test/type_check.rbs +19 -0
  363. data/sig/test.rbs +82 -0
  364. data/sig/type_alias_dependency.rbs +53 -0
  365. data/sig/type_alias_regularity.rbs +98 -0
  366. data/sig/type_param.rbs +115 -0
  367. data/sig/typename.rbs +89 -0
  368. data/sig/types.rbs +578 -0
  369. data/sig/unit_test/convertibles.rbs +154 -0
  370. data/sig/unit_test/spy.rbs +22 -0
  371. data/sig/unit_test/type_assertions.rbs +211 -0
  372. data/sig/unit_test/with_aliases.rbs +136 -0
  373. data/sig/use_map.rbs +35 -0
  374. data/sig/util.rbs +9 -0
  375. data/sig/validator.rbs +63 -0
  376. data/sig/variance_calculator.rbs +87 -0
  377. data/sig/vendorer.rbs +51 -0
  378. data/sig/version.rbs +3 -0
  379. data/sig/visitor.rbs +47 -0
  380. data/sig/wasm/deserializer.rbs +66 -0
  381. data/sig/wasm/serialization_schema.rbs +13 -0
  382. data/sig/writer.rbs +127 -0
  383. data/src/ast.c +1628 -0
  384. data/src/lexer.c +3217 -0
  385. data/src/lexer.re +155 -0
  386. data/src/lexstate.c +217 -0
  387. data/src/location.c +31 -0
  388. data/src/parser.c +4255 -0
  389. data/src/serialize.c +958 -0
  390. data/src/string.c +41 -0
  391. data/src/util/rbs_allocator.c +162 -0
  392. data/src/util/rbs_assert.c +19 -0
  393. data/src/util/rbs_buffer.c +54 -0
  394. data/src/util/rbs_constant_pool.c +268 -0
  395. data/src/util/rbs_encoding.c +21308 -0
  396. data/src/util/rbs_unescape.c +167 -0
  397. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  398. data/stdlib/abbrev/0/array.rbs +26 -0
  399. data/stdlib/base64/0/base64.rbs +355 -0
  400. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  401. data/stdlib/bigdecimal/0/big_decimal.rbs +1647 -0
  402. data/stdlib/bigdecimal-math/0/big_math.rbs +280 -0
  403. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  404. data/stdlib/cgi/0/core.rbs +911 -0
  405. data/stdlib/cgi/0/manifest.yaml +4 -0
  406. data/stdlib/cgi-escape/0/escape.rbs +171 -0
  407. data/stdlib/coverage/0/coverage.rbs +266 -0
  408. data/stdlib/csv/0/csv.rbs +3776 -0
  409. data/stdlib/csv/0/manifest.yaml +3 -0
  410. data/stdlib/date/0/date.rbs +1598 -0
  411. data/stdlib/date/0/date_time.rbs +617 -0
  412. data/stdlib/date/0/time.rbs +26 -0
  413. data/stdlib/dbm/0/dbm.rbs +421 -0
  414. data/stdlib/delegate/0/delegator.rbs +187 -0
  415. data/stdlib/delegate/0/kernel.rbs +47 -0
  416. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  417. data/stdlib/did_you_mean/0/did_you_mean.rbs +344 -0
  418. data/stdlib/digest/0/digest.rbs +687 -0
  419. data/stdlib/erb/0/erb.rbs +933 -0
  420. data/stdlib/etc/0/etc.rbs +884 -0
  421. data/stdlib/fileutils/0/fileutils.rbs +1753 -0
  422. data/stdlib/find/0/find.rbs +49 -0
  423. data/stdlib/forwardable/0/forwardable.rbs +271 -0
  424. data/stdlib/io-console/0/io-console.rbs +414 -0
  425. data/stdlib/ipaddr/0/ipaddr.rbs +436 -0
  426. data/stdlib/json/0/json.rbs +1963 -0
  427. data/stdlib/kconv/0/kconv.rbs +166 -0
  428. data/stdlib/logger/0/formatter.rbs +45 -0
  429. data/stdlib/logger/0/log_device.rbs +100 -0
  430. data/stdlib/logger/0/logger.rbs +796 -0
  431. data/stdlib/logger/0/manifest.yaml +2 -0
  432. data/stdlib/logger/0/period.rbs +17 -0
  433. data/stdlib/logger/0/severity.rbs +34 -0
  434. data/stdlib/minitest/0/kernel.rbs +42 -0
  435. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  436. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  437. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  438. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  439. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  440. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  441. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  442. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  443. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  444. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  445. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  446. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  447. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  448. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  449. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  450. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  451. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  452. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  453. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  454. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  455. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  456. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  457. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  458. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  459. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  460. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  461. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  462. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  463. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  464. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  465. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  466. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  467. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  468. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  469. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  470. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  471. data/stdlib/minitest/0/minitest.rbs +115 -0
  472. data/stdlib/monitor/0/monitor.rbs +363 -0
  473. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  474. data/stdlib/net-http/0/manifest.yaml +3 -0
  475. data/stdlib/net-http/0/net-http.rbs +5580 -0
  476. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  477. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  478. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  479. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  480. data/stdlib/nkf/0/nkf.rbs +402 -0
  481. data/stdlib/objspace/0/objspace.rbs +470 -0
  482. data/stdlib/observable/0/observable.rbs +217 -0
  483. data/stdlib/open-uri/0/manifest.yaml +4 -0
  484. data/stdlib/open-uri/0/open-uri.rbs +433 -0
  485. data/stdlib/open3/0/open3.rbs +606 -0
  486. data/stdlib/openssl/0/manifest.yaml +3 -0
  487. data/stdlib/openssl/0/openssl.rbs +12231 -0
  488. data/stdlib/optparse/0/optparse.rbs +1734 -0
  489. data/stdlib/pathname/0/pathname.rbs +36 -0
  490. data/stdlib/pp/0/manifest.yaml +2 -0
  491. data/stdlib/pp/0/pp.rbs +301 -0
  492. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  493. data/stdlib/pstore/0/pstore.rbs +608 -0
  494. data/stdlib/psych/0/core_ext.rbs +12 -0
  495. data/stdlib/psych/0/dbm.rbs +237 -0
  496. data/stdlib/psych/0/manifest.yaml +3 -0
  497. data/stdlib/psych/0/psych.rbs +455 -0
  498. data/stdlib/psych/0/store.rbs +57 -0
  499. data/stdlib/pty/0/pty.rbs +240 -0
  500. data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  501. data/stdlib/rdoc/0/code_object.rbs +52 -0
  502. data/stdlib/rdoc/0/comment.rbs +61 -0
  503. data/stdlib/rdoc/0/context.rbs +153 -0
  504. data/stdlib/rdoc/0/markup.rbs +117 -0
  505. data/stdlib/rdoc/0/options.rbs +76 -0
  506. data/stdlib/rdoc/0/parser.rbs +56 -0
  507. data/stdlib/rdoc/0/rdoc.rbs +393 -0
  508. data/stdlib/rdoc/0/ri.rbs +17 -0
  509. data/stdlib/rdoc/0/store.rbs +48 -0
  510. data/stdlib/rdoc/0/top_level.rbs +97 -0
  511. data/stdlib/resolv/0/manifest.yaml +3 -0
  512. data/stdlib/resolv/0/resolv.rbs +1787 -0
  513. data/stdlib/ripper/0/ripper.rbs +1654 -0
  514. data/stdlib/securerandom/0/manifest.yaml +2 -0
  515. data/stdlib/securerandom/0/securerandom.rbs +49 -0
  516. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  517. data/stdlib/singleton/0/singleton.rbs +134 -0
  518. data/stdlib/socket/0/addrinfo.rbs +666 -0
  519. data/stdlib/socket/0/basic_socket.rbs +590 -0
  520. data/stdlib/socket/0/constants.rbs +2295 -0
  521. data/stdlib/socket/0/ip_socket.rbs +94 -0
  522. data/stdlib/socket/0/socket.rbs +4170 -0
  523. data/stdlib/socket/0/socket_error.rbs +5 -0
  524. data/stdlib/socket/0/tcp_server.rbs +192 -0
  525. data/stdlib/socket/0/tcp_socket.rbs +87 -0
  526. data/stdlib/socket/0/udp_socket.rbs +133 -0
  527. data/stdlib/socket/0/unix_server.rbs +169 -0
  528. data/stdlib/socket/0/unix_socket.rbs +172 -0
  529. data/stdlib/stringio/0/stringio.rbs +1681 -0
  530. data/stdlib/strscan/0/string_scanner.rbs +1648 -0
  531. data/stdlib/tempfile/0/tempfile.rbs +483 -0
  532. data/stdlib/time/0/time.rbs +434 -0
  533. data/stdlib/timeout/0/timeout.rbs +137 -0
  534. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  535. data/stdlib/tsort/0/cyclic.rbs +8 -0
  536. data/stdlib/tsort/0/interfaces.rbs +20 -0
  537. data/stdlib/tsort/0/tsort.rbs +410 -0
  538. data/stdlib/uri/0/common.rbs +621 -0
  539. data/stdlib/uri/0/file.rbs +118 -0
  540. data/stdlib/uri/0/ftp.rbs +13 -0
  541. data/stdlib/uri/0/generic.rbs +1116 -0
  542. data/stdlib/uri/0/http.rbs +104 -0
  543. data/stdlib/uri/0/https.rbs +14 -0
  544. data/stdlib/uri/0/ldap.rbs +230 -0
  545. data/stdlib/uri/0/ldaps.rbs +14 -0
  546. data/stdlib/uri/0/mailto.rbs +92 -0
  547. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  548. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  549. data/stdlib/uri/0/ws.rbs +13 -0
  550. data/stdlib/uri/0/wss.rbs +9 -0
  551. data/stdlib/yaml/0/manifest.yaml +2 -0
  552. data/stdlib/yaml/0/yaml.rbs +1 -0
  553. data/stdlib/zlib/0/buf_error.rbs +10 -0
  554. data/stdlib/zlib/0/data_error.rbs +10 -0
  555. data/stdlib/zlib/0/deflate.rbs +211 -0
  556. data/stdlib/zlib/0/error.rbs +20 -0
  557. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  558. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  559. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  560. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  561. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  562. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  563. data/stdlib/zlib/0/gzip_writer.rbs +168 -0
  564. data/stdlib/zlib/0/inflate.rbs +180 -0
  565. data/stdlib/zlib/0/mem_error.rbs +10 -0
  566. data/stdlib/zlib/0/need_dict.rbs +13 -0
  567. data/stdlib/zlib/0/stream_end.rbs +11 -0
  568. data/stdlib/zlib/0/stream_error.rbs +11 -0
  569. data/stdlib/zlib/0/version_error.rbs +11 -0
  570. data/stdlib/zlib/0/zlib.rbs +449 -0
  571. data/stdlib/zlib/0/zstream.rbs +201 -0
  572. data/wasm/README.md +59 -0
  573. data/wasm/rbs_wasm.c +411 -0
  574. metadata +660 -0
@@ -0,0 +1,617 @@
1
+ # <!-- rdoc-file=ext/date/date_core.c -->
2
+ # ## DateTime
3
+ #
4
+ # A subclass of Date that easily handles date, hour, minute, second, and offset.
5
+ #
6
+ # DateTime class is considered deprecated. Use Time class.
7
+ #
8
+ # DateTime does not consider any leap seconds, does not track any summer time
9
+ # rules.
10
+ #
11
+ # A DateTime object is created with DateTime::new, DateTime::jd,
12
+ # DateTime::ordinal, DateTime::commercial, DateTime::parse, DateTime::strptime,
13
+ # DateTime::now, Time#to_datetime, etc.
14
+ #
15
+ # require 'date'
16
+ #
17
+ # DateTime.new(2001,2,3,4,5,6)
18
+ # #=> #<DateTime: 2001-02-03T04:05:06+00:00 ...>
19
+ #
20
+ # The last element of day, hour, minute, or second can be a fractional number.
21
+ # The fractional number's precision is assumed at most nanosecond.
22
+ #
23
+ # DateTime.new(2001,2,3.5)
24
+ # #=> #<DateTime: 2001-02-03T12:00:00+00:00 ...>
25
+ #
26
+ # An optional argument, the offset, indicates the difference between the local
27
+ # time and UTC. For example, <code>Rational(3,24)</code> represents ahead of 3
28
+ # hours of UTC, <code>Rational(-5,24)</code> represents behind of 5 hours of
29
+ # UTC. The offset should be -1 to +1, and its precision is assumed at most
30
+ # second. The default value is zero (equals to UTC).
31
+ #
32
+ # DateTime.new(2001,2,3,4,5,6,Rational(3,24))
33
+ # #=> #<DateTime: 2001-02-03T04:05:06+03:00 ...>
34
+ #
35
+ # The offset also accepts string form:
36
+ #
37
+ # DateTime.new(2001,2,3,4,5,6,'+03:00')
38
+ # #=> #<DateTime: 2001-02-03T04:05:06+03:00 ...>
39
+ #
40
+ # An optional argument, the day of calendar reform (`start`), denotes a Julian
41
+ # day number, which should be 2298874 to 2426355 or negative/positive infinity.
42
+ # The default value is <code>Date::ITALY</code> (2299161=1582-10-15).
43
+ #
44
+ # A DateTime object has various methods. See each reference.
45
+ #
46
+ # d = DateTime.parse('3rd Feb 2001 04:05:06+03:30')
47
+ # #=> #<DateTime: 2001-02-03T04:05:06+03:30 ...>
48
+ # d.hour #=> 4
49
+ # d.min #=> 5
50
+ # d.sec #=> 6
51
+ # d.offset #=> (7/48)
52
+ # d.zone #=> "+03:30"
53
+ # d += Rational('1.5')
54
+ # #=> #<DateTime: 2001-02-04%16:05:06+03:30 ...>
55
+ # d = d.new_offset('+09:00')
56
+ # #=> #<DateTime: 2001-02-04%21:35:06+09:00 ...>
57
+ # d.strftime('%I:%M:%S %p')
58
+ # #=> "09:35:06 PM"
59
+ # d > DateTime.new(1999)
60
+ # #=> true
61
+ #
62
+ # ### When should you use DateTime and when should you use Time?
63
+ #
64
+ # It's a common misconception that [William
65
+ # Shakespeare](https://en.wikipedia.org/wiki/William_Shakespeare) and [Miguel de
66
+ # Cervantes](https://en.wikipedia.org/wiki/Miguel_de_Cervantes) died on the same
67
+ # day in history - so much so that UNESCO named April 23 as [World Book Day
68
+ # because of this fact](https://en.wikipedia.org/wiki/World_Book_Day). However,
69
+ # because England hadn't yet adopted the [Gregorian Calendar
70
+ # Reform](https://en.wikipedia.org/wiki/Gregorian_calendar#Gregorian_reform)
71
+ # (and wouldn't until
72
+ # [1752](https://en.wikipedia.org/wiki/Calendar_(New_Style)_Act_1750)) their
73
+ # deaths are actually 10 days apart. Since Ruby's Time class implements a
74
+ # [proleptic Gregorian
75
+ # calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar) and has
76
+ # no concept of calendar reform there's no way to express this with Time
77
+ # objects. This is where DateTime steps in:
78
+ #
79
+ # shakespeare = DateTime.iso8601('1616-04-23', Date::ENGLAND)
80
+ # #=> Tue, 23 Apr 1616 00:00:00 +0000
81
+ # cervantes = DateTime.iso8601('1616-04-23', Date::ITALY)
82
+ # #=> Sat, 23 Apr 1616 00:00:00 +0000
83
+ #
84
+ # Already you can see something is weird - the days of the week are different.
85
+ # Taking this further:
86
+ #
87
+ # cervantes == shakespeare
88
+ # #=> false
89
+ # (shakespeare - cervantes).to_i
90
+ # #=> 10
91
+ #
92
+ # This shows that in fact they died 10 days apart (in reality 11 days since
93
+ # Cervantes died a day earlier but was buried on the 23rd). We can see the
94
+ # actual date of Shakespeare's death by using the #gregorian method to convert
95
+ # it:
96
+ #
97
+ # shakespeare.gregorian
98
+ # #=> Tue, 03 May 1616 00:00:00 +0000
99
+ #
100
+ # So there's an argument that all the celebrations that take place on the 23rd
101
+ # April in Stratford-upon-Avon are actually the wrong date since England is now
102
+ # using the Gregorian calendar. You can see why when we transition across the
103
+ # reform date boundary:
104
+ #
105
+ # # start off with the anniversary of Shakespeare's birth in 1751
106
+ # shakespeare = DateTime.iso8601('1751-04-23', Date::ENGLAND)
107
+ # #=> Tue, 23 Apr 1751 00:00:00 +0000
108
+ #
109
+ # # add 366 days since 1752 is a leap year and April 23 is after February 29
110
+ # shakespeare + 366
111
+ # #=> Thu, 23 Apr 1752 00:00:00 +0000
112
+ #
113
+ # # add another 365 days to take us to the anniversary in 1753
114
+ # shakespeare + 366 + 365
115
+ # #=> Fri, 04 May 1753 00:00:00 +0000
116
+ #
117
+ # As you can see, if we're accurately tracking the number of [solar
118
+ # years](https://en.wikipedia.org/wiki/Tropical_year) since Shakespeare's
119
+ # birthday then the correct anniversary date would be the 4th May and not the
120
+ # 23rd April.
121
+ #
122
+ # So when should you use DateTime in Ruby and when should you use Time? Almost
123
+ # certainly you'll want to use Time since your app is probably dealing with
124
+ # current dates and times. However, if you need to deal with dates and times in
125
+ # a historical context you'll want to use DateTime to avoid making the same
126
+ # mistakes as UNESCO. If you also have to deal with timezones then best of luck
127
+ # - just bear in mind that you'll probably be dealing with [local solar
128
+ # times](https://en.wikipedia.org/wiki/Solar_time), since it wasn't until the
129
+ # 19th century that the introduction of the railways necessitated the need for
130
+ # [Standard Time](https://en.wikipedia.org/wiki/Standard_time#Great_Britain) and
131
+ # eventually timezones.
132
+ #
133
+ class DateTime < Date
134
+ # <!--
135
+ # rdoc-file=ext/date/date_core.c
136
+ # - new(*args)
137
+ # -->
138
+ # Same as DateTime.new.
139
+ #
140
+ def initialize: (?Integer year, ?Integer month, ?Integer mday, ?Integer hour, ?Integer minute, ?Integer second, ?Integer offset, ?Integer start) -> void
141
+
142
+ # <!--
143
+ # rdoc-file=ext/date/date_core.c
144
+ # - DateTime._strptime(string[, format='%FT%T%z']) -> hash
145
+ # -->
146
+ # Parses the given representation of date and time with the given template, and
147
+ # returns a hash of parsed elements. _strptime does not support specification
148
+ # of flags and width unlike strftime.
149
+ #
150
+ # See also strptime(3) and #strftime.
151
+ #
152
+ def self._strptime: (String str, ?String format) -> Hash[Symbol, Integer | String]
153
+
154
+ # <!--
155
+ # rdoc-file=ext/date/date_core.c
156
+ # - civil(*args)
157
+ # -->
158
+ # Same as DateTime.new.
159
+ #
160
+ def self.civil: (?Integer year, ?Integer month, ?Integer mday, ?Integer hour, ?Integer minute, ?Integer second, ?Integer offset, ?Integer start) -> DateTime
161
+
162
+ # <!--
163
+ # rdoc-file=ext/date/date_core.c
164
+ # - DateTime.commercial([cwyear=-4712[, cweek=1[, cwday=1[, hour=0[, minute=0[, second=0[, offset=0[, start=Date::ITALY]]]]]]]]) -> datetime
165
+ # -->
166
+ # Creates a DateTime object denoting the given week date.
167
+ #
168
+ # DateTime.commercial(2001) #=> #<DateTime: 2001-01-01T00:00:00+00:00 ...>
169
+ # DateTime.commercial(2002) #=> #<DateTime: 2001-12-31T00:00:00+00:00 ...>
170
+ # DateTime.commercial(2001,5,6,4,5,6,'+7')
171
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
172
+ #
173
+ def self.commercial: (?Integer cwyear, ?Integer cweek, ?Integer cwday, ?Integer hour, ?Integer minute, ?Integer second, ?Integer offset, ?Integer start) -> DateTime
174
+
175
+ # <!--
176
+ # rdoc-file=ext/date/date_core.c
177
+ # - DateTime.httpdate(string='Mon, 01 Jan -4712 00:00:00 GMT'[, start=Date::ITALY]) -> datetime
178
+ # -->
179
+ # Creates a new DateTime object by parsing from a string according to some RFC
180
+ # 2616 format.
181
+ #
182
+ # DateTime.httpdate('Sat, 03 Feb 2001 04:05:06 GMT')
183
+ # #=> #<DateTime: 2001-02-03T04:05:06+00:00 ...>
184
+ #
185
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
186
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
187
+ # a long time to parse.
188
+ #
189
+ def self.httpdate: (String str, ?Integer start) -> DateTime
190
+
191
+ # <!--
192
+ # rdoc-file=ext/date/date_core.c
193
+ # - DateTime.iso8601(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
194
+ # -->
195
+ # Creates a new DateTime object by parsing from a string according to some
196
+ # typical ISO 8601 formats.
197
+ #
198
+ # DateTime.iso8601('2001-02-03T04:05:06+07:00')
199
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
200
+ # DateTime.iso8601('20010203T040506+0700')
201
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
202
+ # DateTime.iso8601('2001-W05-6T04:05:06+07:00')
203
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
204
+ #
205
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
206
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
207
+ # a long time to parse.
208
+ #
209
+ def self.iso8601: (String str, ?Integer start) -> DateTime
210
+
211
+ # <!--
212
+ # rdoc-file=ext/date/date_core.c
213
+ # - DateTime.jd([jd=0[, hour=0[, minute=0[, second=0[, offset=0[, start=Date::ITALY]]]]]]) -> datetime
214
+ # -->
215
+ # Creates a DateTime object denoting the given chronological Julian day number.
216
+ #
217
+ # DateTime.jd(2451944) #=> #<DateTime: 2001-02-03T00:00:00+00:00 ...>
218
+ # DateTime.jd(2451945) #=> #<DateTime: 2001-02-04T00:00:00+00:00 ...>
219
+ # DateTime.jd(Rational('0.5'))
220
+ # #=> #<DateTime: -4712-01-01T12:00:00+00:00 ...>
221
+ #
222
+ def self.jd: (?Integer jd, ?Integer hour, ?Integer minute, ?Integer second, ?Integer offset, ?Integer start) -> DateTime
223
+
224
+ # <!--
225
+ # rdoc-file=ext/date/date_core.c
226
+ # - DateTime.jisx0301(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
227
+ # -->
228
+ # Creates a new DateTime object by parsing from a string according to some
229
+ # typical JIS X 0301 formats.
230
+ #
231
+ # DateTime.jisx0301('H13.02.03T04:05:06+07:00')
232
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
233
+ #
234
+ # For no-era year, legacy format, Heisei is assumed.
235
+ #
236
+ # DateTime.jisx0301('13.02.03T04:05:06+07:00')
237
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
238
+ #
239
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
240
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
241
+ # a long time to parse.
242
+ #
243
+ def self.jisx0301: (String str, ?Integer start) -> DateTime
244
+
245
+ # <!--
246
+ # rdoc-file=ext/date/date_core.c
247
+ # - DateTime.now([start=Date::ITALY]) -> datetime
248
+ # -->
249
+ # Creates a DateTime object denoting the present time.
250
+ #
251
+ # DateTime.now #=> #<DateTime: 2011-06-11T21:20:44+09:00 ...>
252
+ #
253
+ def self.now: (?Integer start) -> DateTime
254
+
255
+ # <!--
256
+ # rdoc-file=ext/date/date_core.c
257
+ # - DateTime.ordinal([year=-4712[, yday=1[, hour=0[, minute=0[, second=0[, offset=0[, start=Date::ITALY]]]]]]]) -> datetime
258
+ # -->
259
+ # Creates a DateTime object denoting the given ordinal date.
260
+ #
261
+ # DateTime.ordinal(2001,34) #=> #<DateTime: 2001-02-03T00:00:00+00:00 ...>
262
+ # DateTime.ordinal(2001,34,4,5,6,'+7')
263
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
264
+ # DateTime.ordinal(2001,-332,-20,-55,-54,'+7')
265
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
266
+ #
267
+ def self.ordinal: (?Integer year, ?Integer yday, ?Integer hour, ?Integer minute, ?Integer second, ?Integer offset, ?Integer start) -> DateTime
268
+
269
+ # <!--
270
+ # rdoc-file=ext/date/date_core.c
271
+ # - DateTime.parse(string='-4712-01-01T00:00:00+00:00'[, comp=true[, start=Date::ITALY]], limit: 128) -> datetime
272
+ # -->
273
+ # Parses the given representation of date and time, and creates a DateTime
274
+ # object.
275
+ #
276
+ # This method **does** **not** function as a validator. If the input string
277
+ # does not match valid formats strictly, you may get a cryptic result. Should
278
+ # consider to use DateTime.strptime instead of this method as possible.
279
+ #
280
+ # If the optional second argument is true and the detected year is in the range
281
+ # "00" to "99", makes it full.
282
+ #
283
+ # DateTime.parse('2001-02-03T04:05:06+07:00')
284
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
285
+ # DateTime.parse('20010203T040506+0700')
286
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
287
+ # DateTime.parse('3rd Feb 2001 04:05:06 PM')
288
+ # #=> #<DateTime: 2001-02-03T16:05:06+00:00 ...>
289
+ #
290
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
291
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
292
+ # a long time to parse.
293
+ #
294
+ def self.parse: (String str, ?boolish complete, ?Integer start) -> DateTime
295
+
296
+ # <!--
297
+ # rdoc-file=ext/date/date_core.c
298
+ # - DateTime.rfc2822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> datetime
299
+ # - DateTime.rfc822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> datetime
300
+ # -->
301
+ # Creates a new DateTime object by parsing from a string according to some
302
+ # typical RFC 2822 formats.
303
+ #
304
+ # DateTime.rfc2822('Sat, 3 Feb 2001 04:05:06 +0700')
305
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
306
+ #
307
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
308
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
309
+ # a long time to parse.
310
+ #
311
+ def self.rfc2822: (String str, ?Integer start) -> DateTime
312
+
313
+ # <!--
314
+ # rdoc-file=ext/date/date_core.c
315
+ # - DateTime.rfc3339(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
316
+ # -->
317
+ # Creates a new DateTime object by parsing from a string according to some
318
+ # typical RFC 3339 formats.
319
+ #
320
+ # DateTime.rfc3339('2001-02-03T04:05:06+07:00')
321
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
322
+ #
323
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
324
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
325
+ # a long time to parse.
326
+ #
327
+ def self.rfc3339: (String str, ?Integer start) -> DateTime
328
+
329
+ # <!--
330
+ # rdoc-file=ext/date/date_core.c
331
+ # - DateTime.rfc2822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> datetime
332
+ # - DateTime.rfc822(string='Mon, 1 Jan -4712 00:00:00 +0000'[, start=Date::ITALY], limit: 128) -> datetime
333
+ # -->
334
+ # Creates a new DateTime object by parsing from a string according to some
335
+ # typical RFC 2822 formats.
336
+ #
337
+ # DateTime.rfc2822('Sat, 3 Feb 2001 04:05:06 +0700')
338
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
339
+ #
340
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
341
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
342
+ # a long time to parse.
343
+ #
344
+ def self.rfc822: (String str, ?Integer start) -> DateTime
345
+
346
+ # <!--
347
+ # rdoc-file=ext/date/date_core.c
348
+ # - DateTime.strptime([string='-4712-01-01T00:00:00+00:00'[, format='%FT%T%z'[ ,start=Date::ITALY]]]) -> datetime
349
+ # -->
350
+ # Parses the given representation of date and time with the given template, and
351
+ # creates a DateTime object. strptime does not support specification of flags
352
+ # and width unlike strftime.
353
+ #
354
+ # DateTime.strptime('2001-02-03T04:05:06+07:00', '%Y-%m-%dT%H:%M:%S%z')
355
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
356
+ # DateTime.strptime('03-02-2001 04:05:06 PM', '%d-%m-%Y %I:%M:%S %p')
357
+ # #=> #<DateTime: 2001-02-03T16:05:06+00:00 ...>
358
+ # DateTime.strptime('2001-W05-6T04:05:06+07:00', '%G-W%V-%uT%H:%M:%S%z')
359
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
360
+ # DateTime.strptime('2001 04 6 04 05 06 +7', '%Y %U %w %H %M %S %z')
361
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
362
+ # DateTime.strptime('2001 05 6 04 05 06 +7', '%Y %W %u %H %M %S %z')
363
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
364
+ # DateTime.strptime('-1', '%s')
365
+ # #=> #<DateTime: 1969-12-31T23:59:59+00:00 ...>
366
+ # DateTime.strptime('-1000', '%Q')
367
+ # #=> #<DateTime: 1969-12-31T23:59:59+00:00 ...>
368
+ # DateTime.strptime('sat3feb014pm+7', '%a%d%b%y%H%p%z')
369
+ # #=> #<DateTime: 2001-02-03T16:00:00+07:00 ...>
370
+ #
371
+ # See also strptime(3) and #strftime.
372
+ #
373
+ def self.strptime: (String str, ?String format, ?Integer start) -> DateTime
374
+
375
+ # <!--
376
+ # rdoc-file=ext/date/date_core.c
377
+ # - DateTime.xmlschema(string='-4712-01-01T00:00:00+00:00'[, start=Date::ITALY], limit: 128) -> datetime
378
+ # -->
379
+ # Creates a new DateTime object by parsing from a string according to some
380
+ # typical XML Schema formats.
381
+ #
382
+ # DateTime.xmlschema('2001-02-03T04:05:06+07:00')
383
+ # #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
384
+ #
385
+ # Raise an ArgumentError when the string length is longer than *limit*. You can
386
+ # stop this check by passing <code>limit: nil</code>, but note that it may take
387
+ # a long time to parse.
388
+ #
389
+ def self.xmlschema: (String str, ?Integer start) -> DateTime
390
+
391
+ # <!--
392
+ # rdoc-file=ext/date/date_core.c
393
+ # - deconstruct_keys(array_of_names_or_nil) -> hash
394
+ # -->
395
+ # Returns a hash of the name/value pairs, to use in pattern matching. Possible
396
+ # keys are: <code>:year</code>, <code>:month</code>, <code>:day</code>,
397
+ # <code>:wday</code>, <code>:yday</code>, <code>:hour</code>, <code>:min</code>,
398
+ # <code>:sec</code>, <code>:sec_fraction</code>, <code>:zone</code>.
399
+ #
400
+ # Possible usages:
401
+ #
402
+ # dt = DateTime.new(2022, 10, 5, 13, 30)
403
+ #
404
+ # if d in wday: 1..5, hour: 10..18 # uses deconstruct_keys underneath
405
+ # puts "Working time"
406
+ # end
407
+ # #=> prints "Working time"
408
+ #
409
+ # case dt
410
+ # in year: ...2022
411
+ # puts "too old"
412
+ # in month: ..9
413
+ # puts "quarter 1-3"
414
+ # in wday: 1..5, month:
415
+ # puts "working day in month #{month}"
416
+ # end
417
+ # #=> prints "working day in month 10"
418
+ #
419
+ # Note that deconstruction by pattern can also be combined with class check:
420
+ #
421
+ # if d in DateTime(wday: 1..5, hour: 10..18, day: ..7)
422
+ # puts "Working time, first week of the month"
423
+ # end
424
+ #
425
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, untyped]
426
+
427
+ # <!--
428
+ # rdoc-file=ext/date/date_core.c
429
+ # - hour -> integer
430
+ # -->
431
+ # Returns the hour in range (0..23):
432
+ #
433
+ # DateTime.new(2001, 2, 3, 4, 5, 6).hour # => 4
434
+ #
435
+ def hour: () -> Integer
436
+
437
+ # <!--
438
+ # rdoc-file=ext/date/date_core.c
439
+ # - dt.iso8601([n=0]) -> string
440
+ # - dt.xmlschema([n=0]) -> string
441
+ # -->
442
+ # This method is equivalent to strftime('%FT%T%:z'). The optional argument `n`
443
+ # is the number of digits for fractional seconds.
444
+ #
445
+ # DateTime.parse('2001-02-03T04:05:06.123456789+07:00').iso8601(9)
446
+ # #=> "2001-02-03T04:05:06.123456789+07:00"
447
+ #
448
+ def iso8601: (?Integer n) -> String
449
+
450
+ # <!--
451
+ # rdoc-file=ext/date/date_core.c
452
+ # - dt.jisx0301([n=0]) -> string
453
+ # -->
454
+ # Returns a string in a JIS X 0301 format. The optional argument `n` is the
455
+ # number of digits for fractional seconds.
456
+ #
457
+ # DateTime.parse('2001-02-03T04:05:06.123456789+07:00').jisx0301(9)
458
+ # #=> "H13.02.03T04:05:06.123456789+07:00"
459
+ #
460
+ def jisx0301: (?Integer n) -> String
461
+
462
+ # <!--
463
+ # rdoc-file=ext/date/date_core.c
464
+ # - min -> integer
465
+ # -->
466
+ # Returns the minute in range (0..59):
467
+ #
468
+ # DateTime.new(2001, 2, 3, 4, 5, 6).min # => 5
469
+ #
470
+ def min: () -> Integer
471
+
472
+ # <!-- rdoc-file=ext/date/date_core.c -->
473
+ # Returns the minute in range (0..59):
474
+ #
475
+ # DateTime.new(2001, 2, 3, 4, 5, 6).min # => 5
476
+ #
477
+ def minute: () -> Integer
478
+
479
+ # <!--
480
+ # rdoc-file=ext/date/date_core.c
481
+ # - d.new_offset([offset=0]) -> date
482
+ # -->
483
+ # Duplicates self and resets its offset.
484
+ #
485
+ # d = DateTime.new(2001,2,3,4,5,6,'-02:00')
486
+ # #=> #<DateTime: 2001-02-03T04:05:06-02:00 ...>
487
+ # d.new_offset('+09:00') #=> #<DateTime: 2001-02-03T15:05:06+09:00 ...>
488
+ #
489
+ def new_offset: (?String offset) -> DateTime
490
+
491
+ # <!--
492
+ # rdoc-file=ext/date/date_core.c
493
+ # - d.offset -> rational
494
+ # -->
495
+ # Returns the offset.
496
+ #
497
+ # DateTime.parse('04pm+0730').offset #=> (5/16)
498
+ #
499
+ def offset: () -> Rational
500
+
501
+ # <!--
502
+ # rdoc-file=ext/date/date_core.c
503
+ # - dt.rfc3339([n=0]) -> string
504
+ # -->
505
+ # This method is equivalent to strftime('%FT%T%:z'). The optional argument `n`
506
+ # is the number of digits for fractional seconds.
507
+ #
508
+ # DateTime.parse('2001-02-03T04:05:06.123456789+07:00').rfc3339(9)
509
+ # #=> "2001-02-03T04:05:06.123456789+07:00"
510
+ #
511
+ def rfc3339: (?Integer n) -> String
512
+
513
+ # <!--
514
+ # rdoc-file=ext/date/date_core.c
515
+ # - sec -> integer
516
+ # -->
517
+ # Returns the second in range (0..59):
518
+ #
519
+ # DateTime.new(2001, 2, 3, 4, 5, 6).sec # => 6
520
+ #
521
+ def sec: () -> Integer
522
+
523
+ # <!--
524
+ # rdoc-file=ext/date/date_core.c
525
+ # - sec_fraction -> rational
526
+ # -->
527
+ # Returns the fractional part of the second in range (Rational(0,
528
+ # 1)...Rational(1, 1)):
529
+ #
530
+ # DateTime.new(2001, 2, 3, 4, 5, 6.5).sec_fraction # => (1/2)
531
+ #
532
+ def sec_fraction: () -> Rational
533
+
534
+ # <!-- rdoc-file=ext/date/date_core.c -->
535
+ # Returns the second in range (0..59):
536
+ #
537
+ # DateTime.new(2001, 2, 3, 4, 5, 6).sec # => 6
538
+ #
539
+ def second: () -> Integer
540
+
541
+ # <!-- rdoc-file=ext/date/date_core.c -->
542
+ # Returns the fractional part of the second in range (Rational(0,
543
+ # 1)...Rational(1, 1)):
544
+ #
545
+ # DateTime.new(2001, 2, 3, 4, 5, 6.5).sec_fraction # => (1/2)
546
+ #
547
+ def second_fraction: () -> Rational
548
+
549
+ # <!--
550
+ # rdoc-file=ext/date/date_core.c
551
+ # - strftime(format = '%FT%T%:z') -> string
552
+ # -->
553
+ # Returns a string representation of `self`, formatted according the given
554
+ # +format:
555
+ #
556
+ # DateTime.now.strftime # => "2022-07-01T11:03:19-05:00"
557
+ #
558
+ # For other formats, see [Formats for Dates and
559
+ # Times](rdoc-ref:language/strftime_formatting.rdoc):
560
+ #
561
+ def strftime: (?String format) -> String
562
+
563
+ # <!--
564
+ # rdoc-file=ext/date/date_core.c
565
+ # - dt.to_date -> date
566
+ # -->
567
+ # Returns a Date object which denotes self.
568
+ #
569
+ def to_date: () -> Date
570
+
571
+ # <!--
572
+ # rdoc-file=ext/date/date_core.c
573
+ # - dt.to_datetime -> self
574
+ # -->
575
+ # Returns self.
576
+ #
577
+ def to_datetime: () -> DateTime
578
+
579
+ # <!--
580
+ # rdoc-file=ext/date/date_core.c
581
+ # - dt.to_s -> string
582
+ # -->
583
+ # Returns a string in an ISO 8601 format. (This method doesn't use the expanded
584
+ # representations.)
585
+ #
586
+ # DateTime.new(2001,2,3,4,5,6,'-7').to_s
587
+ # #=> "2001-02-03T04:05:06-07:00"
588
+ #
589
+ def to_s: () -> String
590
+
591
+ # <!--
592
+ # rdoc-file=ext/date/date_core.c
593
+ # - dt.to_time -> time
594
+ # -->
595
+ # Returns a Time object which denotes self.
596
+ #
597
+ def to_time: () -> Time
598
+
599
+ # <!-- rdoc-file=ext/date/date_core.c -->
600
+ # This method is equivalent to strftime('%FT%T%:z'). The optional argument `n`
601
+ # is the number of digits for fractional seconds.
602
+ #
603
+ # DateTime.parse('2001-02-03T04:05:06.123456789+07:00').iso8601(9)
604
+ # #=> "2001-02-03T04:05:06.123456789+07:00"
605
+ #
606
+ def xmlschema: (?Integer n) -> String
607
+
608
+ # <!--
609
+ # rdoc-file=ext/date/date_core.c
610
+ # - d.zone -> string
611
+ # -->
612
+ # Returns the timezone.
613
+ #
614
+ # DateTime.parse('04pm+0730').zone #=> "+07:30"
615
+ #
616
+ def zone: () -> String
617
+ end
@@ -0,0 +1,26 @@
1
+ %a{annotate:rdoc:skip}
2
+ class Time
3
+ # <!--
4
+ # rdoc-file=ext/date/date_core.c
5
+ # - t.to_time -> time
6
+ # -->
7
+ # Returns self.
8
+ #
9
+ def to_time: () -> Time
10
+
11
+ # <!--
12
+ # rdoc-file=ext/date/date_core.c
13
+ # - t.to_date -> date
14
+ # -->
15
+ # Returns a Date object which denotes self.
16
+ #
17
+ def to_date: () -> Date
18
+
19
+ # <!--
20
+ # rdoc-file=ext/date/date_core.c
21
+ # - t.to_datetime -> datetime
22
+ # -->
23
+ # Returns a DateTime object which denotes self.
24
+ #
25
+ def to_datetime: () -> DateTime
26
+ end