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,1830 @@
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: (?Resolv::Hosts | Resolv::DNS resolvers) -> 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
+ # <!-- rdoc-file=lib/resolv.rb -->
431
+ # Indicates that the DNS response was unable to be decoded.
432
+ #
433
+ class Resolv::DNS::DecodeError < StandardError
434
+ end
435
+
436
+ # <!-- rdoc-file=lib/resolv.rb -->
437
+ # Indicates that the DNS request was unable to be encoded.
438
+ #
439
+ class Resolv::DNS::EncodeError < StandardError
440
+ end
441
+
442
+ module Resolv::DNS::Label
443
+ def self.split: (untyped arg) -> untyped
444
+ end
445
+
446
+ class Resolv::DNS::Label::Str
447
+ def eql?: (Resolv::DNS::Label::Str other) -> bool
448
+
449
+ def downcase: () -> String
450
+
451
+ alias == eql?
452
+
453
+ def hash: () -> Integer
454
+
455
+ def inspect: () -> String
456
+
457
+ def string: () -> String
458
+
459
+ def to_s: () -> String
460
+
461
+ private
462
+
463
+ def initialize: (String string) -> untyped
464
+ end
465
+
466
+ class Resolv::DNS::Message
467
+ def self.decode: (String m) -> instance
468
+
469
+ def ==: (instance other) -> bool
470
+
471
+ def aa: () -> Integer
472
+
473
+ def aa=: (Integer) -> void
474
+
475
+ def add_additional: (String name, Integer ttl, Resolv::DNS::Resource data) -> void
476
+
477
+ def add_answer: (String name, Integer ttl, Resolv::DNS::Resource data) -> void
478
+
479
+ def add_authority: (String name, Integer ttl, Resolv::DNS::Resource data) -> void
480
+
481
+ def add_question: (String name, singleton(Resolv::DNS::Query) typeclass) -> void
482
+
483
+ def additional: () -> Array[[ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]]
484
+
485
+ def answer: () -> Array[[ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]]
486
+
487
+ def authority: () -> Array[[ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]]
488
+
489
+ def each_additional: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
490
+
491
+ def each_answer: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
492
+
493
+ def each_authority: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
494
+
495
+ def each_question: () { (Resolv::DNS::Name, singleton(Resolv::DNS::Query)) -> void } -> void
496
+
497
+ def each_resource: () { (Resolv::DNS::Name, Integer, Resolv::DNS::Resource) -> void } -> void
498
+
499
+ def encode: () -> String
500
+
501
+ def id: () -> Integer
502
+
503
+ def id=: (Integer) -> void
504
+
505
+ def opcode: () -> Integer
506
+
507
+ def opcode=: (Integer) -> void
508
+
509
+ def qr: () -> Integer
510
+
511
+ def qr=: (Integer) -> void
512
+
513
+ def question: () -> Array[[ Resolv::DNS::Name, singleton(Resolv::DNS::Resource) ]]
514
+
515
+ def ra: () -> Integer
516
+
517
+ def ra=: (Integer) -> void
518
+
519
+ def rcode: () -> Integer
520
+
521
+ def rcode=: (Integer) -> void
522
+
523
+ def rd: () -> Integer
524
+
525
+ def rd=: (Integer) -> void
526
+
527
+ def tc: () -> Integer
528
+
529
+ def tc=: (Integer) -> void
530
+
531
+ private
532
+
533
+ def initialize: (?Integer id) -> untyped
534
+ end
535
+
536
+ class Resolv::DNS::Message::MessageDecoder
537
+ def get_bytes: (?Integer len) -> String
538
+
539
+ def get_label: () -> Resolv::DNS::Label::Str
540
+
541
+ def get_labels: () -> Array[Resolv::DNS::Label::Str]
542
+
543
+ def get_length16: () { (Integer) -> Integer } -> Integer
544
+
545
+ def get_name: () -> Resolv::DNS::Name
546
+
547
+ def get_question: () -> Resolv::DNS::Query
548
+
549
+ def get_rr: () -> [ Resolv::DNS::Name, Integer, Resolv::DNS::Resource ]
550
+
551
+ def get_string: () -> String
552
+
553
+ def get_string_list: () -> Array[String]
554
+
555
+ def get_unpack: (String template) -> Array[untyped]
556
+
557
+ def inspect: () -> String
558
+
559
+ private
560
+
561
+ def initialize: (String data) { (instance) -> void } -> untyped
562
+ end
563
+
564
+ class Resolv::DNS::Message::MessageEncoder
565
+ def put_bytes: (string d) -> void
566
+
567
+ def put_label: (_ToS d) -> void
568
+
569
+ def put_labels: (Array[_ToS] d) -> void
570
+
571
+ def put_length16: () { () -> void } -> void
572
+
573
+ def put_name: (Resolv::DNS::Name d) -> void
574
+
575
+ def put_pack: (String template, *untyped d) -> void
576
+
577
+ def put_string: (String d) -> void
578
+
579
+ def put_string_list: (_Each[String] ds) -> void
580
+
581
+ def to_s: () -> untyped
582
+
583
+ private
584
+
585
+ def initialize: () -> untyped
586
+ end
587
+
588
+ # <!-- rdoc-file=lib/resolv.rb -->
589
+ # A representation of a DNS name.
590
+ #
591
+ class Resolv::DNS::Name
592
+ # <!--
593
+ # rdoc-file=lib/resolv.rb
594
+ # - create(arg)
595
+ # -->
596
+ # Creates a new DNS name from `arg`. `arg` can be:
597
+ #
598
+ # Name
599
+ # : returns `arg`.
600
+ #
601
+ # String
602
+ # : Creates a new Name.
603
+ #
604
+ def self.create: (Resolv::DNS::dns_name arg) -> untyped
605
+
606
+ def ==: (instance other) -> bool
607
+
608
+ def []: (Integer i) -> Resolv::DNS::Label::Str?
609
+
610
+ # <!--
611
+ # rdoc-file=lib/resolv.rb
612
+ # - absolute?()
613
+ # -->
614
+ # True if this name is absolute.
615
+ #
616
+ def absolute?: () -> bool
617
+
618
+ alias eql? ==
619
+
620
+ def hash: () -> Integer
621
+
622
+ def inspect: () -> String
623
+
624
+ def length: () -> Integer
625
+
626
+ # <!--
627
+ # rdoc-file=lib/resolv.rb
628
+ # - subdomain_of?(other)
629
+ # -->
630
+ # Returns true if `other` is a subdomain.
631
+ #
632
+ # Example:
633
+ #
634
+ # domain = Resolv::DNS::Name.create("y.z")
635
+ # p Resolv::DNS::Name.create("w.x.y.z").subdomain_of?(domain) #=> true
636
+ # p Resolv::DNS::Name.create("x.y.z").subdomain_of?(domain) #=> true
637
+ # p Resolv::DNS::Name.create("y.z").subdomain_of?(domain) #=> false
638
+ # p Resolv::DNS::Name.create("z").subdomain_of?(domain) #=> false
639
+ # p Resolv::DNS::Name.create("x.y.z.").subdomain_of?(domain) #=> false
640
+ # p Resolv::DNS::Name.create("w.z").subdomain_of?(domain) #=> false
641
+ #
642
+ def subdomain_of?: (instance other) -> bool
643
+
644
+ def to_a: () -> Array[Resolv::DNS::Label::Str]
645
+
646
+ # <!--
647
+ # rdoc-file=lib/resolv.rb
648
+ # - to_s()
649
+ # -->
650
+ # returns the domain name as a string.
651
+ #
652
+ # The domain name doesn't have a trailing dot even if the name object is
653
+ # absolute.
654
+ #
655
+ # Example:
656
+ #
657
+ # p Resolv::DNS::Name.create("x.y.z.").to_s #=> "x.y.z"
658
+ # p Resolv::DNS::Name.create("x.y.z").to_s #=> "x.y.z"
659
+ #
660
+ def to_s: () -> untyped
661
+
662
+ private
663
+
664
+ def initialize: (Array[Resolv::DNS::Label::Str] labels, ?bool absolute) -> untyped
665
+ end
666
+
667
+ module Resolv::DNS::OpCode
668
+ end
669
+
670
+ Resolv::DNS::OpCode::IQuery: Integer
671
+
672
+ Resolv::DNS::OpCode::Notify: Integer
673
+
674
+ Resolv::DNS::OpCode::Query: Integer
675
+
676
+ Resolv::DNS::OpCode::Status: Integer
677
+
678
+ Resolv::DNS::OpCode::Update: Integer
679
+
680
+ # <!-- rdoc-file=lib/resolv.rb -->
681
+ # A DNS query abstract class.
682
+ #
683
+ class Resolv::DNS::Query
684
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
685
+
686
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
687
+ end
688
+
689
+ module Resolv::DNS::RCode
690
+ end
691
+
692
+ Resolv::DNS::RCode::BADALG: Integer
693
+
694
+ Resolv::DNS::RCode::BADKEY: Integer
695
+
696
+ Resolv::DNS::RCode::BADMODE: Integer
697
+
698
+ Resolv::DNS::RCode::BADNAME: Integer
699
+
700
+ Resolv::DNS::RCode::BADSIG: Integer
701
+
702
+ Resolv::DNS::RCode::BADTIME: Integer
703
+
704
+ Resolv::DNS::RCode::BADVERS: Integer
705
+
706
+ Resolv::DNS::RCode::FormErr: Integer
707
+
708
+ Resolv::DNS::RCode::NXDomain: Integer
709
+
710
+ Resolv::DNS::RCode::NXRRSet: Integer
711
+
712
+ Resolv::DNS::RCode::NoError: Integer
713
+
714
+ Resolv::DNS::RCode::NotAuth: Integer
715
+
716
+ Resolv::DNS::RCode::NotImp: Integer
717
+
718
+ Resolv::DNS::RCode::NotZone: Integer
719
+
720
+ Resolv::DNS::RCode::Refused: Integer
721
+
722
+ Resolv::DNS::RCode::ServFail: Integer
723
+
724
+ Resolv::DNS::RCode::YXDomain: Integer
725
+
726
+ Resolv::DNS::RCode::YXRRSet: Integer
727
+
728
+ class Resolv::DNS::Requester
729
+ def close: () -> void
730
+
731
+ def request: (Resolv::DNS::Requester::Sender sender, Numeric tout) -> [ Resolv::DNS::Message, String ]
732
+
733
+ def sender_for: (String addr, Resolv::DNS::Message msg) -> Resolv::DNS::Requester::Sender
734
+
735
+ private
736
+
737
+ def initialize: () -> untyped
738
+ end
739
+
740
+ class Resolv::DNS::Requester::ConnectedUDP < Resolv::DNS::Requester
741
+ def close: () -> void
742
+
743
+ def lazy_initialize: () -> void
744
+
745
+ def recv_reply: (Array[UDPSocket] readable_socks) -> [ String, String ]
746
+
747
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
748
+
749
+ private
750
+
751
+ def initialize: (String host, ?Integer port) -> untyped
752
+ end
753
+
754
+ class Resolv::DNS::Requester::ConnectedUDP::Sender < Resolv::DNS::Requester::Sender
755
+ def data: () -> String
756
+
757
+ def send: () -> void
758
+ end
759
+
760
+ class Resolv::DNS::Requester::MDNSOneShot < Resolv::DNS::Requester::UnconnectedUDP
761
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
762
+
763
+ def recv_reply: (Array[UDPSocket] readable_socks) -> [ String, String ]
764
+ end
765
+
766
+ # <!-- rdoc-file=lib/resolv.rb -->
767
+ # Indicates a problem with the DNS request.
768
+ #
769
+ class Resolv::DNS::Requester::RequestError < StandardError
770
+ end
771
+
772
+ class Resolv::DNS::Requester::Sender
773
+ private
774
+
775
+ def initialize: (Resolv::DNS::Message msg, String data, Socket sock) -> untyped
776
+ end
777
+
778
+ class Resolv::DNS::Requester::TCP < Resolv::DNS::Requester
779
+ def close: () -> untyped
780
+
781
+ def recv_reply: (Array[TCPSocket] readable_socks) -> [ String, String ]
782
+
783
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
784
+
785
+ private
786
+
787
+ def initialize: (String host, ?Integer port) -> untyped
788
+ end
789
+
790
+ class Resolv::DNS::Requester::TCP::Sender < Resolv::DNS::Requester::Sender
791
+ def data: () -> String
792
+
793
+ def send: () -> void
794
+ end
795
+
796
+ class Resolv::DNS::Requester::UnconnectedUDP < Resolv::DNS::Requester
797
+ def close: () -> void
798
+
799
+ def lazy_initialize: () -> void
800
+
801
+ def recv_reply: (Array[UDPSocket] readable_socks) -> [ String, String ]
802
+
803
+ def sender: (Resolv::DNS::Message msg, String data, ?String host, ?Integer port) -> Resolv::DNS::Requester::Sender
804
+
805
+ private
806
+
807
+ def initialize: (*[ String, Integer ] nameserver_port) -> untyped
808
+ end
809
+
810
+ class Resolv::DNS::Requester::UnconnectedUDP::Sender < Resolv::DNS::Requester::Sender
811
+ def data: () -> String
812
+
813
+ def send: () -> void
814
+
815
+ private
816
+
817
+ def initialize: (Resolv::DNS::Message msg, String data, UDPSocket sock, String host, Integer port) -> untyped
818
+ end
819
+
820
+ # <!-- rdoc-file=lib/resolv.rb -->
821
+ # A DNS resource abstract class.
822
+ #
823
+ class Resolv::DNS::Resource < Resolv::DNS::Query
824
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
825
+
826
+ def self.get_class: (Integer type_value, Integer class_value) -> self
827
+
828
+ def eql?: (Resolv::DNS::Resource other) -> bool
829
+
830
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
831
+
832
+ alias == eql?
833
+
834
+ def hash: () -> Integer
835
+
836
+ # <!-- rdoc-file=lib/resolv.rb -->
837
+ # Remaining Time To Live for this Resource.
838
+ #
839
+ def ttl: () -> Integer
840
+ end
841
+
842
+ Resolv::DNS::Resource::ClassHash: Hash[[ Integer, Integer ], singleton(Resolv::DNS::Resource)]
843
+
844
+ Resolv::DNS::Resource::ClassInsensitiveTypes: Array[singleton(Resolv::DNS::Resource)]
845
+
846
+ Resolv::DNS::Resource::ClassValue: Integer?
847
+
848
+ # <!-- rdoc-file=lib/resolv.rb -->
849
+ # A Query type requesting any RR.
850
+ #
851
+ class Resolv::DNS::Resource::ANY < Resolv::DNS::Query
852
+ end
853
+
854
+ Resolv::DNS::Resource::ANY::TypeValue: Integer
855
+
856
+ # <!-- rdoc-file=lib/resolv.rb -->
857
+ # The canonical name for an alias.
858
+ #
859
+ class Resolv::DNS::Resource::CNAME < Resolv::DNS::Resource::DomainName
860
+ end
861
+
862
+ Resolv::DNS::Resource::CNAME::TypeValue: Integer
863
+
864
+ # <!-- rdoc-file=lib/resolv.rb -->
865
+ # Domain Name resource abstract class.
866
+ #
867
+ class Resolv::DNS::Resource::DomainName < Resolv::DNS::Resource
868
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
869
+
870
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
871
+
872
+ # <!-- rdoc-file=lib/resolv.rb -->
873
+ # The name of this DomainName.
874
+ #
875
+ def name: () -> String
876
+
877
+ private
878
+
879
+ # <!--
880
+ # rdoc-file=lib/resolv.rb
881
+ # - new(name)
882
+ # -->
883
+ # Creates a new DomainName from `name`.
884
+ #
885
+ def initialize: (String name) -> untyped
886
+ end
887
+
888
+ # <!-- rdoc-file=lib/resolv.rb -->
889
+ # A generic resource abstract class.
890
+ #
891
+ class Resolv::DNS::Resource::Generic < Resolv::DNS::Resource
892
+ def self.create: (Integer type_value, Integer class_value) -> Class
893
+
894
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
895
+
896
+ # <!-- rdoc-file=lib/resolv.rb -->
897
+ # Data for this generic resource.
898
+ #
899
+ def data: () -> String
900
+
901
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
902
+
903
+ private
904
+
905
+ # <!--
906
+ # rdoc-file=lib/resolv.rb
907
+ # - new(data)
908
+ # -->
909
+ # Creates a new generic resource.
910
+ #
911
+ def initialize: (String data) -> untyped
912
+ end
913
+
914
+ # <!-- rdoc-file=lib/resolv.rb -->
915
+ # Host Information resource.
916
+ #
917
+ class Resolv::DNS::Resource::HINFO < Resolv::DNS::Resource
918
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
919
+
920
+ # <!-- rdoc-file=lib/resolv.rb -->
921
+ # CPU architecture for this resource.
922
+ #
923
+ def cpu: () -> String
924
+
925
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
926
+
927
+ # <!-- rdoc-file=lib/resolv.rb -->
928
+ # Operating system for this resource.
929
+ #
930
+ def os: () -> String
931
+
932
+ private
933
+
934
+ # <!--
935
+ # rdoc-file=lib/resolv.rb
936
+ # - new(cpu, os)
937
+ # -->
938
+ # Creates a new HINFO running `os` on `cpu`.
939
+ #
940
+ def initialize: (String cpu, String os) -> untyped
941
+ end
942
+
943
+ Resolv::DNS::Resource::HINFO::TypeValue: Integer
944
+
945
+ # <!-- rdoc-file=lib/resolv.rb -->
946
+ # module IN contains ARPA Internet specific RRs.
947
+ #
948
+ module Resolv::DNS::Resource::IN
949
+ end
950
+
951
+ Resolv::DNS::Resource::IN::ClassValue: Integer
952
+
953
+ # <!-- rdoc-file=lib/resolv.rb -->
954
+ # IPv4 Address resource
955
+ #
956
+ class Resolv::DNS::Resource::IN::A < Resolv::DNS::Resource
957
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
958
+
959
+ # <!-- rdoc-file=lib/resolv.rb -->
960
+ # The Resolv::IPv4 address for this A.
961
+ #
962
+ def address: () -> Resolv::IPv4
963
+
964
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
965
+
966
+ private
967
+
968
+ # <!--
969
+ # rdoc-file=lib/resolv.rb
970
+ # - new(address)
971
+ # -->
972
+ # Creates a new A for `address`.
973
+ #
974
+ def initialize: (String | Resolv::IPv4 address) -> untyped
975
+ end
976
+
977
+ Resolv::DNS::Resource::IN::A::ClassValue: Integer
978
+
979
+ Resolv::DNS::Resource::IN::A::TypeValue: Integer
980
+
981
+ # <!-- rdoc-file=lib/resolv.rb -->
982
+ # An IPv6 address record.
983
+ #
984
+ class Resolv::DNS::Resource::IN::AAAA < Resolv::DNS::Resource
985
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
986
+
987
+ # <!-- rdoc-file=lib/resolv.rb -->
988
+ # The Resolv::IPv6 address for this AAAA.
989
+ #
990
+ def address: () -> Resolv::IPv6
991
+
992
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
993
+
994
+ private
995
+
996
+ # <!--
997
+ # rdoc-file=lib/resolv.rb
998
+ # - new(address)
999
+ # -->
1000
+ # Creates a new AAAA for `address`.
1001
+ #
1002
+ def initialize: (String | Resolv::IPv6 address) -> untyped
1003
+ end
1004
+
1005
+ Resolv::DNS::Resource::IN::AAAA::ClassValue: Integer
1006
+
1007
+ Resolv::DNS::Resource::IN::AAAA::TypeValue: Integer
1008
+
1009
+ class Resolv::DNS::Resource::IN::ANY < Resolv::DNS::Resource::ANY
1010
+ end
1011
+
1012
+ Resolv::DNS::Resource::IN::ANY::ClassValue: Integer
1013
+
1014
+ Resolv::DNS::Resource::IN::ANY::TypeValue: Integer
1015
+
1016
+ class Resolv::DNS::Resource::IN::CNAME < Resolv::DNS::Resource::CNAME
1017
+ end
1018
+
1019
+ Resolv::DNS::Resource::IN::CNAME::ClassValue: Integer
1020
+
1021
+ Resolv::DNS::Resource::IN::CNAME::TypeValue: Integer
1022
+
1023
+ class Resolv::DNS::Resource::IN::HINFO < Resolv::DNS::Resource::HINFO
1024
+ end
1025
+
1026
+ Resolv::DNS::Resource::IN::HINFO::ClassValue: Integer
1027
+
1028
+ Resolv::DNS::Resource::IN::HINFO::TypeValue: Integer
1029
+
1030
+ class Resolv::DNS::Resource::IN::LOC < Resolv::DNS::Resource::LOC
1031
+ end
1032
+
1033
+ Resolv::DNS::Resource::IN::LOC::ClassValue: Integer
1034
+
1035
+ Resolv::DNS::Resource::IN::LOC::TypeValue: Integer
1036
+
1037
+ class Resolv::DNS::Resource::IN::MINFO < Resolv::DNS::Resource::MINFO
1038
+ end
1039
+
1040
+ Resolv::DNS::Resource::IN::MINFO::ClassValue: Integer
1041
+
1042
+ Resolv::DNS::Resource::IN::MINFO::TypeValue: Integer
1043
+
1044
+ class Resolv::DNS::Resource::IN::MX < Resolv::DNS::Resource::MX
1045
+ end
1046
+
1047
+ Resolv::DNS::Resource::IN::MX::ClassValue: Integer
1048
+
1049
+ Resolv::DNS::Resource::IN::MX::TypeValue: Integer
1050
+
1051
+ class Resolv::DNS::Resource::IN::NS < Resolv::DNS::Resource::NS
1052
+ end
1053
+
1054
+ Resolv::DNS::Resource::IN::NS::ClassValue: Integer
1055
+
1056
+ Resolv::DNS::Resource::IN::NS::TypeValue: Integer
1057
+
1058
+ class Resolv::DNS::Resource::IN::PTR < Resolv::DNS::Resource::PTR
1059
+ end
1060
+
1061
+ Resolv::DNS::Resource::IN::PTR::ClassValue: Integer
1062
+
1063
+ Resolv::DNS::Resource::IN::PTR::TypeValue: Integer
1064
+
1065
+ class Resolv::DNS::Resource::IN::SOA < Resolv::DNS::Resource::SOA
1066
+ end
1067
+
1068
+ Resolv::DNS::Resource::IN::SOA::ClassValue: Integer
1069
+
1070
+ Resolv::DNS::Resource::IN::SOA::TypeValue: Integer
1071
+
1072
+ # <!-- rdoc-file=lib/resolv.rb -->
1073
+ # SRV resource record defined in RFC 2782
1074
+ #
1075
+ # These records identify the hostname and port that a service is available at.
1076
+ #
1077
+ class Resolv::DNS::Resource::IN::SRV < Resolv::DNS::Resource
1078
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1079
+
1080
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1081
+
1082
+ # <!-- rdoc-file=lib/resolv.rb -->
1083
+ # The port on this target host of this service.
1084
+ #
1085
+ # The range is 0-65535.
1086
+ #
1087
+ def port: () -> Integer
1088
+
1089
+ # <!-- rdoc-file=lib/resolv.rb -->
1090
+ # The priority of this target host.
1091
+ #
1092
+ # A client MUST attempt to contact the target host with the lowest-numbered
1093
+ # priority it can reach; target hosts with the same priority SHOULD be tried in
1094
+ # an order defined by the weight field. The range is 0-65535. Note that it is
1095
+ # not widely implemented and should be set to zero.
1096
+ #
1097
+ def priority: () -> Integer
1098
+
1099
+ # <!-- rdoc-file=lib/resolv.rb -->
1100
+ # The domain name of the target host.
1101
+ #
1102
+ # A target of "." means that the service is decidedly not available at this
1103
+ # domain.
1104
+ #
1105
+ def target: () -> String
1106
+
1107
+ # <!-- rdoc-file=lib/resolv.rb -->
1108
+ # A server selection mechanism.
1109
+ #
1110
+ # The weight field specifies a relative weight for entries with the same
1111
+ # priority. Larger weights SHOULD be given a proportionately higher probability
1112
+ # of being selected. The range of this number is 0-65535. Domain administrators
1113
+ # SHOULD use Weight 0 when there isn't any server selection to do, to make the
1114
+ # RR easier to read for humans (less noisy). Note that it is not widely
1115
+ # implemented and should be set to zero.
1116
+ #
1117
+ def weight: () -> Integer
1118
+
1119
+ private
1120
+
1121
+ # <!--
1122
+ # rdoc-file=lib/resolv.rb
1123
+ # - new(priority, weight, port, target)
1124
+ # -->
1125
+ # Create a SRV resource record.
1126
+ #
1127
+ # See the documentation for #priority, #weight, #port and #target for
1128
+ # `priority`, `weight`, +port and `target` respectively.
1129
+ #
1130
+ def initialize: (Integer priority, Integer weight, Integer port, String target) -> untyped
1131
+ end
1132
+
1133
+ Resolv::DNS::Resource::IN::SRV::ClassValue: Integer
1134
+
1135
+ Resolv::DNS::Resource::IN::SRV::TypeValue: Integer
1136
+
1137
+ class Resolv::DNS::Resource::IN::TXT < Resolv::DNS::Resource::TXT
1138
+ end
1139
+
1140
+ Resolv::DNS::Resource::IN::TXT::ClassValue: Integer
1141
+
1142
+ Resolv::DNS::Resource::IN::TXT::TypeValue: Integer
1143
+
1144
+ # <!-- rdoc-file=lib/resolv.rb -->
1145
+ # Well Known Service resource.
1146
+ #
1147
+ class Resolv::DNS::Resource::IN::WKS < Resolv::DNS::Resource
1148
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1149
+
1150
+ # <!-- rdoc-file=lib/resolv.rb -->
1151
+ # The host these services run on.
1152
+ #
1153
+ def address: () -> Resolv::IPv4
1154
+
1155
+ # <!-- rdoc-file=lib/resolv.rb -->
1156
+ # A bit map of enabled services on this host.
1157
+ #
1158
+ # If protocol is 6 (TCP) then the 26th bit corresponds to the SMTP service (port
1159
+ # 25). If this bit is set, then an SMTP server should be listening on TCP port
1160
+ # 25; if zero, SMTP service is not supported.
1161
+ #
1162
+ def bitmap: () -> Integer
1163
+
1164
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1165
+
1166
+ # <!-- rdoc-file=lib/resolv.rb -->
1167
+ # IP protocol number for these services.
1168
+ #
1169
+ def protocol: () -> Integer
1170
+
1171
+ private
1172
+
1173
+ # <!--
1174
+ # rdoc-file=lib/resolv.rb
1175
+ # - new(address, protocol, bitmap)
1176
+ # -->
1177
+ #
1178
+ def initialize: (String | Resolv::IPv4 address, Integer protocol, Integer bitmap) -> untyped
1179
+ end
1180
+
1181
+ Resolv::DNS::Resource::IN::WKS::ClassValue: Integer
1182
+
1183
+ Resolv::DNS::Resource::IN::WKS::TypeValue: Integer
1184
+
1185
+ # <!-- rdoc-file=lib/resolv.rb -->
1186
+ # Location resource
1187
+ #
1188
+ class Resolv::DNS::Resource::LOC < Resolv::DNS::Resource
1189
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1190
+
1191
+ # <!-- rdoc-file=lib/resolv.rb -->
1192
+ # The altitude of the LOC above a reference sphere whose surface sits 100km
1193
+ # below the WGS84 spheroid in centimeters as an unsigned 32bit integer
1194
+ #
1195
+ def altitude: () -> Integer
1196
+
1197
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1198
+
1199
+ # <!-- rdoc-file=lib/resolv.rb -->
1200
+ # The horizontal precision using ssize type values in meters using scientific
1201
+ # notation as 2 integers of XeY for precision use value/2 e.g. 2m = +/-1m
1202
+ #
1203
+ def hprecision: () -> Integer
1204
+
1205
+ # <!-- rdoc-file=lib/resolv.rb -->
1206
+ # The latitude for this LOC where 2**31 is the equator in thousandths of an arc
1207
+ # second as an unsigned 32bit integer
1208
+ #
1209
+ def latitude: () -> Integer
1210
+
1211
+ # <!-- rdoc-file=lib/resolv.rb -->
1212
+ # The longitude for this LOC where 2**31 is the prime meridian in thousandths of
1213
+ # an arc second as an unsigned 32bit integer
1214
+ #
1215
+ def longitude: () -> Integer
1216
+
1217
+ # <!-- rdoc-file=lib/resolv.rb -->
1218
+ # The spherical size of this LOC in meters using scientific notation as 2
1219
+ # integers of XeY
1220
+ #
1221
+ def ssize: () -> Integer
1222
+
1223
+ # <!-- rdoc-file=lib/resolv.rb -->
1224
+ # Returns the version value for this LOC record which should always be 00
1225
+ #
1226
+ def version: () -> Integer
1227
+
1228
+ # <!-- rdoc-file=lib/resolv.rb -->
1229
+ # The vertical precision using ssize type values in meters using scientific
1230
+ # notation as 2 integers of XeY for precision use value/2 e.g. 2m = +/-1m
1231
+ #
1232
+ def vprecision: () -> Integer
1233
+
1234
+ private
1235
+
1236
+ # <!--
1237
+ # rdoc-file=lib/resolv.rb
1238
+ # - new(version, ssize, hprecision, vprecision, latitude, longitude, altitude)
1239
+ # -->
1240
+ #
1241
+ def initialize: (Integer version, Integer ssize, Integer hprecision, Integer vprecision, Integer latitude, Integer longitude, Integer altitude) -> untyped
1242
+ end
1243
+
1244
+ Resolv::DNS::Resource::LOC::TypeValue: Integer
1245
+
1246
+ # <!-- rdoc-file=lib/resolv.rb -->
1247
+ # Mailing list or mailbox information.
1248
+ #
1249
+ class Resolv::DNS::Resource::MINFO < Resolv::DNS::Resource
1250
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1251
+
1252
+ # <!-- rdoc-file=lib/resolv.rb -->
1253
+ # Mailbox to use for error messages related to the mail list or mailbox.
1254
+ #
1255
+ def emailbx: () -> String
1256
+
1257
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1258
+
1259
+ # <!-- rdoc-file=lib/resolv.rb -->
1260
+ # Domain name responsible for this mail list or mailbox.
1261
+ #
1262
+ def rmailbx: () -> String
1263
+
1264
+ private
1265
+
1266
+ # <!--
1267
+ # rdoc-file=lib/resolv.rb
1268
+ # - new(rmailbx, emailbx)
1269
+ # -->
1270
+ #
1271
+ def initialize: (String rmailbx, String emailbx) -> untyped
1272
+ end
1273
+
1274
+ Resolv::DNS::Resource::MINFO::TypeValue: Integer
1275
+
1276
+ # <!-- rdoc-file=lib/resolv.rb -->
1277
+ # Mail Exchanger resource.
1278
+ #
1279
+ class Resolv::DNS::Resource::MX < Resolv::DNS::Resource
1280
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1281
+
1282
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1283
+
1284
+ # <!-- rdoc-file=lib/resolv.rb -->
1285
+ # The host of this MX.
1286
+ #
1287
+ def exchange: () -> String
1288
+
1289
+ # <!-- rdoc-file=lib/resolv.rb -->
1290
+ # The preference for this MX.
1291
+ #
1292
+ def preference: () -> Integer
1293
+
1294
+ private
1295
+
1296
+ # <!--
1297
+ # rdoc-file=lib/resolv.rb
1298
+ # - new(preference, exchange)
1299
+ # -->
1300
+ # Creates a new MX record with `preference`, accepting mail at `exchange`.
1301
+ #
1302
+ def initialize: (Integer preference, String exchange) -> untyped
1303
+ end
1304
+
1305
+ Resolv::DNS::Resource::MX::TypeValue: Integer
1306
+
1307
+ # <!-- rdoc-file=lib/resolv.rb -->
1308
+ # An authoritative name server.
1309
+ #
1310
+ class Resolv::DNS::Resource::NS < Resolv::DNS::Resource::DomainName
1311
+ end
1312
+
1313
+ Resolv::DNS::Resource::NS::TypeValue: Integer
1314
+
1315
+ # <!-- rdoc-file=lib/resolv.rb -->
1316
+ # A Pointer to another DNS name.
1317
+ #
1318
+ class Resolv::DNS::Resource::PTR < Resolv::DNS::Resource::DomainName
1319
+ end
1320
+
1321
+ Resolv::DNS::Resource::PTR::TypeValue: Integer
1322
+
1323
+ # <!-- rdoc-file=lib/resolv.rb -->
1324
+ # Start Of Authority resource.
1325
+ #
1326
+ class Resolv::DNS::Resource::SOA < Resolv::DNS::Resource
1327
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1328
+
1329
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1330
+
1331
+ # <!-- rdoc-file=lib/resolv.rb -->
1332
+ # Time in seconds that a secondary name server is to use the data before
1333
+ # refreshing from the primary name server.
1334
+ #
1335
+ def expire: () -> Integer
1336
+
1337
+ # <!-- rdoc-file=lib/resolv.rb -->
1338
+ # The minimum number of seconds to be used for TTL values in RRs.
1339
+ #
1340
+ def minimum: () -> Integer
1341
+
1342
+ # <!-- rdoc-file=lib/resolv.rb -->
1343
+ # Name of the host where the master zone file for this zone resides.
1344
+ #
1345
+ def mname: () -> String
1346
+
1347
+ # <!-- rdoc-file=lib/resolv.rb -->
1348
+ # How often, in seconds, a secondary name server is to check for updates from
1349
+ # the primary name server.
1350
+ #
1351
+ def refresh: () -> Integer
1352
+
1353
+ # <!-- rdoc-file=lib/resolv.rb -->
1354
+ # How often, in seconds, a secondary name server is to retry after a failure to
1355
+ # check for a refresh.
1356
+ #
1357
+ def retry: () -> Integer
1358
+
1359
+ # <!-- rdoc-file=lib/resolv.rb -->
1360
+ # The person responsible for this domain name.
1361
+ #
1362
+ def rname: () -> String
1363
+
1364
+ # <!-- rdoc-file=lib/resolv.rb -->
1365
+ # The version number of the zone file.
1366
+ #
1367
+ def serial: () -> Integer
1368
+
1369
+ private
1370
+
1371
+ # <!--
1372
+ # rdoc-file=lib/resolv.rb
1373
+ # - new(mname, rname, serial, refresh, retry_, expire, minimum)
1374
+ # -->
1375
+ # Creates a new SOA record. See the attr documentation for the details of each
1376
+ # argument.
1377
+ #
1378
+ def initialize: (String mname, String rname, Integer serial, Integer refresh, Integer retry_, Integer expire, Integer minimum) -> untyped
1379
+ end
1380
+
1381
+ Resolv::DNS::Resource::SOA::TypeValue: Integer
1382
+
1383
+ # <!-- rdoc-file=lib/resolv.rb -->
1384
+ # Unstructured text resource.
1385
+ #
1386
+ class Resolv::DNS::Resource::TXT < Resolv::DNS::Resource
1387
+ def self.decode_rdata: (Resolv::DNS::Message::MessageDecoder msg) -> instance
1388
+
1389
+ # <!--
1390
+ # rdoc-file=lib/resolv.rb
1391
+ # - data()
1392
+ # -->
1393
+ # Returns the concatenated string from `strings`.
1394
+ #
1395
+ def data: () -> String
1396
+
1397
+ def encode_rdata: (Resolv::DNS::Message::MessageEncoder msg) -> void
1398
+
1399
+ # <!-- rdoc-file=lib/resolv.rb -->
1400
+ # Returns an Array of Strings for this TXT record.
1401
+ #
1402
+ def strings: () -> Array[String]
1403
+
1404
+ private
1405
+
1406
+ # <!--
1407
+ # rdoc-file=lib/resolv.rb
1408
+ # - new(first_string, *rest_strings)
1409
+ # -->
1410
+ #
1411
+ def initialize: (String first_string, *String rest_strings) -> untyped
1412
+ end
1413
+
1414
+ Resolv::DNS::Resource::TXT::TypeValue: Integer
1415
+
1416
+ # <!-- rdoc-file=lib/resolv.rb -->
1417
+ # Resolv::Hosts is a hostname resolver that uses the system hosts file.
1418
+ #
1419
+ class Resolv::Hosts
1420
+ # <!--
1421
+ # rdoc-file=lib/resolv.rb
1422
+ # - each_address(name, &proc)
1423
+ # -->
1424
+ # Iterates over all IP addresses for `name` retrieved from the hosts file.
1425
+ #
1426
+ def each_address: (String name) { (String) -> void } -> void
1427
+
1428
+ # <!--
1429
+ # rdoc-file=lib/resolv.rb
1430
+ # - each_name(address, &proc)
1431
+ # -->
1432
+ # Iterates over all hostnames for `address` retrieved from the hosts file.
1433
+ #
1434
+ def each_name: (String address) { (String) -> void } -> void
1435
+
1436
+ # <!--
1437
+ # rdoc-file=lib/resolv.rb
1438
+ # - getaddress(name)
1439
+ # -->
1440
+ # Gets the IP address of `name` from the hosts file.
1441
+ #
1442
+ def getaddress: (String name) -> String
1443
+
1444
+ # <!--
1445
+ # rdoc-file=lib/resolv.rb
1446
+ # - getaddresses(name)
1447
+ # -->
1448
+ # Gets all IP addresses for `name` from the hosts file.
1449
+ #
1450
+ def getaddresses: (String name) -> Array[String]
1451
+
1452
+ # <!--
1453
+ # rdoc-file=lib/resolv.rb
1454
+ # - getname(address)
1455
+ # -->
1456
+ # Gets the hostname of `address` from the hosts file.
1457
+ #
1458
+ def getname: (String address) -> String
1459
+
1460
+ # <!--
1461
+ # rdoc-file=lib/resolv.rb
1462
+ # - getnames(address)
1463
+ # -->
1464
+ # Gets all hostnames for `address` from the hosts file.
1465
+ #
1466
+ def getnames: (String address) -> Array[String]
1467
+
1468
+ def lazy_initialize: () -> void
1469
+
1470
+ private
1471
+
1472
+ # <!--
1473
+ # rdoc-file=lib/resolv.rb
1474
+ # - new(filename = DefaultFileName)
1475
+ # -->
1476
+ # Creates a new Resolv::Hosts, using `filename` for its data source.
1477
+ #
1478
+ def initialize: (?String filename) -> untyped
1479
+ end
1480
+
1481
+ Resolv::Hosts::DefaultFileName: String
1482
+
1483
+ # <!-- rdoc-file=lib/resolv.rb -->
1484
+ # A Resolv::DNS IPv4 address.
1485
+ #
1486
+ class Resolv::IPv4
1487
+ # <!--
1488
+ # rdoc-file=lib/resolv.rb
1489
+ # - create(arg)
1490
+ # -->
1491
+ #
1492
+ def self.create: (String | instance arg) -> instance
1493
+
1494
+ def ==: (instance other) -> bool
1495
+
1496
+ # <!-- rdoc-file=lib/resolv.rb -->
1497
+ # The raw IPv4 address as a String.
1498
+ #
1499
+ def address: () -> String
1500
+
1501
+ def eql?: (instance other) -> bool
1502
+
1503
+ def hash: () -> Integer
1504
+
1505
+ def inspect: () -> String
1506
+
1507
+ # <!--
1508
+ # rdoc-file=lib/resolv.rb
1509
+ # - to_name()
1510
+ # -->
1511
+ # Turns this IPv4 address into a Resolv::DNS::Name.
1512
+ #
1513
+ def to_name: () -> Resolv::DNS::Name
1514
+
1515
+ def to_s: () -> String
1516
+
1517
+ private
1518
+
1519
+ def initialize: (String address) -> untyped
1520
+ end
1521
+
1522
+ Resolv::IPv4::Regex: Regexp
1523
+
1524
+ # <!-- rdoc-file=lib/resolv.rb -->
1525
+ # Regular expression IPv4 addresses must match.
1526
+ #
1527
+ Resolv::IPv4::Regex256: Regexp
1528
+
1529
+ # <!-- rdoc-file=lib/resolv.rb -->
1530
+ # A Resolv::DNS IPv6 address.
1531
+ #
1532
+ class Resolv::IPv6
1533
+ # <!--
1534
+ # rdoc-file=lib/resolv.rb
1535
+ # - create(arg)
1536
+ # -->
1537
+ # Creates a new IPv6 address from `arg` which may be:
1538
+ #
1539
+ # IPv6
1540
+ # : returns `arg`.
1541
+ #
1542
+ # String
1543
+ # : `arg` must match one of the IPv6::Regex* constants
1544
+ #
1545
+ def self.create: (String | instance arg) -> instance
1546
+
1547
+ def ==: (instance other) -> bool
1548
+
1549
+ # <!-- rdoc-file=lib/resolv.rb -->
1550
+ # The raw IPv6 address as a String.
1551
+ #
1552
+ def address: () -> String
1553
+
1554
+ def eql?: (instance other) -> bool
1555
+
1556
+ def hash: () -> Integer
1557
+
1558
+ def inspect: () -> String
1559
+
1560
+ # <!--
1561
+ # rdoc-file=lib/resolv.rb
1562
+ # - to_name()
1563
+ # -->
1564
+ # Turns this IPv6 address into a Resolv::DNS::Name.
1565
+ #
1566
+ def to_name: () -> Resolv::DNS::Name
1567
+
1568
+ def to_s: () -> String
1569
+
1570
+ private
1571
+
1572
+ def initialize: (untyped address) -> untyped
1573
+ end
1574
+
1575
+ # <!-- rdoc-file=lib/resolv.rb -->
1576
+ # A composite IPv6 address Regexp.
1577
+ #
1578
+ Resolv::IPv6::Regex: Regexp
1579
+
1580
+ # <!-- rdoc-file=lib/resolv.rb -->
1581
+ # IPv4 mapped IPv6 address format a:b:c:d:e:f:w.x.y.z
1582
+ #
1583
+ Resolv::IPv6::Regex_6Hex4Dec: Regexp
1584
+
1585
+ # <!-- rdoc-file=lib/resolv.rb -->
1586
+ # IPv6 address format a:b:c:d:e:f:g:h
1587
+ #
1588
+ Resolv::IPv6::Regex_8Hex: Regexp
1589
+
1590
+ # <!-- rdoc-file=lib/resolv.rb -->
1591
+ # IPv6 link local address format fe80:b:c:d:e:f:g:h%em1
1592
+ #
1593
+ Resolv::IPv6::Regex_8HexLinkLocal: Regexp
1594
+
1595
+ # <!-- rdoc-file=lib/resolv.rb -->
1596
+ # Compressed IPv6 address format a::b
1597
+ #
1598
+ Resolv::IPv6::Regex_CompressedHex: Regexp
1599
+
1600
+ # <!-- rdoc-file=lib/resolv.rb -->
1601
+ # Compressed IPv4 mapped IPv6 address format a::b:w.x.y.z
1602
+ #
1603
+ Resolv::IPv6::Regex_CompressedHex4Dec: Regexp
1604
+
1605
+ # <!-- rdoc-file=lib/resolv.rb -->
1606
+ # Compressed IPv6 link local address format fe80::b%em1
1607
+ #
1608
+ Resolv::IPv6::Regex_CompressedHexLinkLocal: Regexp
1609
+
1610
+ module Resolv::LOC
1611
+ end
1612
+
1613
+ # <!-- rdoc-file=lib/resolv.rb -->
1614
+ # A Resolv::LOC::Alt
1615
+ #
1616
+ class Resolv::LOC::Alt
1617
+ # <!--
1618
+ # rdoc-file=lib/resolv.rb
1619
+ # - create(arg)
1620
+ # -->
1621
+ # Creates a new LOC::Alt from `arg` which may be:
1622
+ #
1623
+ # LOC::Alt
1624
+ # : returns `arg`.
1625
+ #
1626
+ # String
1627
+ # : `arg` must match the LOC::Alt::Regex constant
1628
+ #
1629
+ def self.create: (Resolv::LOC::Alt | String arg) -> instance
1630
+
1631
+ def eql?: (Resolv::LOC::Alt other) -> bool
1632
+
1633
+ # <!-- rdoc-file=lib/resolv.rb -->
1634
+ # The raw altitude
1635
+ #
1636
+ def altitude: () -> Integer
1637
+
1638
+ alias == eql?
1639
+
1640
+ def hash: () -> Integer
1641
+
1642
+ def inspect: () -> String
1643
+
1644
+ def to_s: () -> String
1645
+
1646
+ private
1647
+
1648
+ # <!--
1649
+ # rdoc-file=lib/resolv.rb
1650
+ # - new(altitude)
1651
+ # -->
1652
+ #
1653
+ def initialize: (Integer altitude) -> untyped
1654
+ end
1655
+
1656
+ Resolv::LOC::Alt::Regex: Regexp
1657
+
1658
+ # <!-- rdoc-file=lib/resolv.rb -->
1659
+ # A Resolv::LOC::Coord
1660
+ #
1661
+ class Resolv::LOC::Coord
1662
+ type orientation = "lat" | "lon"
1663
+
1664
+ # <!--
1665
+ # rdoc-file=lib/resolv.rb
1666
+ # - create(arg)
1667
+ # -->
1668
+ # Creates a new LOC::Coord from `arg` which may be:
1669
+ #
1670
+ # LOC::Coord
1671
+ # : returns `arg`.
1672
+ #
1673
+ # String
1674
+ # : `arg` must match the LOC::Coord::Regex constant
1675
+ #
1676
+ def self.create: (Resolv::LOC::Coord | String arg) -> instance
1677
+
1678
+ def eql?: (Resolv::LOC::Coord other) -> bool
1679
+
1680
+ # <!-- rdoc-file=lib/resolv.rb -->
1681
+ # The raw coordinates
1682
+ #
1683
+ def coordinates: () -> String
1684
+
1685
+ alias == eql?
1686
+
1687
+ def hash: () -> Integer
1688
+
1689
+ def inspect: () -> String
1690
+
1691
+ # <!-- rdoc-file=lib/resolv.rb -->
1692
+ # The orientation of the hemisphere as 'lat' or 'lon'
1693
+ #
1694
+ def orientation: () -> orientation
1695
+
1696
+ def to_s: () -> String
1697
+
1698
+ private
1699
+
1700
+ # <!--
1701
+ # rdoc-file=lib/resolv.rb
1702
+ # - new(coordinates,orientation)
1703
+ # -->
1704
+ #
1705
+ def initialize: (String coordinates, orientation orientation) -> untyped
1706
+ end
1707
+
1708
+ Resolv::LOC::Coord::Regex: Regexp
1709
+
1710
+ # <!-- rdoc-file=lib/resolv.rb -->
1711
+ # A Resolv::LOC::Size
1712
+ #
1713
+ class Resolv::LOC::Size
1714
+ # <!--
1715
+ # rdoc-file=lib/resolv.rb
1716
+ # - create(arg)
1717
+ # -->
1718
+ # Creates a new LOC::Size from `arg` which may be:
1719
+ #
1720
+ # LOC::Size
1721
+ # : returns `arg`.
1722
+ #
1723
+ # String
1724
+ # : `arg` must match the LOC::Size::Regex constant
1725
+ #
1726
+ def self.create: (Resolv::LOC::Size | String arg) -> instance
1727
+
1728
+ def eql?: (Resolv::LOC::Size other) -> bool
1729
+
1730
+ alias == eql?
1731
+
1732
+ def hash: () -> Integer
1733
+
1734
+ def inspect: () -> String
1735
+
1736
+ # <!-- rdoc-file=lib/resolv.rb -->
1737
+ # The raw size
1738
+ #
1739
+ def scalar: () -> String
1740
+
1741
+ def to_s: () -> String
1742
+
1743
+ private
1744
+
1745
+ # <!--
1746
+ # rdoc-file=lib/resolv.rb
1747
+ # - new(scalar)
1748
+ # -->
1749
+ #
1750
+ def initialize: (String scalar) -> untyped
1751
+ end
1752
+
1753
+ Resolv::LOC::Size::Regex: Regexp
1754
+
1755
+ # <!-- rdoc-file=lib/resolv.rb -->
1756
+ # Resolv::MDNS is a one-shot Multicast DNS (mDNS) resolver. It blindly makes
1757
+ # queries to the mDNS addresses without understanding anything about multicast
1758
+ # ports.
1759
+ #
1760
+ # Information taken form the following places:
1761
+ #
1762
+ # * RFC 6762
1763
+ #
1764
+ class Resolv::MDNS < Resolv::DNS
1765
+ # <!--
1766
+ # rdoc-file=lib/resolv.rb
1767
+ # - each_address(name)
1768
+ # -->
1769
+ # Iterates over all IP addresses for `name` retrieved from the mDNS resolver,
1770
+ # provided name ends with "local". If the name does not end in "local" no
1771
+ # records will be returned.
1772
+ #
1773
+ # `name` can be a Resolv::DNS::Name or a String. Retrieved addresses will be a
1774
+ # Resolv::IPv4 or Resolv::IPv6
1775
+ #
1776
+ def each_address: (Resolv::DNS::dns_name name) -> Resolv::DNS::ip_address
1777
+
1778
+ def make_udp_requester: () -> (Resolv::DNS::Requester::ConnectedUDP | Resolv::DNS::Requester::UnconnectedUDP)
1779
+
1780
+ private
1781
+
1782
+ # <!--
1783
+ # rdoc-file=lib/resolv.rb
1784
+ # - new(config_info=nil)
1785
+ # -->
1786
+ # Creates a new one-shot Multicast DNS (mDNS) resolver.
1787
+ #
1788
+ # `config_info` can be:
1789
+ #
1790
+ # nil
1791
+ # : Uses the default mDNS addresses
1792
+ #
1793
+ #
1794
+ # Hash
1795
+ # : Must contain :nameserver or :nameserver_port like Resolv::DNS#initialize.
1796
+ #
1797
+ def initialize: (?String | Hash[Symbol, untyped] config_info) -> untyped
1798
+ end
1799
+
1800
+ # <!-- rdoc-file=lib/resolv.rb -->
1801
+ # Default IPv4 mDNS address
1802
+ #
1803
+ Resolv::MDNS::AddressV4: String
1804
+
1805
+ # <!-- rdoc-file=lib/resolv.rb -->
1806
+ # Default IPv6 mDNS address
1807
+ #
1808
+ Resolv::MDNS::AddressV6: String
1809
+
1810
+ # <!-- rdoc-file=lib/resolv.rb -->
1811
+ # Default mDNS addresses
1812
+ #
1813
+ Resolv::MDNS::Addresses: Array[untyped]
1814
+
1815
+ # <!-- rdoc-file=lib/resolv.rb -->
1816
+ # Default mDNS Port
1817
+ #
1818
+ Resolv::MDNS::Port: Integer
1819
+
1820
+ # <!-- rdoc-file=lib/resolv.rb -->
1821
+ # Indicates a failure to resolve a name or address.
1822
+ #
1823
+ class Resolv::ResolvError < StandardError
1824
+ end
1825
+
1826
+ # <!-- rdoc-file=lib/resolv.rb -->
1827
+ # Indicates a timeout resolving a name or address.
1828
+ #
1829
+ class Resolv::ResolvTimeout < Timeout::Error
1830
+ end