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,428 @@
1
+ # <!-- rdoc-file=lib/ipaddr.rb -->
2
+ # IPAddr provides a set of methods to manipulate an IP address. Both IPv4 and
3
+ # IPv6 are supported.
4
+ #
5
+ # ## Example
6
+ #
7
+ # require 'ipaddr'
8
+ #
9
+ # ipaddr1 = IPAddr.new "3ffe:505:2::1"
10
+ #
11
+ # p ipaddr1 #=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>
12
+ #
13
+ # p ipaddr1.to_s #=> "3ffe:505:2::1"
14
+ #
15
+ # ipaddr2 = ipaddr1.mask(48) #=> #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0000/ffff:ffff:ffff:0000:0000:0000:0000:0000>
16
+ #
17
+ # p ipaddr2.to_s #=> "3ffe:505:2::"
18
+ #
19
+ # ipaddr3 = IPAddr.new "192.168.2.0/24"
20
+ #
21
+ # p ipaddr3 #=> #<IPAddr: IPv4:192.168.2.0/255.255.255.0>
22
+ #
23
+ class IPAddr
24
+ include Comparable
25
+
26
+ # <!--
27
+ # rdoc-file=lib/ipaddr.rb
28
+ # - new_ntoh(addr)
29
+ # -->
30
+ # Creates a new ipaddr containing the given network byte ordered string form of
31
+ # an IP address.
32
+ #
33
+ def self.new_ntoh: (String addr) -> IPAddr
34
+
35
+ # <!--
36
+ # rdoc-file=lib/ipaddr.rb
37
+ # - ntop(addr)
38
+ # -->
39
+ # Convert a network byte ordered string form of an IP address into human
40
+ # readable form. It expects the string to be encoded in Encoding::ASCII_8BIT
41
+ # (BINARY).
42
+ #
43
+ def self.ntop: (String addr) -> String
44
+
45
+ # <!--
46
+ # rdoc-file=lib/ipaddr.rb
47
+ # - new(addr = '::', family = Socket::AF_UNSPEC)
48
+ # -->
49
+ # Creates a new ipaddr object either from a human readable IP address
50
+ # representation in string, or from a packed in_addr value followed by an
51
+ # address family.
52
+ #
53
+ # In the former case, the following are the valid formats that will be
54
+ # recognized: "address", "address/prefixlen" and "address/mask", where IPv6
55
+ # address may be enclosed in square brackets (`[' and `]'). If a prefixlen or a
56
+ # mask is specified, it returns a masked IP address. Although the address
57
+ # family is determined automatically from a specified string, you can specify
58
+ # one explicitly by the optional second argument.
59
+ #
60
+ # Otherwise an IP address is generated from a packed in_addr value and an
61
+ # address family.
62
+ #
63
+ # The IPAddr class defines many methods and operators, and some of those, such
64
+ # as &, |, include? and ==, accept a string, or a packed in_addr value instead
65
+ # of an IPAddr object.
66
+ #
67
+ def initialize: (?String addr, ?untyped family) -> void
68
+
69
+ # <!--
70
+ # rdoc-file=lib/ipaddr.rb
71
+ # - &(other)
72
+ # -->
73
+ # Returns a new ipaddr built by bitwise AND.
74
+ #
75
+ def &: (untyped other) -> IPAddr
76
+
77
+ # <!--
78
+ # rdoc-file=lib/ipaddr.rb
79
+ # - <<(num)
80
+ # -->
81
+ # Returns a new ipaddr built by bitwise left shift.
82
+ #
83
+ def <<: (Integer num) -> IPAddr
84
+
85
+ # <!--
86
+ # rdoc-file=lib/ipaddr.rb
87
+ # - <=>(other)
88
+ # -->
89
+ # Compares the ipaddr with another.
90
+ #
91
+ def <=>: (untyped other) -> Integer?
92
+
93
+ # <!--
94
+ # rdoc-file=lib/ipaddr.rb
95
+ # - ==(other)
96
+ # -->
97
+ # Returns true if two ipaddrs are equal.
98
+ #
99
+ def ==: (untyped other) -> bool
100
+
101
+ # <!--
102
+ # rdoc-file=lib/ipaddr.rb
103
+ # - ===(other)
104
+ # -->
105
+ #
106
+ alias === include?
107
+
108
+ # <!--
109
+ # rdoc-file=lib/ipaddr.rb
110
+ # - >>(num)
111
+ # -->
112
+ # Returns a new ipaddr built by bitwise right-shift.
113
+ #
114
+ def >>: (Integer num) -> IPAddr
115
+
116
+ # <!--
117
+ # rdoc-file=lib/ipaddr.rb
118
+ # - eql?(other)
119
+ # -->
120
+ # Checks equality used by Hash.
121
+ #
122
+ def eql?: (untyped other) -> bool
123
+
124
+ # <!-- rdoc-file=lib/ipaddr.rb -->
125
+ # Returns the address family of this IP address.
126
+ #
127
+ attr_reader family: Integer
128
+
129
+ # <!--
130
+ # rdoc-file=lib/ipaddr.rb
131
+ # - hash()
132
+ # -->
133
+ # Returns a hash value used by Hash, Set, and Array classes
134
+ #
135
+ def hash: () -> Integer
136
+
137
+ # <!--
138
+ # rdoc-file=lib/ipaddr.rb
139
+ # - hton()
140
+ # -->
141
+ # Returns a network byte ordered string form of the IP address.
142
+ #
143
+ def hton: () -> String
144
+
145
+ # <!--
146
+ # rdoc-file=lib/ipaddr.rb
147
+ # - include?(other)
148
+ # -->
149
+ # Returns true if the given ipaddr is in the range.
150
+ #
151
+ # e.g.:
152
+ # require 'ipaddr'
153
+ # net1 = IPAddr.new("192.168.2.0/24")
154
+ # net2 = IPAddr.new("192.168.2.100")
155
+ # net3 = IPAddr.new("192.168.3.0")
156
+ # net4 = IPAddr.new("192.168.2.0/16")
157
+ # p net1.include?(net2) #=> true
158
+ # p net1.include?(net3) #=> false
159
+ # p net1.include?(net4) #=> false
160
+ # p net4.include?(net1) #=> true
161
+ #
162
+ def include?: (untyped other) -> bool
163
+
164
+ # <!--
165
+ # rdoc-file=lib/ipaddr.rb
166
+ # - inspect()
167
+ # -->
168
+ # Returns a string containing a human-readable representation of the ipaddr.
169
+ # ("#<IPAddr: family:address/mask>")
170
+ #
171
+ def inspect: () -> String
172
+
173
+ # <!--
174
+ # rdoc-file=lib/ipaddr.rb
175
+ # - ip6_arpa()
176
+ # -->
177
+ # Returns a string for DNS reverse lookup compatible with RFC3172.
178
+ #
179
+ def ip6_arpa: () -> String
180
+
181
+ # <!--
182
+ # rdoc-file=lib/ipaddr.rb
183
+ # - ip6_int()
184
+ # -->
185
+ # Returns a string for DNS reverse lookup compatible with RFC1886.
186
+ #
187
+ def ip6_int: () -> String
188
+
189
+ # <!--
190
+ # rdoc-file=lib/ipaddr.rb
191
+ # - ipv4?()
192
+ # -->
193
+ # Returns true if the ipaddr is an IPv4 address.
194
+ #
195
+ def ipv4?: () -> bool
196
+
197
+ # <!--
198
+ # rdoc-file=lib/ipaddr.rb
199
+ # - ipv4_compat()
200
+ # -->
201
+ # Returns a new ipaddr built by converting the native IPv4 address into an
202
+ # IPv4-compatible IPv6 address.
203
+ #
204
+ def ipv4_compat: () -> IPAddr
205
+
206
+ # <!--
207
+ # rdoc-file=lib/ipaddr.rb
208
+ # - ipv4_compat?()
209
+ # -->
210
+ # Returns true if the ipaddr is an IPv4-compatible IPv6 address.
211
+ #
212
+ def ipv4_compat?: () -> bool
213
+
214
+ # <!--
215
+ # rdoc-file=lib/ipaddr.rb
216
+ # - ipv4_mapped()
217
+ # -->
218
+ # Returns a new ipaddr built by converting the native IPv4 address into an
219
+ # IPv4-mapped IPv6 address.
220
+ #
221
+ def ipv4_mapped: () -> IPAddr
222
+
223
+ # <!--
224
+ # rdoc-file=lib/ipaddr.rb
225
+ # - ipv4_mapped?()
226
+ # -->
227
+ # Returns true if the ipaddr is an IPv4-mapped IPv6 address.
228
+ #
229
+ def ipv4_mapped?: () -> bool
230
+
231
+ # <!--
232
+ # rdoc-file=lib/ipaddr.rb
233
+ # - ipv6?()
234
+ # -->
235
+ # Returns true if the ipaddr is an IPv6 address.
236
+ #
237
+ def ipv6?: () -> bool
238
+
239
+ # <!--
240
+ # rdoc-file=lib/ipaddr.rb
241
+ # - link_local?()
242
+ # -->
243
+ # Returns true if the ipaddr is a link-local address. IPv4 addresses in
244
+ # 169.254.0.0/16 reserved by RFC 3927 and link-local IPv6 Unicast Addresses in
245
+ # fe80::/10 reserved by RFC 4291 are considered link-local. Link-local IPv4
246
+ # addresses in the IPv4-mapped IPv6 address range are also considered
247
+ # link-local.
248
+ #
249
+ def link_local?: () -> bool
250
+
251
+ # <!--
252
+ # rdoc-file=lib/ipaddr.rb
253
+ # - loopback?()
254
+ # -->
255
+ # Returns true if the ipaddr is a loopback address. Loopback IPv4 addresses in
256
+ # the IPv4-mapped IPv6 address range are also considered as loopback addresses.
257
+ #
258
+ def loopback?: () -> bool
259
+
260
+ # <!--
261
+ # rdoc-file=lib/ipaddr.rb
262
+ # - mask(prefixlen)
263
+ # -->
264
+ # Returns a new ipaddr built by masking IP address with the given
265
+ # prefixlen/netmask. (e.g. 8, 64, "255.255.255.0", etc.)
266
+ #
267
+ def mask: (String | Integer prefixlen) -> IPAddr
268
+
269
+ # <!--
270
+ # rdoc-file=lib/ipaddr.rb
271
+ # - native()
272
+ # -->
273
+ # Returns a new ipaddr built by converting the IPv6 address into a native IPv4
274
+ # address. If the IP address is not an IPv4-mapped or IPv4-compatible IPv6
275
+ # address, returns self.
276
+ #
277
+ def native: () -> IPAddr
278
+
279
+ # <!--
280
+ # rdoc-file=lib/ipaddr.rb
281
+ # - prefix()
282
+ # -->
283
+ # Returns the prefix length in bits for the ipaddr.
284
+ #
285
+ def prefix: () -> Integer
286
+
287
+ # <!--
288
+ # rdoc-file=lib/ipaddr.rb
289
+ # - prefix=(prefix)
290
+ # -->
291
+ # Sets the prefix length in bits
292
+ #
293
+ def prefix=: (Integer prefix) -> self
294
+
295
+ # <!--
296
+ # rdoc-file=lib/ipaddr.rb
297
+ # - private?()
298
+ # -->
299
+ # Returns true if the ipaddr is a private address. IPv4 addresses in
300
+ # 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16 as defined in RFC 1918 and IPv6
301
+ # Unique Local Addresses in fc00::/7 as defined in RFC 4193 are considered
302
+ # private. Private IPv4 addresses in the IPv4-mapped IPv6 address range are also
303
+ # considered private.
304
+ #
305
+ def private?: () -> bool
306
+
307
+ # <!--
308
+ # rdoc-file=lib/ipaddr.rb
309
+ # - reverse()
310
+ # -->
311
+ # Returns a string for DNS reverse lookup. It returns a string in RFC3172 form
312
+ # for an IPv6 address.
313
+ #
314
+ def reverse: () -> String
315
+
316
+ # <!--
317
+ # rdoc-file=lib/ipaddr.rb
318
+ # - succ()
319
+ # -->
320
+ # Returns the successor to the ipaddr.
321
+ #
322
+ def succ: () -> IPAddr
323
+
324
+ # <!--
325
+ # rdoc-file=lib/ipaddr.rb
326
+ # - to_i()
327
+ # -->
328
+ # Returns the integer representation of the ipaddr.
329
+ #
330
+ def to_i: () -> Integer
331
+
332
+ # <!--
333
+ # rdoc-file=lib/ipaddr.rb
334
+ # - to_range()
335
+ # -->
336
+ # Creates a Range object for the network address.
337
+ #
338
+ def to_range: () -> Range[IPAddr]
339
+
340
+ # <!--
341
+ # rdoc-file=lib/ipaddr.rb
342
+ # - to_s()
343
+ # -->
344
+ # Returns a string containing the IP address representation.
345
+ #
346
+ def to_s: () -> String
347
+
348
+ # <!--
349
+ # rdoc-file=lib/ipaddr.rb
350
+ # - to_string()
351
+ # -->
352
+ # Returns a string containing the IP address representation in canonical form.
353
+ #
354
+ def to_string: () -> String
355
+
356
+ # <!--
357
+ # rdoc-file=lib/ipaddr.rb
358
+ # - |(other)
359
+ # -->
360
+ # Returns a new ipaddr built by bitwise OR.
361
+ #
362
+ def |: (untyped other) -> IPAddr
363
+
364
+ # <!--
365
+ # rdoc-file=lib/ipaddr.rb
366
+ # - ~()
367
+ # -->
368
+ # Returns a new ipaddr built by bitwise negation.
369
+ #
370
+ def ~: () -> IPAddr
371
+ end
372
+
373
+ # <!-- rdoc-file=lib/ipaddr.rb -->
374
+ # Generic IPAddr related error. Exceptions raised in this class should inherit
375
+ # from Error.
376
+ #
377
+ class IPAddr::Error < ArgumentError
378
+ end
379
+
380
+ # <!-- rdoc-file=lib/ipaddr.rb -->
381
+ # Raised when the provided IP address is an invalid address.
382
+ #
383
+ class IPAddr::InvalidAddressError < IPAddr::Error
384
+ end
385
+
386
+ # <!-- rdoc-file=lib/ipaddr.rb -->
387
+ # Raised when the address family is invalid such as an address with an
388
+ # unsupported family, an address with an inconsistent family, or an address
389
+ # who's family cannot be determined.
390
+ #
391
+ class IPAddr::AddressFamilyError < IPAddr::Error
392
+ end
393
+
394
+ # <!-- rdoc-file=lib/ipaddr.rb -->
395
+ # Raised when the address is an invalid length.
396
+ #
397
+ class IPAddr::InvalidPrefixError < IPAddr::InvalidAddressError
398
+ end
399
+
400
+ # <!-- rdoc-file=lib/ipaddr.rb -->
401
+ # 32 bit mask for IPv4
402
+ #
403
+ IPAddr::IN4MASK: Integer
404
+
405
+ # <!-- rdoc-file=lib/ipaddr.rb -->
406
+ # Format string for IPv6
407
+ #
408
+ IPAddr::IN6FORMAT: String
409
+
410
+ # <!-- rdoc-file=lib/ipaddr.rb -->
411
+ # 128 bit mask for IPv6
412
+ #
413
+ IPAddr::IN6MASK: Integer
414
+
415
+ # <!-- rdoc-file=lib/ipaddr.rb -->
416
+ # Regexp *internally* used for parsing IPv4 address.
417
+ #
418
+ IPAddr::RE_IPV4ADDRLIKE: Regexp
419
+
420
+ # <!-- rdoc-file=lib/ipaddr.rb -->
421
+ # Regexp *internally* used for parsing IPv6 address.
422
+ #
423
+ IPAddr::RE_IPV6ADDRLIKE_COMPRESSED: Regexp
424
+
425
+ # <!-- rdoc-file=lib/ipaddr.rb -->
426
+ # Regexp *internally* used for parsing IPv6 address.
427
+ #
428
+ IPAddr::RE_IPV6ADDRLIKE_FULL: Regexp