rbs 3.9.4 → 4.1.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 (348) hide show
  1. checksums.yaml +4 -4
  2. data/.clang-format +75 -0
  3. data/.clangd +2 -0
  4. data/.dockerignore +37 -0
  5. data/.github/dependabot.yml +16 -14
  6. data/.github/workflows/bundle-update.yml +63 -0
  7. data/.github/workflows/c-check.yml +66 -0
  8. data/.github/workflows/comments.yml +5 -3
  9. data/.github/workflows/dependabot.yml +2 -2
  10. data/.github/workflows/jruby.yml +79 -0
  11. data/.github/workflows/release-gems.yml +164 -0
  12. data/.github/workflows/ruby.yml +84 -30
  13. data/.github/workflows/rust.yml +186 -0
  14. data/.github/workflows/truffleruby.yml +54 -0
  15. data/.github/workflows/typecheck.yml +5 -2
  16. data/.github/workflows/wasm.yml +55 -0
  17. data/.github/workflows/windows.yml +9 -3
  18. data/.gitignore +16 -0
  19. data/.rubocop.yml +2 -2
  20. data/CHANGELOG.md +430 -0
  21. data/Dockerfile.jruby +53 -0
  22. data/README.md +41 -4
  23. data/Rakefile +777 -60
  24. data/Steepfile +11 -0
  25. data/config.yml +660 -62
  26. data/core/array.rbs +541 -398
  27. data/core/basic_object.rbs +9 -8
  28. data/core/binding.rbs +0 -2
  29. data/core/builtin.rbs +9 -8
  30. data/core/class.rbs +11 -8
  31. data/core/comparable.rbs +55 -34
  32. data/core/complex.rbs +104 -78
  33. data/core/dir.rbs +61 -49
  34. data/core/encoding.rbs +12 -15
  35. data/core/enumerable.rbs +297 -196
  36. data/core/enumerator/arithmetic_sequence.rbs +70 -0
  37. data/core/enumerator/product.rbs +5 -5
  38. data/core/enumerator.rbs +91 -28
  39. data/core/errno.rbs +11 -2
  40. data/core/errors.rbs +58 -29
  41. data/core/exception.rbs +13 -13
  42. data/core/fiber.rbs +74 -54
  43. data/core/file.rbs +260 -1151
  44. data/core/file_constants.rbs +463 -0
  45. data/core/file_stat.rbs +534 -0
  46. data/core/file_test.rbs +3 -3
  47. data/core/float.rbs +257 -116
  48. data/core/gc.rbs +425 -281
  49. data/core/hash.rbs +1151 -829
  50. data/core/integer.rbs +156 -195
  51. data/core/io/buffer.rbs +53 -42
  52. data/core/io/wait.rbs +13 -35
  53. data/core/io.rbs +220 -154
  54. data/core/kernel.rbs +239 -163
  55. data/core/marshal.rbs +4 -4
  56. data/core/match_data.rbs +16 -14
  57. data/core/math.rbs +107 -66
  58. data/core/method.rbs +69 -33
  59. data/core/module.rbs +302 -150
  60. data/core/nil_class.rbs +7 -6
  61. data/core/numeric.rbs +77 -63
  62. data/core/object.rbs +9 -11
  63. data/core/object_space/weak_key_map.rbs +7 -7
  64. data/core/object_space.rbs +30 -23
  65. data/core/pathname.rbs +1312 -0
  66. data/core/proc.rbs +95 -58
  67. data/core/process.rbs +222 -202
  68. data/core/ractor.rbs +364 -518
  69. data/core/random.rbs +21 -3
  70. data/core/range.rbs +181 -79
  71. data/core/rational.rbs +60 -89
  72. data/core/rbs/ops.rbs +154 -0
  73. data/core/rbs/unnamed/argf.rbs +63 -56
  74. data/core/rbs/unnamed/env_class.rbs +19 -14
  75. data/core/rbs/unnamed/main_class.rbs +123 -0
  76. data/core/rbs/unnamed/random.rbs +11 -118
  77. data/core/regexp.rbs +258 -214
  78. data/core/ruby.rbs +53 -0
  79. data/core/ruby_vm.rbs +78 -34
  80. data/core/rubygems/config_file.rbs +5 -5
  81. data/core/rubygems/errors.rbs +6 -70
  82. data/core/rubygems/requirement.rbs +5 -15
  83. data/core/rubygems/rubygems.rbs +18 -81
  84. data/core/rubygems/specification.rbs +8 -0
  85. data/core/rubygems/version.rbs +2 -163
  86. data/core/set.rbs +493 -363
  87. data/core/signal.rbs +26 -16
  88. data/core/string.rbs +3234 -1285
  89. data/core/struct.rbs +43 -42
  90. data/core/symbol.rbs +41 -34
  91. data/core/thread.rbs +139 -83
  92. data/core/time.rbs +81 -50
  93. data/core/trace_point.rbs +41 -35
  94. data/core/true_class.rbs +2 -2
  95. data/core/unbound_method.rbs +24 -16
  96. data/core/warning.rbs +7 -7
  97. data/docs/CONTRIBUTING.md +2 -1
  98. data/docs/aliases.md +79 -0
  99. data/docs/collection.md +3 -3
  100. data/docs/config.md +171 -0
  101. data/docs/encoding.md +56 -0
  102. data/docs/gem.md +0 -1
  103. data/docs/inline.md +634 -0
  104. data/docs/rbs_by_example.md +20 -20
  105. data/docs/release.md +151 -0
  106. data/docs/rust.md +96 -0
  107. data/docs/sigs.md +3 -3
  108. data/docs/syntax.md +48 -18
  109. data/docs/type_fingerprint.md +21 -0
  110. data/docs/wasm_serialization.md +80 -0
  111. data/exe/rbs +1 -1
  112. data/ext/rbs_extension/ast_translation.c +1855 -0
  113. data/ext/rbs_extension/ast_translation.h +41 -0
  114. data/ext/rbs_extension/class_constants.c +187 -0
  115. data/{include/rbs/constants.h → ext/rbs_extension/class_constants.h} +23 -1
  116. data/ext/rbs_extension/compat.h +10 -0
  117. data/ext/rbs_extension/extconf.rb +26 -1
  118. data/ext/rbs_extension/legacy_location.c +299 -0
  119. data/ext/rbs_extension/legacy_location.h +82 -0
  120. data/ext/rbs_extension/main.c +603 -23
  121. data/ext/rbs_extension/rbs_extension.h +6 -21
  122. data/ext/rbs_extension/rbs_string_bridging.c +9 -0
  123. data/ext/rbs_extension/rbs_string_bridging.h +24 -0
  124. data/include/rbs/ast.h +1047 -0
  125. data/include/rbs/defines.h +99 -0
  126. data/include/rbs/lexer.h +207 -0
  127. data/include/rbs/location.h +40 -0
  128. data/include/rbs/parser.h +153 -0
  129. data/include/rbs/serialize.h +39 -0
  130. data/include/rbs/string.h +47 -0
  131. data/include/rbs/util/rbs_allocator.h +59 -0
  132. data/include/rbs/util/rbs_assert.h +20 -0
  133. data/include/rbs/util/rbs_buffer.h +83 -0
  134. data/include/rbs/util/rbs_constant_pool.h +6 -70
  135. data/include/rbs/util/rbs_encoding.h +282 -0
  136. data/include/rbs/util/rbs_unescape.h +24 -0
  137. data/include/rbs.h +9 -2
  138. data/lib/rbs/annotate/formatter.rb +3 -13
  139. data/lib/rbs/annotate/rdoc_annotator.rb +30 -32
  140. data/lib/rbs/annotate/rdoc_source.rb +1 -1
  141. data/lib/rbs/ast/annotation.rb +1 -1
  142. data/lib/rbs/ast/comment.rb +1 -1
  143. data/lib/rbs/ast/declarations.rb +10 -10
  144. data/lib/rbs/ast/members.rb +14 -14
  145. data/lib/rbs/ast/ruby/annotations.rb +451 -0
  146. data/lib/rbs/ast/ruby/comment_block.rb +247 -0
  147. data/lib/rbs/ast/ruby/declarations.rb +291 -0
  148. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
  149. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  150. data/lib/rbs/ast/ruby/members.rb +762 -0
  151. data/lib/rbs/ast/type_param.rb +24 -4
  152. data/lib/rbs/buffer.rb +142 -20
  153. data/lib/rbs/cli/diff.rb +16 -15
  154. data/lib/rbs/cli/validate.rb +63 -126
  155. data/lib/rbs/cli.rb +59 -29
  156. data/lib/rbs/collection/config/lockfile_generator.rb +28 -3
  157. data/lib/rbs/collection/sources/git.rb +7 -0
  158. data/lib/rbs/definition.rb +6 -1
  159. data/lib/rbs/definition_builder/ancestor_builder.rb +121 -65
  160. data/lib/rbs/definition_builder/method_builder.rb +74 -33
  161. data/lib/rbs/definition_builder.rb +177 -20
  162. data/lib/rbs/diff.rb +7 -1
  163. data/lib/rbs/environment/class_entry.rb +69 -0
  164. data/lib/rbs/environment/module_entry.rb +66 -0
  165. data/lib/rbs/environment.rb +410 -215
  166. data/lib/rbs/environment_loader.rb +2 -8
  167. data/lib/rbs/errors.rb +31 -21
  168. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  169. data/lib/rbs/inline_parser.rb +568 -0
  170. data/lib/rbs/location_aux.rb +36 -4
  171. data/lib/rbs/locator.rb +5 -1
  172. data/lib/rbs/method_type.rb +5 -3
  173. data/lib/rbs/namespace.rb +47 -18
  174. data/lib/rbs/parser_aux.rb +37 -7
  175. data/lib/rbs/prototype/helpers.rb +57 -0
  176. data/lib/rbs/prototype/rb.rb +3 -28
  177. data/lib/rbs/prototype/rbi.rb +196 -45
  178. data/lib/rbs/prototype/runtime.rb +12 -2
  179. data/lib/rbs/resolver/constant_resolver.rb +2 -2
  180. data/lib/rbs/resolver/type_name_resolver.rb +120 -44
  181. data/lib/rbs/rewriter.rb +70 -0
  182. data/lib/rbs/source.rb +99 -0
  183. data/lib/rbs/subtractor.rb +7 -4
  184. data/lib/rbs/test/type_check.rb +25 -3
  185. data/lib/rbs/type_name.rb +34 -21
  186. data/lib/rbs/types.rb +91 -79
  187. data/lib/rbs/unit_test/convertibles.rb +1 -0
  188. data/lib/rbs/unit_test/type_assertions.rb +44 -8
  189. data/lib/rbs/validator.rb +2 -2
  190. data/lib/rbs/version.rb +1 -1
  191. data/lib/rbs/wasm/deserializer.rb +213 -0
  192. data/lib/rbs/wasm/location.rb +61 -0
  193. data/lib/rbs/wasm/parser.rb +137 -0
  194. data/lib/rbs/wasm/runtime.rb +196 -0
  195. data/lib/rbs/wasm/serialization_schema.rb +110 -0
  196. data/lib/rbs.rb +25 -2
  197. data/lib/rbs_jars.rb +39 -0
  198. data/lib/rdoc/discover.rb +1 -1
  199. data/lib/rdoc_plugin/parser.rb +8 -3
  200. data/rbs.gemspec +37 -5
  201. data/schema/typeParam.json +17 -1
  202. data/sig/ancestor_builder.rbs +1 -1
  203. data/sig/annotate/formatter.rbs +2 -2
  204. data/sig/annotate/rdoc_annotater.rbs +13 -10
  205. data/sig/ast/ruby/annotations.rbs +470 -0
  206. data/sig/ast/ruby/comment_block.rbs +127 -0
  207. data/sig/ast/ruby/declarations.rbs +158 -0
  208. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  209. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  210. data/sig/ast/ruby/members.rbs +198 -0
  211. data/sig/buffer.rbs +81 -5
  212. data/sig/cli/diff.rbs +5 -11
  213. data/sig/cli/validate.rbs +12 -8
  214. data/sig/cli.rbs +18 -18
  215. data/sig/collection/config/lockfile_generator.rbs +2 -0
  216. data/sig/definition.rbs +6 -0
  217. data/sig/definition_builder.rbs +3 -1
  218. data/sig/environment/class_entry.rbs +50 -0
  219. data/sig/environment/module_entry.rbs +50 -0
  220. data/sig/environment.rbs +94 -87
  221. data/sig/errors.rbs +26 -20
  222. data/sig/inline_parser/comment_association.rbs +71 -0
  223. data/sig/inline_parser.rbs +126 -0
  224. data/sig/location.rbs +32 -7
  225. data/sig/locator.rbs +0 -2
  226. data/sig/manifest.yaml +0 -2
  227. data/sig/method_builder.rbs +9 -4
  228. data/sig/namespace.rbs +20 -5
  229. data/sig/parser.rbs +77 -13
  230. data/sig/prototype/helpers.rbs +2 -0
  231. data/sig/prototype/rbi.rbs +33 -4
  232. data/sig/resolver/type_name_resolver.rbs +36 -10
  233. data/sig/rewriter.rbs +45 -0
  234. data/sig/source.rbs +48 -0
  235. data/sig/type_param.rbs +13 -8
  236. data/sig/typename.rbs +15 -5
  237. data/sig/types.rbs +10 -8
  238. data/sig/unit_test/spy.rbs +0 -8
  239. data/sig/unit_test/type_assertions.rbs +15 -0
  240. data/sig/wasm/deserializer.rbs +66 -0
  241. data/sig/wasm/serialization_schema.rbs +13 -0
  242. data/src/ast.c +1628 -0
  243. data/src/lexer.c +3221 -0
  244. data/src/lexer.re +155 -0
  245. data/src/lexstate.c +221 -0
  246. data/src/location.c +31 -0
  247. data/src/parser.c +4258 -0
  248. data/src/serialize.c +958 -0
  249. data/src/string.c +41 -0
  250. data/src/util/rbs_allocator.c +171 -0
  251. data/src/util/rbs_assert.c +19 -0
  252. data/src/util/rbs_buffer.c +54 -0
  253. data/src/util/rbs_constant_pool.c +18 -92
  254. data/src/util/rbs_encoding.c +21308 -0
  255. data/src/util/rbs_unescape.c +167 -0
  256. data/stdlib/abbrev/0/array.rbs +1 -1
  257. data/stdlib/bigdecimal/0/big_decimal.rbs +116 -98
  258. data/stdlib/bigdecimal-math/0/big_math.rbs +169 -8
  259. data/stdlib/cgi/0/core.rbs +9 -393
  260. data/stdlib/cgi/0/manifest.yaml +1 -0
  261. data/stdlib/cgi-escape/0/escape.rbs +171 -0
  262. data/stdlib/coverage/0/coverage.rbs +7 -4
  263. data/stdlib/csv/0/csv.rbs +5 -5
  264. data/stdlib/date/0/date.rbs +92 -79
  265. data/stdlib/date/0/date_time.rbs +25 -24
  266. data/stdlib/delegate/0/delegator.rbs +11 -7
  267. data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
  268. data/stdlib/digest/0/digest.rbs +117 -1
  269. data/stdlib/erb/0/erb.rbs +748 -347
  270. data/stdlib/etc/0/etc.rbs +73 -54
  271. data/stdlib/fileutils/0/fileutils.rbs +179 -160
  272. data/stdlib/forwardable/0/forwardable.rbs +13 -10
  273. data/stdlib/io-console/0/io-console.rbs +2 -2
  274. data/stdlib/ipaddr/0/ipaddr.rbs +0 -5
  275. data/stdlib/json/0/json.rbs +232 -185
  276. data/stdlib/monitor/0/monitor.rbs +5 -5
  277. data/stdlib/net-http/0/net-http.rbs +162 -134
  278. data/stdlib/objspace/0/objspace.rbs +17 -34
  279. data/stdlib/open-uri/0/open-uri.rbs +48 -8
  280. data/stdlib/open3/0/open3.rbs +469 -10
  281. data/stdlib/openssl/0/openssl.rbs +521 -397
  282. data/stdlib/optparse/0/optparse.rbs +26 -17
  283. data/stdlib/pathname/0/pathname.rbs +11 -1381
  284. data/stdlib/pp/0/pp.rbs +9 -8
  285. data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
  286. data/stdlib/pstore/0/pstore.rbs +35 -30
  287. data/stdlib/psych/0/psych.rbs +65 -12
  288. data/stdlib/psych/0/store.rbs +2 -4
  289. data/stdlib/pty/0/pty.rbs +9 -6
  290. data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  291. data/stdlib/rdoc/0/code_object.rbs +4 -3
  292. data/stdlib/rdoc/0/comment.rbs +2 -0
  293. data/stdlib/rdoc/0/options.rbs +76 -0
  294. data/stdlib/rdoc/0/parser.rbs +1 -1
  295. data/stdlib/rdoc/0/rdoc.rbs +7 -5
  296. data/stdlib/rdoc/0/store.rbs +2 -2
  297. data/stdlib/resolv/0/resolv.rbs +26 -69
  298. data/stdlib/ripper/0/ripper.rbs +25 -19
  299. data/stdlib/securerandom/0/manifest.yaml +2 -0
  300. data/stdlib/securerandom/0/securerandom.rbs +7 -20
  301. data/stdlib/shellwords/0/shellwords.rbs +3 -3
  302. data/stdlib/singleton/0/singleton.rbs +3 -0
  303. data/stdlib/socket/0/addrinfo.rbs +9 -9
  304. data/stdlib/socket/0/basic_socket.rbs +3 -3
  305. data/stdlib/socket/0/ip_socket.rbs +10 -8
  306. data/stdlib/socket/0/socket.rbs +23 -10
  307. data/stdlib/socket/0/tcp_server.rbs +1 -1
  308. data/stdlib/socket/0/tcp_socket.rbs +11 -3
  309. data/stdlib/socket/0/udp_socket.rbs +1 -1
  310. data/stdlib/socket/0/unix_server.rbs +1 -1
  311. data/stdlib/stringio/0/stringio.rbs +1209 -95
  312. data/stdlib/strscan/0/string_scanner.rbs +101 -80
  313. data/stdlib/tempfile/0/manifest.yaml +3 -0
  314. data/stdlib/tempfile/0/tempfile.rbs +25 -21
  315. data/stdlib/time/0/time.rbs +8 -6
  316. data/stdlib/timeout/0/timeout.rbs +58 -7
  317. data/stdlib/tsort/0/cyclic.rbs +4 -1
  318. data/stdlib/tsort/0/interfaces.rbs +8 -8
  319. data/stdlib/tsort/0/tsort.rbs +16 -15
  320. data/stdlib/uri/0/common.rbs +42 -20
  321. data/stdlib/uri/0/file.rbs +3 -3
  322. data/stdlib/uri/0/generic.rbs +21 -18
  323. data/stdlib/uri/0/http.rbs +2 -2
  324. data/stdlib/uri/0/ldap.rbs +2 -2
  325. data/stdlib/uri/0/mailto.rbs +3 -3
  326. data/stdlib/uri/0/rfc2396_parser.rbs +12 -12
  327. data/stdlib/zlib/0/deflate.rbs +4 -3
  328. data/stdlib/zlib/0/gzip_reader.rbs +8 -8
  329. data/stdlib/zlib/0/gzip_writer.rbs +14 -12
  330. data/stdlib/zlib/0/inflate.rbs +1 -1
  331. data/stdlib/zlib/0/need_dict.rbs +1 -1
  332. data/wasm/README.md +60 -0
  333. data/wasm/rbs_wasm.c +423 -0
  334. metadata +131 -19
  335. data/ext/rbs_extension/lexer.c +0 -2728
  336. data/ext/rbs_extension/lexer.h +0 -179
  337. data/ext/rbs_extension/lexer.re +0 -147
  338. data/ext/rbs_extension/lexstate.c +0 -175
  339. data/ext/rbs_extension/location.c +0 -325
  340. data/ext/rbs_extension/location.h +0 -85
  341. data/ext/rbs_extension/parser.c +0 -2982
  342. data/ext/rbs_extension/parser.h +0 -18
  343. data/ext/rbs_extension/parserstate.c +0 -411
  344. data/ext/rbs_extension/parserstate.h +0 -163
  345. data/ext/rbs_extension/unescape.c +0 -32
  346. data/include/rbs/ruby_objs.h +0 -72
  347. data/src/constants.c +0 -153
  348. data/src/ruby_objs.c +0 -799
@@ -0,0 +1,171 @@
1
+ # <!-- rdoc-file=lib/cgi/escape.rb -->
2
+ # Since Ruby 4.0, CGI is a small holder for various escaping methods, included
3
+ # from CGI::Escape
4
+ #
5
+ # require 'cgi/escape'
6
+ #
7
+ # CGI.escape("Ruby programming language")
8
+ # #=> "Ruby+programming+language"
9
+ # CGI.escapeURIComponent("Ruby programming language")
10
+ # #=> "Ruby%20programming%20language"
11
+ #
12
+ # See CGI::Escape module for methods list and their description.
13
+ #
14
+ class CGI
15
+ include Escape
16
+
17
+ extend Escape
18
+
19
+ # <!-- rdoc-file=lib/cgi/escape.rb -->
20
+ # Web-related escape/unescape functionality.
21
+ #
22
+ module Escape
23
+ # <!--
24
+ # rdoc-file=lib/cgi/escape.rb
25
+ # - escape(string)
26
+ # -->
27
+ # URL-encode a string into application/x-www-form-urlencoded. Space characters
28
+ # (<code>" "</code>) are encoded with plus signs (<code>"+"</code>)
29
+ # url_encoded_string = CGI.escape("'Stop!' said Fred")
30
+ # # => "%27Stop%21%27+said+Fred"
31
+ #
32
+ def escape: (string str) -> String
33
+
34
+ # <!--
35
+ # rdoc-file=lib/cgi/escape.rb
36
+ # - escapeElement(string, *elements)
37
+ # -->
38
+ # Escape only the tags of certain HTML elements in `string`.
39
+ #
40
+ # Takes an element or elements or array of elements. Each element is specified
41
+ # by the name of the element, without angle brackets. This matches both the
42
+ # start and the end tag of that element. The attribute list of the open tag will
43
+ # also be escaped (for instance, the double-quotes surrounding attribute
44
+ # values).
45
+ #
46
+ # print CGI.escapeElement('<BR><A HREF="url"></A>', "A", "IMG")
47
+ # # "<BR>&lt;A HREF=&quot;url&quot;&gt;&lt;/A&gt"
48
+ #
49
+ # print CGI.escapeElement('<BR><A HREF="url"></A>', ["A", "IMG"])
50
+ # # "<BR>&lt;A HREF=&quot;url&quot;&gt;&lt;/A&gt"
51
+ #
52
+ def escapeElement: (string string, *String | Array[String] elements) -> String
53
+
54
+ # <!--
55
+ # rdoc-file=lib/cgi/escape.rb
56
+ # - escapeHTML(string)
57
+ # -->
58
+ # Escape special characters in HTML, namely <code>'&\"<></code>
59
+ # CGI.escapeHTML('Usage: foo "bar" <baz>')
60
+ # # => "Usage: foo &quot;bar&quot; &lt;baz&gt;"
61
+ #
62
+ def escapeHTML: (string str) -> String
63
+
64
+ # <!--
65
+ # rdoc-file=lib/cgi/escape.rb
66
+ # - escapeURIComponent(string)
67
+ # -->
68
+ # URL-encode a string following RFC 3986 Space characters (<code>" "</code>) are
69
+ # encoded with (<code>"%20"</code>)
70
+ # url_encoded_string = CGI.escapeURIComponent("'Stop!' said Fred")
71
+ # # => "%27Stop%21%27%20said%20Fred"
72
+ #
73
+ def escapeURIComponent: (string) -> String
74
+
75
+ # <!--
76
+ # rdoc-file=lib/cgi/escape.rb
77
+ # - escape_element(string, *elements)
78
+ # -->
79
+ #
80
+ alias escape_element escapeElement
81
+
82
+ # <!--
83
+ # rdoc-file=lib/cgi/escape.rb
84
+ # - escape_html(string)
85
+ # -->
86
+ #
87
+ alias escape_html escapeHTML
88
+
89
+ # <!--
90
+ # rdoc-file=lib/cgi/escape.rb
91
+ # - escape_uri_component(string)
92
+ # -->
93
+ #
94
+ alias escape_uri_component escapeURIComponent
95
+
96
+ # <!--
97
+ # rdoc-file=lib/cgi/escape.rb
98
+ # - h(string)
99
+ # -->
100
+ #
101
+ alias h escapeHTML
102
+
103
+ # <!--
104
+ # rdoc-file=lib/cgi/escape.rb
105
+ # - unescape(string, encoding = @@accept_charset)
106
+ # -->
107
+ # URL-decode an application/x-www-form-urlencoded string with
108
+ # encoding(optional).
109
+ # string = CGI.unescape("%27Stop%21%27+said+Fred")
110
+ # # => "'Stop!' said Fred"
111
+ #
112
+ def unescape: (string str, ?encoding encoding) -> String
113
+
114
+ # <!--
115
+ # rdoc-file=lib/cgi/escape.rb
116
+ # - unescapeElement(string, *elements)
117
+ # -->
118
+ # Undo escaping such as that done by CGI.escapeElement
119
+ #
120
+ # print CGI.unescapeElement(
121
+ # CGI.escapeHTML('<BR><A HREF="url"></A>'), "A", "IMG")
122
+ # # "&lt;BR&gt;<A HREF="url"></A>"
123
+ #
124
+ # print CGI.unescapeElement(
125
+ # CGI.escapeHTML('<BR><A HREF="url"></A>'), ["A", "IMG"])
126
+ # # "&lt;BR&gt;<A HREF="url"></A>"
127
+ #
128
+ def unescapeElement: (string string, *String | Array[String] elements) -> String
129
+
130
+ # <!--
131
+ # rdoc-file=lib/cgi/escape.rb
132
+ # - unescapeHTML(string)
133
+ # -->
134
+ # Unescape a string that has been HTML-escaped
135
+ # CGI.unescapeHTML("Usage: foo &quot;bar&quot; &lt;baz&gt;")
136
+ # # => "Usage: foo \"bar\" <baz>"
137
+ #
138
+ def unescapeHTML: (string str) -> String
139
+
140
+ # <!--
141
+ # rdoc-file=lib/cgi/escape.rb
142
+ # - unescapeURIComponent(string, encoding = @@accept_charset)
143
+ # -->
144
+ # URL-decode a string following RFC 3986 with encoding(optional).
145
+ # string = CGI.unescapeURIComponent("%27Stop%21%27+said%20Fred")
146
+ # # => "'Stop!'+said Fred"
147
+ #
148
+ def unescapeURIComponent: (string) -> String
149
+
150
+ # <!--
151
+ # rdoc-file=lib/cgi/escape.rb
152
+ # - unescape_element(string, *elements)
153
+ # -->
154
+ #
155
+ alias unescape_element unescapeElement
156
+
157
+ # <!--
158
+ # rdoc-file=lib/cgi/escape.rb
159
+ # - unescape_html(string)
160
+ # -->
161
+ #
162
+ alias unescape_html unescapeHTML
163
+
164
+ # <!--
165
+ # rdoc-file=lib/cgi/escape.rb
166
+ # - unescape_uri_component(string, encoding = @@accept_charset)
167
+ # -->
168
+ #
169
+ alias unescape_uri_component unescapeURIComponent
170
+ end
171
+ end
@@ -147,8 +147,10 @@
147
147
  module Coverage
148
148
  # <!--
149
149
  # rdoc-file=ext/coverage/lib/coverage.rb
150
- # - line_stub(file)
150
+ # - line_stub(file) -> array
151
151
  # -->
152
+ # A simple helper function that creates the "stub" of line coverage from a given
153
+ # source code.
152
154
  #
153
155
  def self.line_stub: (String) -> Array[Integer?]
154
156
 
@@ -157,7 +159,7 @@ module Coverage
157
159
  # - Coverage.peek_result => hash
158
160
  # -->
159
161
  # Returns a hash that contains filename as key and coverage array as value. This
160
- # is the same as `Coverage.result(stop: false, clear: false)`.
162
+ # is the same as <code>Coverage.result(stop: false, clear: false)</code>.
161
163
  #
162
164
  # {
163
165
  # "file.rb" => [1, 2, nil],
@@ -242,8 +244,9 @@ module Coverage
242
244
  # -->
243
245
  # Returns true if coverage measurement is supported for the given mode.
244
246
  #
245
- # The mode should be one of the following symbols: `:lines`, `:oneshot_lines`,
246
- # `:branches`, `:methods`, `:eval`.
247
+ # The mode should be one of the following symbols: <code>:lines</code>,
248
+ # <code>:oneshot_lines</code>, <code>:branches</code>, <code>:methods</code>,
249
+ # <code>:eval</code>.
247
250
  #
248
251
  # Example:
249
252
  #
data/stdlib/csv/0/csv.rbs CHANGED
@@ -2964,8 +2964,8 @@ end
2964
2964
  # table['Name'] = ['Foo', 'Bar', 'Baz']
2965
2965
  # table['Name'] # => ["Foo", "Bar", "Baz"]
2966
2966
  #
2967
- class CSV::Table[out Elem] < Object
2968
- include Enumerable[Elem]
2967
+ class CSV::Table[out E] < Object
2968
+ include Enumerable[E]
2969
2969
  extend Forwardable
2970
2970
 
2971
2971
  # <!--
@@ -3587,8 +3587,8 @@ class CSV::Table[out Elem] < Object
3587
3587
  # Returns a new Enumerator if no block is given:
3588
3588
  # table.each # => #<Enumerator: #<CSV::Table mode:col row_count:4>:each>
3589
3589
  #
3590
- def each: () -> Enumerator[Elem, self]
3591
- | () { (Elem) -> void } -> self
3590
+ def each: () -> Enumerator[E, self]
3591
+ | () { (E) -> void } -> self
3592
3592
  | () { (*untyped) -> void } -> self
3593
3593
 
3594
3594
  def empty?: (*untyped args) { (*untyped) -> untyped } -> untyped
@@ -3758,7 +3758,7 @@ class CSV::Table[out Elem] < Object
3758
3758
  end
3759
3759
 
3760
3760
  %a{annotate:rdoc:skip}
3761
- class Array[unchecked out Elem] < Object
3761
+ class Array[unchecked out E] < Object
3762
3762
  # Equivalent to CSV::generate_line(self, options)
3763
3763
  #
3764
3764
  # ["CSV", "data"].to_csv