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,1787 @@
1
+ # <!-- rdoc-file=lib/resolv.rb -->
2
+ # Resolv is a thread-aware DNS resolver library written in Ruby. Resolv can
3
+ # handle multiple DNS requests concurrently without blocking the entire Ruby
4
+ # interpreter.
5
+ #
6
+ # See also resolv-replace.rb to replace the libc resolver with Resolv.
7
+ #
8
+ # Resolv can look up various DNS resources using the DNS module directly.
9
+ #
10
+ # Examples:
11
+ #
12
+ # p Resolv.getaddress "www.ruby-lang.org"
13
+ # p Resolv.getname "210.251.121.214"
14
+ #
15
+ # Resolv::DNS.open do |dns|
16
+ # ress = dns.getresources "www.ruby-lang.org", Resolv::DNS::Resource::IN::A
17
+ # p ress.map(&:address)
18
+ # ress = dns.getresources "ruby-lang.org", Resolv::DNS::Resource::IN::MX
19
+ # p ress.map { |r| [r.exchange.to_s, r.preference] }
20
+ # end
21
+ #
22
+ # ## Bugs
23
+ #
24
+ # * NIS is not supported.
25
+ # * /etc/nsswitch.conf is not supported.
26
+ #
27
+ %a{annotate:rdoc:source:from=lib/resolv.rb}
28
+ class Resolv
29
+ # <!--
30
+ # rdoc-file=lib/resolv.rb
31
+ # - each_address(name, &block)
32
+ # -->
33
+ # Iterates over all IP addresses for `name`.
34
+ #
35
+ def self.each_address: (String name) { (String) -> void } -> void
36
+
37
+ # <!--
38
+ # rdoc-file=lib/resolv.rb
39
+ # - each_name(address, &proc)
40
+ # -->
41
+ # Iterates over all hostnames for `address`.
42
+ #
43
+ def self.each_name: (String address) { (String) -> void } -> void
44
+
45
+ # <!--
46
+ # rdoc-file=lib/resolv.rb
47
+ # - getaddress(name)
48
+ # -->
49
+ # Looks up the first IP address for `name`.
50
+ #
51
+ def self.getaddress: (String name) -> String
52
+
53
+ # <!--
54
+ # rdoc-file=lib/resolv.rb
55
+ # - getaddresses(name)
56
+ # -->
57
+ # Looks up all IP address for `name`.
58
+ #
59
+ def self.getaddresses: (String name) -> Array[String]
60
+
61
+ # <!--
62
+ # rdoc-file=lib/resolv.rb
63
+ # - getname(address)
64
+ # -->
65
+ # Looks up the hostname of `address`.
66
+ #
67
+ def self.getname: (String address) -> String
68
+
69
+ # <!--
70
+ # rdoc-file=lib/resolv.rb
71
+ # - getnames(address)
72
+ # -->
73
+ # Looks up all hostnames for `address`.
74
+ #
75
+ def self.getnames: (String address) -> Array[String]
76
+
77
+ # <!--
78
+ # rdoc-file=lib/resolv.rb
79
+ # - each_address(name) { |name| ... }
80
+ # -->
81
+ # Iterates over all IP addresses for `name`.
82
+ #
83
+ def each_address: (String name) { (String) -> void } -> void
84
+
85
+ # <!--
86
+ # rdoc-file=lib/resolv.rb
87
+ # - each_name(address) { |name| ... }
88
+ # -->
89
+ # Iterates over all hostnames for `address`.
90
+ #
91
+ def each_name: (String name) { (String) -> void } -> void
92
+
93
+ # <!--
94
+ # rdoc-file=lib/resolv.rb
95
+ # - getaddress(name)
96
+ # -->
97
+ # Looks up the first IP address for `name`.
98
+ #
99
+ def getaddress: (String name) -> String
100
+
101
+ # <!--
102
+ # rdoc-file=lib/resolv.rb
103
+ # - getaddresses(name)
104
+ # -->
105
+ # Looks up all IP address for `name`.
106
+ #
107
+ def getaddresses: (String name) -> Array[String]
108
+
109
+ # <!--
110
+ # rdoc-file=lib/resolv.rb
111
+ # - getname(address)
112
+ # -->
113
+ # Looks up the hostname of `address`.
114
+ #
115
+ def getname: (String address) -> String
116
+
117
+ # <!--
118
+ # rdoc-file=lib/resolv.rb
119
+ # - getnames(address)
120
+ # -->
121
+ # Looks up all hostnames for `address`.
122
+ #
123
+ def getnames: (String address) -> Array[String]
124
+
125
+ private
126
+
127
+ # <!--
128
+ # rdoc-file=lib/resolv.rb
129
+ # - new(resolvers=(arg_not_set = true; nil), use_ipv6: (keyword_not_set = true; nil))
130
+ # -->
131
+ # Creates a new Resolv using `resolvers`.
132
+ #
133
+ # If `resolvers` is not given, a hash, or `nil`, uses a Hosts resolver and and a
134
+ # DNS resolver. If `resolvers` is a hash, uses the hash as configuration for
135
+ # the DNS resolver.
136
+ #
137
+ def initialize: (?(Array[Resolv::Hosts | Resolv::DNS] | Hash[Symbol, untyped])? resolvers, ?use_ipv6: bool?) -> untyped
138
+ end
139
+
140
+ # <!-- rdoc-file=lib/resolv.rb -->
141
+ # Address Regexp to use for matching IP addresses.
142
+ #
143
+ Resolv::AddressRegex: Regexp
144
+
145
+ # <!-- rdoc-file=lib/resolv.rb -->
146
+ # Default resolver to use for Resolv class methods.
147
+ #
148
+ Resolv::DefaultResolver: Resolv
149
+
150
+ # <!-- rdoc-file=lib/resolv.rb -->
151
+ # Resolv::DNS is a DNS stub resolver.
152
+ #
153
+ # Information taken from the following places:
154
+ #
155
+ # * STD0013
156
+ # * RFC 1035
157
+ # * ftp://ftp.isi.edu/in-notes/iana/assignments/dns-parameters
158
+ # * etc.
159
+ #
160
+ class Resolv::DNS
161
+ type ip_address = Resolv::IPv4 | Resolv::IPv6
162
+
163
+ type dns_name = Name | String
164
+
165
+ def self.allocate_request_id: (String host, Integer port) -> Integer
166
+
167
+ def self.bind_random_port: (UDPSocket udpsock, ?String bind_host) -> void
168
+
169
+ def self.free_request_id: (String host, Integer port, Integer id) -> void
170
+
171
+ # <!--
172
+ # rdoc-file=lib/resolv.rb
173
+ # - open(*args) { |dns| ... }
174
+ # -->
175
+ # Creates a new DNS resolver. See Resolv::DNS.new for argument details.
176
+ #
177
+ # Yields the created DNS resolver to the block, if given, otherwise returns it.
178
+ #
179
+ def self.open: (*untyped args) -> instance
180
+ | (*untyped args) { (instance) -> void } -> void
181
+
182
+ def self.random: (Integer arg) -> (Integer | Float)
183
+
184
+ # <!--
185
+ # rdoc-file=lib/resolv.rb
186
+ # - close()
187
+ # -->
188
+ # Closes the DNS resolver.
189
+ #
190
+ def close: () -> untyped
191
+
192
+ # <!--
193
+ # rdoc-file=lib/resolv.rb
194
+ # - each_address(name) { |address| ... }
195
+ # -->
196
+ # Iterates over all IP addresses for `name` retrieved from the DNS resolver.
197
+ #
198
+ # `name` can be a Resolv::DNS::Name or a String. Retrieved addresses will be a
199
+ # Resolv::IPv4 or Resolv::IPv6
200
+ #
201
+ def each_address: (dns_name name) { (ip_address) -> void } -> void
202
+
203
+ # <!--
204
+ # rdoc-file=lib/resolv.rb
205
+ # - each_name(address) { |name| ... }
206
+ # -->
207
+ # Iterates over all hostnames for `address` retrieved from the DNS resolver.
208
+ #
209
+ # `address` must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved names
210
+ # will be Resolv::DNS::Name instances.
211
+ #
212
+ def each_name: (ip_address | dns_name address) { (Resolv::DNS::Name) -> void } -> void
213
+
214
+ # <!--
215
+ # rdoc-file=lib/resolv.rb
216
+ # - each_resource(name, typeclass, &proc)
217
+ # -->
218
+ # Iterates over all `typeclass` DNS resources for `name`. See #getresource for
219
+ # argument details.
220
+ #
221
+ def each_resource: (dns_name name, singleton(Resolv::DNS::Query) typeclass) { (Resolv::DNS::Resource) -> void } -> void
222
+
223
+ def extract_resources: (Resolv::DNS::Message msg, dns_name name, singleton(Resolv::DNS::Query) typeclass) { (Resolv::DNS::Resource) -> void } -> void
224
+
225
+ # <!--
226
+ # rdoc-file=lib/resolv.rb
227
+ # - fetch_resource(name, typeclass) { |reply, reply_name| ... }
228
+ # -->
229
+ #
230
+ def fetch_resource: (Resolv::DNS::Name name, singleton(Resolv::DNS::Query) typeclass) { (Resolv::DNS::Message, Resolv::DNS::Name) -> void } -> void
231
+
232
+ # <!--
233
+ # rdoc-file=lib/resolv.rb
234
+ # - getaddress(name)
235
+ # -->
236
+ # Gets the IP address of `name` from the DNS resolver.
237
+ #
238
+ # `name` can be a Resolv::DNS::Name or a String. Retrieved address will be a
239
+ # Resolv::IPv4 or Resolv::IPv6
240
+ #
241
+ def getaddress: (dns_name name) -> ip_address
242
+
243
+ # <!--
244
+ # rdoc-file=lib/resolv.rb
245
+ # - getaddresses(name)
246
+ # -->
247
+ # Gets all IP addresses for `name` from the DNS resolver.
248
+ #
249
+ # `name` can be a Resolv::DNS::Name or a String. Retrieved addresses will be a
250
+ # Resolv::IPv4 or Resolv::IPv6
251
+ #
252
+ def getaddresses: (dns_name name) -> Array[ip_address]
253
+
254
+ # <!--
255
+ # rdoc-file=lib/resolv.rb
256
+ # - getname(address)
257
+ # -->
258
+ # Gets the hostname for `address` from the DNS resolver.
259
+ #
260
+ # `address` must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved name
261
+ # will be a Resolv::DNS::Name.
262
+ #
263
+ def getname: (ip_address | dns_name address) -> Resolv::DNS::Name
264
+
265
+ # <!--
266
+ # rdoc-file=lib/resolv.rb
267
+ # - getnames(address)
268
+ # -->
269
+ # Gets all hostnames for `address` from the DNS resolver.
270
+ #
271
+ # `address` must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved names
272
+ # will be Resolv::DNS::Name instances.
273
+ #
274
+ def getnames: (ip_address | dns_name address) -> Array[Resolv::DNS::Name]
275
+
276
+ # <!--
277
+ # rdoc-file=lib/resolv.rb
278
+ # - getresource(name, typeclass)
279
+ # -->
280
+ # Look up the `typeclass` DNS resource of `name`.
281
+ #
282
+ # `name` must be a Resolv::DNS::Name or a String.
283
+ #
284
+ # `typeclass` should be one of the following:
285
+ #
286
+ # * Resolv::DNS::Resource::IN::A
287
+ # * Resolv::DNS::Resource::IN::AAAA
288
+ # * Resolv::DNS::Resource::IN::ANY
289
+ # * Resolv::DNS::Resource::IN::CNAME
290
+ # * Resolv::DNS::Resource::IN::HINFO
291
+ # * Resolv::DNS::Resource::IN::MINFO
292
+ # * Resolv::DNS::Resource::IN::MX
293
+ # * Resolv::DNS::Resource::IN::NS
294
+ # * Resolv::DNS::Resource::IN::PTR
295
+ # * Resolv::DNS::Resource::IN::SOA
296
+ # * Resolv::DNS::Resource::IN::TXT
297
+ # * Resolv::DNS::Resource::IN::WKS
298
+ #
299
+ # Returned resource is represented as a Resolv::DNS::Resource instance, i.e.
300
+ # Resolv::DNS::Resource::IN::A.
301
+ #
302
+ def getresource: (dns_name name, singleton(Resolv::DNS::Query) typeclass) -> Resolv::DNS::Resource
303
+
304
+ # <!--
305
+ # rdoc-file=lib/resolv.rb
306
+ # - getresources(name, typeclass)
307
+ # -->
308
+ # Looks up all `typeclass` DNS resources for `name`. See #getresource for
309
+ # argument details.
310
+ #
311
+ def getresources: (dns_name name, singleton(Resolv::DNS::Query) typeclass) -> Array[Resolv::DNS::Resource]
312
+
313
+ def lazy_initialize: () -> untyped
314
+
315
+ def make_tcp_requester: (String host, Integer port) -> Requester::TCP
316
+
317
+ def make_udp_requester: () -> (Requester::ConnectedUDP | Requester::UnconnectedUDP)
318
+
319
+ # <!--
320
+ # rdoc-file=lib/resolv.rb
321
+ # - timeouts=(values)
322
+ # -->
323
+ # Sets the resolver timeouts. This may be a single positive number or an array
324
+ # of positive numbers representing timeouts in seconds. If an array is
325
+ # specified, a DNS request will retry and wait for each successive interval in
326
+ # the array until a successful response is received. Specifying `nil` reverts
327
+ # to the default timeouts:
328
+ # 5, second = 5 * 2 / nameserver_count, 2 * second, 4 * second
329
+ # : Example:
330
+ #
331
+ # dns.timeouts = 3
332
+ #
333
+ def timeouts=: (Integer | Float | Array[Integer | Float] values) -> void
334
+
335
+ private
336
+
337
+ # <!--
338
+ # rdoc-file=lib/resolv.rb
339
+ # - new(config_info=nil)
340
+ # -->
341
+ # Creates a new DNS resolver.
342
+ #
343
+ # `config_info` can be:
344
+ #
345
+ # nil
346
+ # : Uses /etc/resolv.conf.
347
+ #
348
+ # String
349
+ # : Path to a file using /etc/resolv.conf's format.
350
+ #
351
+ # Hash
352
+ # : Must contain :nameserver, :search and :ndots keys.
353
+ #
354
+ # :nameserver_port can be used to specify port number of nameserver address.
355
+ # :raise_timeout_errors can be used to raise timeout errors as exceptions
356
+ # instead of treating the same as an NXDOMAIN response.
357
+ #
358
+ # The value of :nameserver should be an address string or an array of address
359
+ # strings.
360
+ # * :nameserver => '8.8.8.8'
361
+ # * :nameserver => ['8.8.8.8', '8.8.4.4']
362
+ #
363
+ # The value of :nameserver_port should be an array of pair of nameserver address
364
+ # and port number.
365
+ # * :nameserver_port => [['8.8.8.8', 53], ['8.8.4.4', 53]]
366
+ #
367
+ # Example:
368
+ #
369
+ # Resolv::DNS.new(:nameserver => ['210.251.121.21'],
370
+ # :search => ['ruby-lang.org'],
371
+ # :ndots => 1)
372
+ #
373
+ def initialize: (?String | Hash[Symbol, untyped] config_info) -> untyped
374
+
375
+ def use_ipv6?: () -> untyped
376
+ end
377
+
378
+ # <!-- rdoc-file=lib/resolv.rb -->
379
+ # Default DNS Port
380
+ #
381
+ Resolv::DNS::Port: Integer
382
+
383
+ Resolv::DNS::RequestID: Hash[untyped, untyped]
384
+
385
+ Resolv::DNS::RequestIDMutex: Thread::Mutex
386
+
387
+ # <!-- rdoc-file=lib/resolv.rb -->
388
+ # Default DNS UDP packet size
389
+ #
390
+ Resolv::DNS::UDPSize: Integer
391
+
392
+ class Resolv::DNS::Config
393
+ def self.default_config_hash: (?String filename) -> Hash[Symbol, untyped]
394
+
395
+ def self.parse_resolv_conf: (String filename) -> Hash[Symbol, untyped]
396
+
397
+ def generate_candidates: (String name) -> Array[Resolv::DNS::Name]
398
+
399
+ def generate_timeouts: () -> Array[Integer | Float]
400
+
401
+ def lazy_initialize: () -> void
402
+
403
+ def nameserver_port: () -> Array[[ String, Integer ]]
404
+
405
+ def resolv: (String name) { (Resolv::DNS::Name, Integer, String, Integer) -> void } -> void
406
+
407
+ def single?: () -> [ String, Integer ]?
408
+
409
+ def timeouts=: (Integer | Float | Array[Integer | Float] values) -> void
410
+
411
+ private
412
+
413
+ def initialize: (?String | Hash[Symbol, untyped] config_info) -> untyped
414
+ end
415
+
416
+ Resolv::DNS::Config::InitialTimeout: Integer
417
+
418
+ # <!-- rdoc-file=lib/resolv.rb -->
419
+ # Indicates no such domain was found.
420
+ #
421
+ class Resolv::DNS::Config::NXDomain < Resolv::ResolvError
422
+ end
423
+
424
+ # <!-- rdoc-file=lib/resolv.rb -->
425
+ # Indicates some other unhandled resolver error was encountered.
426
+ #
427
+ class Resolv::DNS::Config::OtherResolvError < Resolv::ResolvError
428
+ end
429
+
430
+ class Resolv::DNS::DecodeError < StandardError
431
+ end
432
+
433
+ class Resolv::DNS::EncodeError < StandardError
434
+ end
435
+
436
+ module Resolv::DNS::Label
437
+ def self.split: (untyped arg) -> untyped
438
+ end
439
+
440
+ class Resolv::DNS::Label::Str
441
+ def eql?: (Resolv::DNS::Label::Str other) -> bool
442
+
443
+ def downcase: () -> String
444
+
445
+ alias == eql?
446
+
447
+ def hash: () -> Integer
448
+
449
+ def inspect: () -> String
450
+
451
+ def string: () -> String
452
+
453
+ def to_s: () -> String
454
+
455
+ private
456
+
457
+ def initialize: (String string) -> untyped
458
+ end
459
+
460
+ class Resolv::DNS::Message
461
+ def self.decode: (String m) -> instance
462
+
463
+ def ==: (self other) -> bool
464
+
465
+ def aa: () -> Integer
466
+
467
+ def aa=: (Integer) -> void
468
+
469
+ def add_additional: (String name, Integer ttl, Resolv::DNS::Resource data) -> void
470
+
471
+ def add_answer: (String name, Integer ttl, Resolv::DNS::Resource data) -> void
472
+
473
+ def add_authority: (String name, Integer ttl, Resolv::DNS::Resource data) -> void
474
+
475
+ def add_question: (String name, singleton(Resolv::DNS::Query) typeclass) -> void
476
+
477
+ def additional: () -> Array[[ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]]
478
+
479
+ def answer: () -> Array[[ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]]
480
+
481
+ def authority: () -> Array[[ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]]
482
+
483
+ def each_additional: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
484
+
485
+ def each_answer: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
486
+
487
+ def each_authority: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
488
+
489
+ def each_question: () { (Resolv::DNS::Name, singleton(Resolv::DNS::Query)) -> void } -> void
490
+
491
+ def each_resource: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
492
+
493
+ def encode: () -> String
494
+
495
+ def id: () -> Integer
496
+
497
+ def id=: (Integer) -> void
498
+
499
+ def opcode: () -> Integer
500
+
501
+ def opcode=: (Integer) -> void
502
+
503
+ def qr: () -> Integer
504
+
505
+ def qr=: (Integer) -> void
506
+
507
+ def question: () -> Array[[ Resolv::DNS::Name, singleton(Resolv::DNS::Resource) ]]
508
+
509
+ def ra: () -> Integer
510
+
511
+ def ra=: (Integer) -> void
512
+
513
+ def rcode: () -> Integer
514
+
515
+ def rcode=: (Integer) -> void
516
+
517
+ def rd: () -> Integer
518
+
519
+ def rd=: (Integer) -> void
520
+
521
+ def tc: () -> Integer
522
+
523
+ def tc=: (Integer) -> void
524
+
525
+ private
526
+
527
+ def initialize: (?Integer id) -> untyped
528
+ end
529
+
530
+ class Resolv::DNS::Message::MessageDecoder
531
+ def get_bytes: (?Integer len) -> String
532
+
533
+ def get_label: () -> Resolv::DNS::Label::Str
534
+
535
+ def get_labels: () -> Array[Resolv::DNS::Label::Str]
536
+
537
+ def get_length16: () { (Integer) -> Integer } -> Integer
538
+
539
+ def get_name: () -> Resolv::DNS::Name
540
+
541
+ def get_question: () -> Resolv::DNS::Query
542
+
543
+ def get_rr: () -> [ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]
544
+
545
+ def get_string: () -> String
546
+
547
+ def get_string_list: () -> Array[String]
548
+
549
+ def get_unpack: (String template) -> Array[untyped]
550
+
551
+ def inspect: () -> String
552
+
553
+ private
554
+
555
+ def initialize: (String data) { (self) -> void } -> untyped
556
+ end
557
+
558
+ class Resolv::DNS::Message::MessageEncoder
559
+ def put_bytes: (string d) -> void
560
+
561
+ def put_label: (_ToS d) -> void
562
+
563
+ def put_labels: (Array[_ToS] d) -> void
564
+
565
+ def put_length16: () { () -> void } -> void
566
+
567
+ def put_name: (Resolv::DNS::Name d) -> void
568
+
569
+ def put_pack: (String template, *untyped d) -> void
570
+
571
+ def put_string: (String d) -> void
572
+
573
+ def put_string_list: (_Each[String] ds) -> void
574
+
575
+ def to_s: () -> untyped
576
+
577
+ private
578
+
579
+ def initialize: () -> untyped
580
+ end
581
+
582
+ class Resolv::DNS::Name
583
+ # <!--
584
+ # rdoc-file=lib/resolv.rb
585
+ # - create(arg)
586
+ # -->
587
+ # Creates a new DNS name from `arg`. `arg` can be:
588
+ #
589
+ # Name
590
+ # : returns `arg`.
591
+ #
592
+ # String
593
+ # : Creates a new Name.
594
+ #
595
+ def self.create: (Resolv::DNS::dns_name arg) -> untyped
596
+
597
+ def ==: (self other) -> bool
598
+
599
+ def []: (Integer i) -> Resolv::DNS::Label::Str?
600
+
601
+ # <!--
602
+ # rdoc-file=lib/resolv.rb
603
+ # - absolute?()
604
+ # -->
605
+ # True if this name is absolute.
606
+ #
607
+ def absolute?: () -> bool
608
+
609
+ alias eql? ==
610
+
611
+ def hash: () -> Integer
612
+
613
+ def inspect: () -> String
614
+
615
+ def length: () -> Integer
616
+
617
+ # <!--
618
+ # rdoc-file=lib/resolv.rb
619
+ # - subdomain_of?(other)
620
+ # -->
621
+ # Returns true if `other` is a subdomain.
622
+ #
623
+ # Example:
624
+ #
625
+ # domain = Resolv::DNS::Name.create("y.z")
626
+ # p Resolv::DNS::Name.create("w.x.y.z").subdomain_of?(domain) #=> true
627
+ # p Resolv::DNS::Name.create("x.y.z").subdomain_of?(domain) #=> true
628
+ # p Resolv::DNS::Name.create("y.z").subdomain_of?(domain) #=> false
629
+ # p Resolv::DNS::Name.create("z").subdomain_of?(domain) #=> false
630
+ # p Resolv::DNS::Name.create("x.y.z.").subdomain_of?(domain) #=> false
631
+ # p Resolv::DNS::Name.create("w.z").subdomain_of?(domain) #=> false
632
+ #
633
+ def subdomain_of?: (self other) -> bool
634
+
635
+ def to_a: () -> Array[Resolv::DNS::Label::Str]
636
+
637
+ # <!--
638
+ # rdoc-file=lib/resolv.rb
639
+ # - to_s()
640
+ # -->
641
+ # returns the domain name as a string.
642
+ #
643
+ # The domain name doesn't have a trailing dot even if the name object is
644
+ # absolute.
645
+ #
646
+ # Example:
647
+ #
648
+ # p Resolv::DNS::Name.create("x.y.z.").to_s #=> "x.y.z"
649
+ # p Resolv::DNS::Name.create("x.y.z").to_s #=> "x.y.z"
650
+ #
651
+ def to_s: () -> untyped
652
+
653
+ private
654
+
655
+ def initialize: (Array[Resolv::DNS::Label::Str] labels, ?bool absolute) -> untyped
656
+ end
657
+
658
+ module Resolv::DNS::OpCode
659
+ end
660
+
661
+ Resolv::DNS::OpCode::IQuery: Integer
662
+
663
+ Resolv::DNS::OpCode::Notify: Integer
664
+
665
+ Resolv::DNS::OpCode::Query: Integer
666
+
667
+ Resolv::DNS::OpCode::Status: Integer
668
+
669
+ Resolv::DNS::OpCode::Update: Integer
670
+
671
+ class Resolv::DNS::Query
672
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
673
+
674
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
675
+ end
676
+
677
+ module Resolv::DNS::RCode
678
+ end
679
+
680
+ Resolv::DNS::RCode::BADALG: Integer
681
+
682
+ Resolv::DNS::RCode::BADKEY: Integer
683
+
684
+ Resolv::DNS::RCode::BADMODE: Integer
685
+
686
+ Resolv::DNS::RCode::BADNAME: Integer
687
+
688
+ Resolv::DNS::RCode::BADSIG: Integer
689
+
690
+ Resolv::DNS::RCode::BADTIME: Integer
691
+
692
+ Resolv::DNS::RCode::BADVERS: Integer
693
+
694
+ Resolv::DNS::RCode::FormErr: Integer
695
+
696
+ Resolv::DNS::RCode::NXDomain: Integer
697
+
698
+ Resolv::DNS::RCode::NXRRSet: Integer
699
+
700
+ Resolv::DNS::RCode::NoError: Integer
701
+
702
+ Resolv::DNS::RCode::NotAuth: Integer
703
+
704
+ Resolv::DNS::RCode::NotImp: Integer
705
+
706
+ Resolv::DNS::RCode::NotZone: Integer
707
+
708
+ Resolv::DNS::RCode::Refused: Integer
709
+
710
+ Resolv::DNS::RCode::ServFail: Integer
711
+
712
+ Resolv::DNS::RCode::YXDomain: Integer
713
+
714
+ Resolv::DNS::RCode::YXRRSet: Integer
715
+
716
+ class Resolv::DNS::Requester
717
+ def close: () -> void
718
+
719
+ def request: (Resolv::DNS::Requester::Sender sender, Numeric tout) -> [ Resolv::DNS::Message, String ]
720
+
721
+ def sender_for: (String addr, Resolv::DNS::Message msg) -> Resolv::DNS::Requester::Sender
722
+
723
+ private
724
+
725
+ def initialize: () -> untyped
726
+ end
727
+
728
+ class Resolv::DNS::Requester::ConnectedUDP < Resolv::DNS::Requester
729
+ def close: () -> void
730
+
731
+ def lazy_initialize: () -> void
732
+
733
+ def recv_reply: (Array[UDPSocket] readable_socks) -> [ String, String ]
734
+
735
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
736
+
737
+ private
738
+
739
+ def initialize: (String host, ?Integer port) -> untyped
740
+ end
741
+
742
+ class Resolv::DNS::Requester::ConnectedUDP::Sender < Resolv::DNS::Requester::Sender
743
+ def data: () -> String
744
+
745
+ def send: () -> void
746
+ end
747
+
748
+ class Resolv::DNS::Requester::MDNSOneShot < Resolv::DNS::Requester::UnconnectedUDP
749
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
750
+
751
+ def recv_reply: (Array[UDPSocket] readable_socks) -> [ String, String ]
752
+ end
753
+
754
+ # <!-- rdoc-file=lib/resolv.rb -->
755
+ # Indicates a problem with the DNS request.
756
+ #
757
+ class Resolv::DNS::Requester::RequestError < StandardError
758
+ end
759
+
760
+ class Resolv::DNS::Requester::Sender
761
+ private
762
+
763
+ def initialize: (Resolv::DNS::Message msg, String data, Socket sock) -> untyped
764
+ end
765
+
766
+ class Resolv::DNS::Requester::TCP < Resolv::DNS::Requester
767
+ def close: () -> untyped
768
+
769
+ def recv_reply: (Array[TCPSocket] readable_socks) -> [ String, String ]
770
+
771
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
772
+
773
+ private
774
+
775
+ def initialize: (String host, ?Integer port) -> untyped
776
+ end
777
+
778
+ class Resolv::DNS::Requester::TCP::Sender < Resolv::DNS::Requester::Sender
779
+ def data: () -> String
780
+
781
+ def send: () -> void
782
+ end
783
+
784
+ class Resolv::DNS::Requester::UnconnectedUDP < Resolv::DNS::Requester
785
+ def close: () -> void
786
+
787
+ def lazy_initialize: () -> void
788
+
789
+ def recv_reply: (Array[UDPSocket] readable_socks) -> [ String, String ]
790
+
791
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
792
+
793
+ private
794
+
795
+ def initialize: (*[ String, Integer ] nameserver_port) -> untyped
796
+ end
797
+
798
+ class Resolv::DNS::Requester::UnconnectedUDP::Sender < Resolv::DNS::Requester::Sender
799
+ def data: () -> String
800
+
801
+ def send: () -> void
802
+
803
+ private
804
+
805
+ def initialize: (Resolv::DNS::Message msg, String data, UDPSocket sock, String host, Integer port) -> untyped
806
+ end
807
+
808
+ class Resolv::DNS::Resource < Resolv::DNS::Query
809
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
810
+
811
+ def self.get_class: (Integer type_value, Integer class_value) -> self
812
+
813
+ def eql?: (Resolv::DNS::Resource other) -> bool
814
+
815
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
816
+
817
+ alias == eql?
818
+
819
+ def hash: () -> Integer
820
+
821
+ # <!-- rdoc-file=lib/resolv.rb -->
822
+ # Remaining Time To Live for this Resource.
823
+ #
824
+ def ttl: () -> Integer
825
+ end
826
+
827
+ Resolv::DNS::Resource::ClassHash: Hash[[ Integer, Integer ], singleton(Resolv::DNS::Resource)]
828
+
829
+ Resolv::DNS::Resource::ClassInsensitiveTypes: Array[singleton(Resolv::DNS::Resource)]
830
+
831
+ Resolv::DNS::Resource::ClassValue: Integer?
832
+
833
+ class Resolv::DNS::Resource::ANY < Resolv::DNS::Query
834
+ end
835
+
836
+ Resolv::DNS::Resource::ANY::TypeValue: Integer
837
+
838
+ class Resolv::DNS::Resource::CNAME < Resolv::DNS::Resource::DomainName
839
+ end
840
+
841
+ Resolv::DNS::Resource::CNAME::TypeValue: Integer
842
+
843
+ class Resolv::DNS::Resource::DomainName < Resolv::DNS::Resource
844
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
845
+
846
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
847
+
848
+ # <!-- rdoc-file=lib/resolv.rb -->
849
+ # The name of this DomainName.
850
+ #
851
+ def name: () -> String
852
+
853
+ private
854
+
855
+ # <!--
856
+ # rdoc-file=lib/resolv.rb
857
+ # - new(name)
858
+ # -->
859
+ # Creates a new DomainName from `name`.
860
+ #
861
+ def initialize: (String name) -> untyped
862
+ end
863
+
864
+ class Resolv::DNS::Resource::Generic < Resolv::DNS::Resource
865
+ def self.create: (Integer type_value, Integer class_value) -> Class
866
+
867
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
868
+
869
+ # <!-- rdoc-file=lib/resolv.rb -->
870
+ # Data for this generic resource.
871
+ #
872
+ def data: () -> String
873
+
874
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
875
+
876
+ private
877
+
878
+ # <!--
879
+ # rdoc-file=lib/resolv.rb
880
+ # - new(data)
881
+ # -->
882
+ # Creates a new generic resource.
883
+ #
884
+ def initialize: (String data) -> untyped
885
+ end
886
+
887
+ class Resolv::DNS::Resource::HINFO < Resolv::DNS::Resource
888
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
889
+
890
+ # <!-- rdoc-file=lib/resolv.rb -->
891
+ # CPU architecture for this resource.
892
+ #
893
+ def cpu: () -> String
894
+
895
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
896
+
897
+ # <!-- rdoc-file=lib/resolv.rb -->
898
+ # Operating system for this resource.
899
+ #
900
+ def os: () -> String
901
+
902
+ private
903
+
904
+ # <!--
905
+ # rdoc-file=lib/resolv.rb
906
+ # - new(cpu, os)
907
+ # -->
908
+ # Creates a new HINFO running `os` on `cpu`.
909
+ #
910
+ def initialize: (String cpu, String os) -> untyped
911
+ end
912
+
913
+ Resolv::DNS::Resource::HINFO::TypeValue: Integer
914
+
915
+ module Resolv::DNS::Resource::IN
916
+ end
917
+
918
+ Resolv::DNS::Resource::IN::ClassValue: Integer
919
+
920
+ class Resolv::DNS::Resource::IN::A < Resolv::DNS::Resource
921
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
922
+
923
+ # <!-- rdoc-file=lib/resolv.rb -->
924
+ # The Resolv::IPv4 address for this A.
925
+ #
926
+ def address: () -> Resolv::IPv4
927
+
928
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
929
+
930
+ private
931
+
932
+ # <!--
933
+ # rdoc-file=lib/resolv.rb
934
+ # - new(address)
935
+ # -->
936
+ # Creates a new A for `address`.
937
+ #
938
+ def initialize: (String | Resolv::IPv4 address) -> untyped
939
+ end
940
+
941
+ Resolv::DNS::Resource::IN::A::ClassValue: Integer
942
+
943
+ Resolv::DNS::Resource::IN::A::TypeValue: Integer
944
+
945
+ class Resolv::DNS::Resource::IN::AAAA < Resolv::DNS::Resource
946
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
947
+
948
+ # <!-- rdoc-file=lib/resolv.rb -->
949
+ # The Resolv::IPv6 address for this AAAA.
950
+ #
951
+ def address: () -> Resolv::IPv6
952
+
953
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
954
+
955
+ private
956
+
957
+ # <!--
958
+ # rdoc-file=lib/resolv.rb
959
+ # - new(address)
960
+ # -->
961
+ # Creates a new AAAA for `address`.
962
+ #
963
+ def initialize: (String | Resolv::IPv6 address) -> untyped
964
+ end
965
+
966
+ Resolv::DNS::Resource::IN::AAAA::ClassValue: Integer
967
+
968
+ Resolv::DNS::Resource::IN::AAAA::TypeValue: Integer
969
+
970
+ class Resolv::DNS::Resource::IN::ANY < Resolv::DNS::Resource::ANY
971
+ end
972
+
973
+ Resolv::DNS::Resource::IN::ANY::ClassValue: Integer
974
+
975
+ Resolv::DNS::Resource::IN::ANY::TypeValue: Integer
976
+
977
+ class Resolv::DNS::Resource::IN::CNAME < Resolv::DNS::Resource::CNAME
978
+ end
979
+
980
+ Resolv::DNS::Resource::IN::CNAME::ClassValue: Integer
981
+
982
+ Resolv::DNS::Resource::IN::CNAME::TypeValue: Integer
983
+
984
+ class Resolv::DNS::Resource::IN::HINFO < Resolv::DNS::Resource::HINFO
985
+ end
986
+
987
+ Resolv::DNS::Resource::IN::HINFO::ClassValue: Integer
988
+
989
+ Resolv::DNS::Resource::IN::HINFO::TypeValue: Integer
990
+
991
+ class Resolv::DNS::Resource::IN::LOC < Resolv::DNS::Resource::LOC
992
+ end
993
+
994
+ Resolv::DNS::Resource::IN::LOC::ClassValue: Integer
995
+
996
+ Resolv::DNS::Resource::IN::LOC::TypeValue: Integer
997
+
998
+ class Resolv::DNS::Resource::IN::MINFO < Resolv::DNS::Resource::MINFO
999
+ end
1000
+
1001
+ Resolv::DNS::Resource::IN::MINFO::ClassValue: Integer
1002
+
1003
+ Resolv::DNS::Resource::IN::MINFO::TypeValue: Integer
1004
+
1005
+ class Resolv::DNS::Resource::IN::MX < Resolv::DNS::Resource::MX
1006
+ end
1007
+
1008
+ Resolv::DNS::Resource::IN::MX::ClassValue: Integer
1009
+
1010
+ Resolv::DNS::Resource::IN::MX::TypeValue: Integer
1011
+
1012
+ class Resolv::DNS::Resource::IN::NS < Resolv::DNS::Resource::NS
1013
+ end
1014
+
1015
+ Resolv::DNS::Resource::IN::NS::ClassValue: Integer
1016
+
1017
+ Resolv::DNS::Resource::IN::NS::TypeValue: Integer
1018
+
1019
+ class Resolv::DNS::Resource::IN::PTR < Resolv::DNS::Resource::PTR
1020
+ end
1021
+
1022
+ Resolv::DNS::Resource::IN::PTR::ClassValue: Integer
1023
+
1024
+ Resolv::DNS::Resource::IN::PTR::TypeValue: Integer
1025
+
1026
+ class Resolv::DNS::Resource::IN::SOA < Resolv::DNS::Resource::SOA
1027
+ end
1028
+
1029
+ Resolv::DNS::Resource::IN::SOA::ClassValue: Integer
1030
+
1031
+ Resolv::DNS::Resource::IN::SOA::TypeValue: Integer
1032
+
1033
+ class Resolv::DNS::Resource::IN::SRV < Resolv::DNS::Resource
1034
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1035
+
1036
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1037
+
1038
+ # <!-- rdoc-file=lib/resolv.rb -->
1039
+ # The port on this target host of this service.
1040
+ #
1041
+ # The range is 0-65535.
1042
+ #
1043
+ def port: () -> Integer
1044
+
1045
+ # <!-- rdoc-file=lib/resolv.rb -->
1046
+ # The priority of this target host.
1047
+ #
1048
+ # A client MUST attempt to contact the target host with the lowest-numbered
1049
+ # priority it can reach; target hosts with the same priority SHOULD be tried in
1050
+ # an order defined by the weight field. The range is 0-65535. Note that it is
1051
+ # not widely implemented and should be set to zero.
1052
+ #
1053
+ def priority: () -> Integer
1054
+
1055
+ # <!-- rdoc-file=lib/resolv.rb -->
1056
+ # The domain name of the target host.
1057
+ #
1058
+ # A target of "." means that the service is decidedly not available at this
1059
+ # domain.
1060
+ #
1061
+ def target: () -> String
1062
+
1063
+ # <!-- rdoc-file=lib/resolv.rb -->
1064
+ # A server selection mechanism.
1065
+ #
1066
+ # The weight field specifies a relative weight for entries with the same
1067
+ # priority. Larger weights SHOULD be given a proportionately higher probability
1068
+ # of being selected. The range of this number is 0-65535. Domain administrators
1069
+ # SHOULD use Weight 0 when there isn't any server selection to do, to make the
1070
+ # RR easier to read for humans (less noisy). Note that it is not widely
1071
+ # implemented and should be set to zero.
1072
+ #
1073
+ def weight: () -> Integer
1074
+
1075
+ private
1076
+
1077
+ # <!--
1078
+ # rdoc-file=lib/resolv.rb
1079
+ # - new(priority, weight, port, target)
1080
+ # -->
1081
+ # Create a SRV resource record.
1082
+ #
1083
+ # See the documentation for #priority, #weight, #port and #target for
1084
+ # `priority`, `weight`, +port and `target` respectively.
1085
+ #
1086
+ def initialize: (Integer priority, Integer weight, Integer port, String target) -> untyped
1087
+ end
1088
+
1089
+ Resolv::DNS::Resource::IN::SRV::ClassValue: Integer
1090
+
1091
+ Resolv::DNS::Resource::IN::SRV::TypeValue: Integer
1092
+
1093
+ class Resolv::DNS::Resource::IN::TXT < Resolv::DNS::Resource::TXT
1094
+ end
1095
+
1096
+ Resolv::DNS::Resource::IN::TXT::ClassValue: Integer
1097
+
1098
+ Resolv::DNS::Resource::IN::TXT::TypeValue: Integer
1099
+
1100
+ class Resolv::DNS::Resource::IN::WKS < Resolv::DNS::Resource
1101
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1102
+
1103
+ # <!-- rdoc-file=lib/resolv.rb -->
1104
+ # The host these services run on.
1105
+ #
1106
+ def address: () -> Resolv::IPv4
1107
+
1108
+ # <!-- rdoc-file=lib/resolv.rb -->
1109
+ # A bit map of enabled services on this host.
1110
+ #
1111
+ # If protocol is 6 (TCP) then the 26th bit corresponds to the SMTP service (port
1112
+ # 25). If this bit is set, then an SMTP server should be listening on TCP port
1113
+ # 25; if zero, SMTP service is not supported.
1114
+ #
1115
+ def bitmap: () -> Integer
1116
+
1117
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1118
+
1119
+ # <!-- rdoc-file=lib/resolv.rb -->
1120
+ # IP protocol number for these services.
1121
+ #
1122
+ def protocol: () -> Integer
1123
+
1124
+ private
1125
+
1126
+ # <!--
1127
+ # rdoc-file=lib/resolv.rb
1128
+ # - new(address, protocol, bitmap)
1129
+ # -->
1130
+ #
1131
+ def initialize: (String | Resolv::IPv4 address, Integer protocol, Integer bitmap) -> untyped
1132
+ end
1133
+
1134
+ Resolv::DNS::Resource::IN::WKS::ClassValue: Integer
1135
+
1136
+ Resolv::DNS::Resource::IN::WKS::TypeValue: Integer
1137
+
1138
+ class Resolv::DNS::Resource::LOC < Resolv::DNS::Resource
1139
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1140
+
1141
+ # <!-- rdoc-file=lib/resolv.rb -->
1142
+ # The altitude of the LOC above a reference sphere whose surface sits 100km
1143
+ # below the WGS84 spheroid in centimeters as an unsigned 32bit integer
1144
+ #
1145
+ def altitude: () -> Integer
1146
+
1147
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1148
+
1149
+ # <!-- rdoc-file=lib/resolv.rb -->
1150
+ # The horizontal precision using ssize type values in meters using scientific
1151
+ # notation as 2 integers of XeY for precision use value/2 e.g. 2m = +/-1m
1152
+ #
1153
+ def hprecision: () -> Integer
1154
+
1155
+ # <!-- rdoc-file=lib/resolv.rb -->
1156
+ # The latitude for this LOC where 2**31 is the equator in thousandths of an arc
1157
+ # second as an unsigned 32bit integer
1158
+ #
1159
+ def latitude: () -> Integer
1160
+
1161
+ # <!-- rdoc-file=lib/resolv.rb -->
1162
+ # The longitude for this LOC where 2**31 is the prime meridian in thousandths of
1163
+ # an arc second as an unsigned 32bit integer
1164
+ #
1165
+ def longitude: () -> Integer
1166
+
1167
+ # <!-- rdoc-file=lib/resolv.rb -->
1168
+ # The spherical size of this LOC in meters using scientific notation as 2
1169
+ # integers of XeY
1170
+ #
1171
+ def ssize: () -> Integer
1172
+
1173
+ # <!-- rdoc-file=lib/resolv.rb -->
1174
+ # Returns the version value for this LOC record which should always be 00
1175
+ #
1176
+ def version: () -> Integer
1177
+
1178
+ # <!-- rdoc-file=lib/resolv.rb -->
1179
+ # The vertical precision using ssize type values in meters using scientific
1180
+ # notation as 2 integers of XeY for precision use value/2 e.g. 2m = +/-1m
1181
+ #
1182
+ def vprecision: () -> Integer
1183
+
1184
+ private
1185
+
1186
+ # <!--
1187
+ # rdoc-file=lib/resolv.rb
1188
+ # - new(version, ssize, hprecision, vprecision, latitude, longitude, altitude)
1189
+ # -->
1190
+ #
1191
+ def initialize: (Integer version, Integer ssize, Integer hprecision, Integer vprecision, Integer latitude, Integer longitude, Integer altitude) -> untyped
1192
+ end
1193
+
1194
+ Resolv::DNS::Resource::LOC::TypeValue: Integer
1195
+
1196
+ class Resolv::DNS::Resource::MINFO < Resolv::DNS::Resource
1197
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1198
+
1199
+ # <!-- rdoc-file=lib/resolv.rb -->
1200
+ # Mailbox to use for error messages related to the mail list or mailbox.
1201
+ #
1202
+ def emailbx: () -> String
1203
+
1204
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1205
+
1206
+ # <!-- rdoc-file=lib/resolv.rb -->
1207
+ # Domain name responsible for this mail list or mailbox.
1208
+ #
1209
+ def rmailbx: () -> String
1210
+
1211
+ private
1212
+
1213
+ # <!--
1214
+ # rdoc-file=lib/resolv.rb
1215
+ # - new(rmailbx, emailbx)
1216
+ # -->
1217
+ #
1218
+ def initialize: (String rmailbx, String emailbx) -> untyped
1219
+ end
1220
+
1221
+ Resolv::DNS::Resource::MINFO::TypeValue: Integer
1222
+
1223
+ class Resolv::DNS::Resource::MX < Resolv::DNS::Resource
1224
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1225
+
1226
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1227
+
1228
+ # <!-- rdoc-file=lib/resolv.rb -->
1229
+ # The host of this MX.
1230
+ #
1231
+ def exchange: () -> String
1232
+
1233
+ # <!-- rdoc-file=lib/resolv.rb -->
1234
+ # The preference for this MX.
1235
+ #
1236
+ def preference: () -> Integer
1237
+
1238
+ private
1239
+
1240
+ # <!--
1241
+ # rdoc-file=lib/resolv.rb
1242
+ # - new(preference, exchange)
1243
+ # -->
1244
+ # Creates a new MX record with `preference`, accepting mail at `exchange`.
1245
+ #
1246
+ def initialize: (Integer preference, String exchange) -> untyped
1247
+ end
1248
+
1249
+ Resolv::DNS::Resource::MX::TypeValue: Integer
1250
+
1251
+ class Resolv::DNS::Resource::NS < Resolv::DNS::Resource::DomainName
1252
+ end
1253
+
1254
+ Resolv::DNS::Resource::NS::TypeValue: Integer
1255
+
1256
+ class Resolv::DNS::Resource::PTR < Resolv::DNS::Resource::DomainName
1257
+ end
1258
+
1259
+ Resolv::DNS::Resource::PTR::TypeValue: Integer
1260
+
1261
+ class Resolv::DNS::Resource::SOA < Resolv::DNS::Resource
1262
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1263
+
1264
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1265
+
1266
+ # <!-- rdoc-file=lib/resolv.rb -->
1267
+ # Time in seconds that a secondary name server is to use the data before
1268
+ # refreshing from the primary name server.
1269
+ #
1270
+ def expire: () -> Integer
1271
+
1272
+ # <!-- rdoc-file=lib/resolv.rb -->
1273
+ # The minimum number of seconds to be used for TTL values in RRs.
1274
+ #
1275
+ def minimum: () -> Integer
1276
+
1277
+ # <!-- rdoc-file=lib/resolv.rb -->
1278
+ # Name of the host where the master zone file for this zone resides.
1279
+ #
1280
+ def mname: () -> String
1281
+
1282
+ # <!-- rdoc-file=lib/resolv.rb -->
1283
+ # How often, in seconds, a secondary name server is to check for updates from
1284
+ # the primary name server.
1285
+ #
1286
+ def refresh: () -> Integer
1287
+
1288
+ # <!-- rdoc-file=lib/resolv.rb -->
1289
+ # How often, in seconds, a secondary name server is to retry after a failure to
1290
+ # check for a refresh.
1291
+ #
1292
+ def retry: () -> Integer
1293
+
1294
+ # <!-- rdoc-file=lib/resolv.rb -->
1295
+ # The person responsible for this domain name.
1296
+ #
1297
+ def rname: () -> String
1298
+
1299
+ # <!-- rdoc-file=lib/resolv.rb -->
1300
+ # The version number of the zone file.
1301
+ #
1302
+ def serial: () -> Integer
1303
+
1304
+ private
1305
+
1306
+ # <!--
1307
+ # rdoc-file=lib/resolv.rb
1308
+ # - new(mname, rname, serial, refresh, retry_, expire, minimum)
1309
+ # -->
1310
+ # Creates a new SOA record. See the attr documentation for the details of each
1311
+ # argument.
1312
+ #
1313
+ def initialize: (String mname, String rname, Integer serial, Integer refresh, Integer retry_, Integer expire, Integer minimum) -> untyped
1314
+ end
1315
+
1316
+ Resolv::DNS::Resource::SOA::TypeValue: Integer
1317
+
1318
+ class Resolv::DNS::Resource::TXT < Resolv::DNS::Resource
1319
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1320
+
1321
+ # <!--
1322
+ # rdoc-file=lib/resolv.rb
1323
+ # - data()
1324
+ # -->
1325
+ # Returns the concatenated string from `strings`.
1326
+ #
1327
+ def data: () -> String
1328
+
1329
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1330
+
1331
+ # <!-- rdoc-file=lib/resolv.rb -->
1332
+ # Returns an Array of Strings for this TXT record.
1333
+ #
1334
+ def strings: () -> Array[String]
1335
+
1336
+ private
1337
+
1338
+ # <!--
1339
+ # rdoc-file=lib/resolv.rb
1340
+ # - new(first_string, *rest_strings)
1341
+ # -->
1342
+ #
1343
+ def initialize: (String first_string, *String rest_strings) -> untyped
1344
+ end
1345
+
1346
+ Resolv::DNS::Resource::TXT::TypeValue: Integer
1347
+
1348
+ # <!-- rdoc-file=lib/resolv.rb -->
1349
+ # Resolv::Hosts is a hostname resolver that uses the system hosts file.
1350
+ #
1351
+ class Resolv::Hosts
1352
+ # <!--
1353
+ # rdoc-file=lib/resolv.rb
1354
+ # - each_address(name, &proc)
1355
+ # -->
1356
+ # Iterates over all IP addresses for `name` retrieved from the hosts file.
1357
+ #
1358
+ def each_address: (String name) { (String) -> void } -> void
1359
+
1360
+ # <!--
1361
+ # rdoc-file=lib/resolv.rb
1362
+ # - each_name(address, &proc)
1363
+ # -->
1364
+ # Iterates over all hostnames for `address` retrieved from the hosts file.
1365
+ #
1366
+ def each_name: (String address) { (String) -> void } -> void
1367
+
1368
+ # <!--
1369
+ # rdoc-file=lib/resolv.rb
1370
+ # - getaddress(name)
1371
+ # -->
1372
+ # Gets the IP address of `name` from the hosts file.
1373
+ #
1374
+ def getaddress: (String name) -> String
1375
+
1376
+ # <!--
1377
+ # rdoc-file=lib/resolv.rb
1378
+ # - getaddresses(name)
1379
+ # -->
1380
+ # Gets all IP addresses for `name` from the hosts file.
1381
+ #
1382
+ def getaddresses: (String name) -> Array[String]
1383
+
1384
+ # <!--
1385
+ # rdoc-file=lib/resolv.rb
1386
+ # - getname(address)
1387
+ # -->
1388
+ # Gets the hostname of `address` from the hosts file.
1389
+ #
1390
+ def getname: (String address) -> String
1391
+
1392
+ # <!--
1393
+ # rdoc-file=lib/resolv.rb
1394
+ # - getnames(address)
1395
+ # -->
1396
+ # Gets all hostnames for `address` from the hosts file.
1397
+ #
1398
+ def getnames: (String address) -> Array[String]
1399
+
1400
+ def lazy_initialize: () -> void
1401
+
1402
+ private
1403
+
1404
+ # <!--
1405
+ # rdoc-file=lib/resolv.rb
1406
+ # - new(filename = DefaultFileName)
1407
+ # -->
1408
+ # Creates a new Resolv::Hosts, using `filename` for its data source.
1409
+ #
1410
+ def initialize: (?String filename) -> untyped
1411
+ end
1412
+
1413
+ # <!-- rdoc-file=lib/resolv.rb -->
1414
+ # The default file name for host names
1415
+ #
1416
+ Resolv::Hosts::DefaultFileName: String
1417
+
1418
+ # <!-- rdoc-file=lib/resolv.rb -->
1419
+ # A Resolv::DNS IPv4 address.
1420
+ #
1421
+ class Resolv::IPv4
1422
+ # <!--
1423
+ # rdoc-file=lib/resolv.rb
1424
+ # - create(arg)
1425
+ # -->
1426
+ # Creates a new IPv4 address from `arg` which may be:
1427
+ #
1428
+ # IPv4
1429
+ # : returns `arg`.
1430
+ #
1431
+ # String
1432
+ # : `arg` must match the IPv4::Regex constant
1433
+ #
1434
+ def self.create: (String | instance arg) -> instance
1435
+
1436
+ def ==: (self other) -> bool
1437
+
1438
+ # <!-- rdoc-file=lib/resolv.rb -->
1439
+ # The raw IPv4 address as a String.
1440
+ #
1441
+ def address: () -> String
1442
+
1443
+ def eql?: (self other) -> bool
1444
+
1445
+ def hash: () -> Integer
1446
+
1447
+ def inspect: () -> String
1448
+
1449
+ # <!--
1450
+ # rdoc-file=lib/resolv.rb
1451
+ # - to_name()
1452
+ # -->
1453
+ # Turns this IPv4 address into a Resolv::DNS::Name.
1454
+ #
1455
+ def to_name: () -> Resolv::DNS::Name
1456
+
1457
+ def to_s: () -> String
1458
+
1459
+ private
1460
+
1461
+ def initialize: (String address) -> untyped
1462
+ end
1463
+
1464
+ # <!-- rdoc-file=lib/resolv.rb -->
1465
+ # Regular expression IPv4 addresses must match.
1466
+ #
1467
+ Resolv::IPv4::Regex: Regexp
1468
+
1469
+ # <!-- rdoc-file=lib/resolv.rb -->
1470
+ # Regular expression IPv4 addresses must match.
1471
+ #
1472
+ Resolv::IPv4::Regex256: Regexp
1473
+
1474
+ # <!-- rdoc-file=lib/resolv.rb -->
1475
+ # A Resolv::DNS IPv6 address.
1476
+ #
1477
+ class Resolv::IPv6
1478
+ # <!--
1479
+ # rdoc-file=lib/resolv.rb
1480
+ # - create(arg)
1481
+ # -->
1482
+ # Creates a new IPv6 address from `arg` which may be:
1483
+ #
1484
+ # IPv6
1485
+ # : returns `arg`.
1486
+ #
1487
+ # String
1488
+ # : `arg` must match one of the IPv6::Regex* constants
1489
+ #
1490
+ def self.create: (String | instance arg) -> instance
1491
+
1492
+ def ==: (self other) -> bool
1493
+
1494
+ # <!-- rdoc-file=lib/resolv.rb -->
1495
+ # The raw IPv6 address as a String.
1496
+ #
1497
+ def address: () -> String
1498
+
1499
+ def eql?: (self other) -> bool
1500
+
1501
+ def hash: () -> Integer
1502
+
1503
+ def inspect: () -> String
1504
+
1505
+ # <!--
1506
+ # rdoc-file=lib/resolv.rb
1507
+ # - to_name()
1508
+ # -->
1509
+ # Turns this IPv6 address into a Resolv::DNS::Name.
1510
+ #
1511
+ def to_name: () -> Resolv::DNS::Name
1512
+
1513
+ def to_s: () -> String
1514
+
1515
+ private
1516
+
1517
+ def initialize: (untyped address) -> untyped
1518
+ end
1519
+
1520
+ # <!-- rdoc-file=lib/resolv.rb -->
1521
+ # A composite IPv6 address Regexp.
1522
+ #
1523
+ Resolv::IPv6::Regex: Regexp
1524
+
1525
+ # <!-- rdoc-file=lib/resolv.rb -->
1526
+ # IPv4 mapped IPv6 address format a:b:c:d:e:f:w.x.y.z
1527
+ #
1528
+ Resolv::IPv6::Regex_6Hex4Dec: Regexp
1529
+
1530
+ # <!-- rdoc-file=lib/resolv.rb -->
1531
+ # IPv6 address format a:b:c:d:e:f:g:h
1532
+ #
1533
+ Resolv::IPv6::Regex_8Hex: Regexp
1534
+
1535
+ # <!-- rdoc-file=lib/resolv.rb -->
1536
+ # IPv6 link local address format fe80:b:c:d:e:f:g:h%em1
1537
+ #
1538
+ Resolv::IPv6::Regex_8HexLinkLocal: Regexp
1539
+
1540
+ # <!-- rdoc-file=lib/resolv.rb -->
1541
+ # Compressed IPv6 address format a::b
1542
+ #
1543
+ Resolv::IPv6::Regex_CompressedHex: Regexp
1544
+
1545
+ # <!-- rdoc-file=lib/resolv.rb -->
1546
+ # Compressed IPv4 mapped IPv6 address format a::b:w.x.y.z
1547
+ #
1548
+ Resolv::IPv6::Regex_CompressedHex4Dec: Regexp
1549
+
1550
+ # <!-- rdoc-file=lib/resolv.rb -->
1551
+ # Compressed IPv6 link local address format fe80::b%em1
1552
+ #
1553
+ Resolv::IPv6::Regex_CompressedHexLinkLocal: Regexp
1554
+
1555
+ module Resolv::LOC
1556
+ end
1557
+
1558
+ # <!-- rdoc-file=lib/resolv.rb -->
1559
+ # A Resolv::LOC::Alt
1560
+ #
1561
+ class Resolv::LOC::Alt
1562
+ # <!--
1563
+ # rdoc-file=lib/resolv.rb
1564
+ # - create(arg)
1565
+ # -->
1566
+ # Creates a new LOC::Alt from `arg` which may be:
1567
+ #
1568
+ # LOC::Alt
1569
+ # : returns `arg`.
1570
+ #
1571
+ # String
1572
+ # : `arg` must match the LOC::Alt::Regex constant
1573
+ #
1574
+ def self.create: (Resolv::LOC::Alt | String arg) -> instance
1575
+
1576
+ def eql?: (Resolv::LOC::Alt other) -> bool
1577
+
1578
+ # <!-- rdoc-file=lib/resolv.rb -->
1579
+ # The raw altitude
1580
+ #
1581
+ def altitude: () -> Integer
1582
+
1583
+ alias == eql?
1584
+
1585
+ def hash: () -> Integer
1586
+
1587
+ def inspect: () -> String
1588
+
1589
+ def to_s: () -> String
1590
+
1591
+ private
1592
+
1593
+ # <!--
1594
+ # rdoc-file=lib/resolv.rb
1595
+ # - new(altitude)
1596
+ # -->
1597
+ # Internal use; use self.create.
1598
+ #
1599
+ def initialize: (Integer altitude) -> untyped
1600
+ end
1601
+
1602
+ # <!-- rdoc-file=lib/resolv.rb -->
1603
+ # Regular expression LOC Alt must match.
1604
+ #
1605
+ Resolv::LOC::Alt::Regex: Regexp
1606
+
1607
+ # <!-- rdoc-file=lib/resolv.rb -->
1608
+ # A Resolv::LOC::Coord
1609
+ #
1610
+ class Resolv::LOC::Coord
1611
+ type orientation = "lat" | "lon"
1612
+
1613
+ # <!--
1614
+ # rdoc-file=lib/resolv.rb
1615
+ # - create(arg)
1616
+ # -->
1617
+ # Creates a new LOC::Coord from `arg` which may be:
1618
+ #
1619
+ # LOC::Coord
1620
+ # : returns `arg`.
1621
+ #
1622
+ # String
1623
+ # : `arg` must match the LOC::Coord::Regex constant
1624
+ #
1625
+ def self.create: (Resolv::LOC::Coord | String arg) -> instance
1626
+
1627
+ def eql?: (Resolv::LOC::Coord other) -> bool
1628
+
1629
+ # <!-- rdoc-file=lib/resolv.rb -->
1630
+ # The raw coordinates
1631
+ #
1632
+ def coordinates: () -> String
1633
+
1634
+ alias == eql?
1635
+
1636
+ def hash: () -> Integer
1637
+
1638
+ def inspect: () -> String
1639
+
1640
+ # <!-- rdoc-file=lib/resolv.rb -->
1641
+ # The orientation of the hemisphere as 'lat' or 'lon'
1642
+ #
1643
+ def orientation: () -> orientation
1644
+
1645
+ def to_s: () -> String
1646
+
1647
+ private
1648
+
1649
+ # <!--
1650
+ # rdoc-file=lib/resolv.rb
1651
+ # - new(coordinates,orientation)
1652
+ # -->
1653
+ # Internal use; use self.create.
1654
+ #
1655
+ def initialize: (String coordinates, orientation orientation) -> untyped
1656
+ end
1657
+
1658
+ # <!-- rdoc-file=lib/resolv.rb -->
1659
+ # Regular expression LOC Coord must match.
1660
+ #
1661
+ Resolv::LOC::Coord::Regex: Regexp
1662
+
1663
+ # <!-- rdoc-file=lib/resolv.rb -->
1664
+ # A Resolv::LOC::Size
1665
+ #
1666
+ class Resolv::LOC::Size
1667
+ # <!--
1668
+ # rdoc-file=lib/resolv.rb
1669
+ # - create(arg)
1670
+ # -->
1671
+ # Creates a new LOC::Size from `arg` which may be:
1672
+ #
1673
+ # LOC::Size
1674
+ # : returns `arg`.
1675
+ #
1676
+ # String
1677
+ # : `arg` must match the LOC::Size::Regex constant
1678
+ #
1679
+ def self.create: (Resolv::LOC::Size | String arg) -> instance
1680
+
1681
+ def eql?: (Resolv::LOC::Size other) -> bool
1682
+
1683
+ alias == eql?
1684
+
1685
+ def hash: () -> Integer
1686
+
1687
+ def inspect: () -> String
1688
+
1689
+ # <!-- rdoc-file=lib/resolv.rb -->
1690
+ # The raw size
1691
+ #
1692
+ def scalar: () -> String
1693
+
1694
+ def to_s: () -> String
1695
+
1696
+ private
1697
+
1698
+ # <!--
1699
+ # rdoc-file=lib/resolv.rb
1700
+ # - new(scalar)
1701
+ # -->
1702
+ # Internal use; use self.create.
1703
+ #
1704
+ def initialize: (String scalar) -> untyped
1705
+ end
1706
+
1707
+ # <!-- rdoc-file=lib/resolv.rb -->
1708
+ # Regular expression LOC size must match.
1709
+ #
1710
+ Resolv::LOC::Size::Regex: Regexp
1711
+
1712
+ # <!-- rdoc-file=lib/resolv.rb -->
1713
+ # Resolv::MDNS is a one-shot Multicast DNS (mDNS) resolver. It blindly makes
1714
+ # queries to the mDNS addresses without understanding anything about multicast
1715
+ # ports.
1716
+ #
1717
+ # Information taken form the following places:
1718
+ #
1719
+ # * RFC 6762
1720
+ #
1721
+ class Resolv::MDNS < Resolv::DNS
1722
+ # <!--
1723
+ # rdoc-file=lib/resolv.rb
1724
+ # - each_address(name)
1725
+ # -->
1726
+ # Iterates over all IP addresses for `name` retrieved from the mDNS resolver,
1727
+ # provided name ends with "local". If the name does not end in "local" no
1728
+ # records will be returned.
1729
+ #
1730
+ # `name` can be a Resolv::DNS::Name or a String. Retrieved addresses will be a
1731
+ # Resolv::IPv4 or Resolv::IPv6
1732
+ #
1733
+ def each_address: (Resolv::DNS::dns_name name) -> Resolv::DNS::ip_address
1734
+
1735
+ def make_udp_requester: () -> (Resolv::DNS::Requester::ConnectedUDP | Resolv::DNS::Requester::UnconnectedUDP)
1736
+
1737
+ private
1738
+
1739
+ # <!--
1740
+ # rdoc-file=lib/resolv.rb
1741
+ # - new(config_info=nil)
1742
+ # -->
1743
+ # Creates a new one-shot Multicast DNS (mDNS) resolver.
1744
+ #
1745
+ # `config_info` can be:
1746
+ #
1747
+ # nil
1748
+ # : Uses the default mDNS addresses
1749
+ #
1750
+ #
1751
+ # Hash
1752
+ # : Must contain :nameserver or :nameserver_port like Resolv::DNS#initialize.
1753
+ #
1754
+ def initialize: (?String | Hash[Symbol, untyped] config_info) -> untyped
1755
+ end
1756
+
1757
+ # <!-- rdoc-file=lib/resolv.rb -->
1758
+ # Default IPv4 mDNS address
1759
+ #
1760
+ Resolv::MDNS::AddressV4: String
1761
+
1762
+ # <!-- rdoc-file=lib/resolv.rb -->
1763
+ # Default IPv6 mDNS address
1764
+ #
1765
+ Resolv::MDNS::AddressV6: String
1766
+
1767
+ # <!-- rdoc-file=lib/resolv.rb -->
1768
+ # Default mDNS addresses
1769
+ #
1770
+ Resolv::MDNS::Addresses: Array[untyped]
1771
+
1772
+ # <!-- rdoc-file=lib/resolv.rb -->
1773
+ # Default mDNS Port
1774
+ #
1775
+ Resolv::MDNS::Port: Integer
1776
+
1777
+ # <!-- rdoc-file=lib/resolv.rb -->
1778
+ # Indicates a failure to resolve a name or address.
1779
+ #
1780
+ class Resolv::ResolvError < StandardError
1781
+ end
1782
+
1783
+ # <!-- rdoc-file=lib/resolv.rb -->
1784
+ # Indicates a timeout resolving a name or address.
1785
+ #
1786
+ class Resolv::ResolvTimeout < Timeout::Error
1787
+ end