rbs 3.6.1 → 3.9.5

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 (268) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -2
  3. data/.github/workflows/dependabot.yml +1 -1
  4. data/.github/workflows/ruby.yml +34 -10
  5. data/.github/workflows/windows.yml +20 -3
  6. data/.gitignore +1 -0
  7. data/.rubocop.yml +26 -1
  8. data/CHANGELOG.md +241 -0
  9. data/Rakefile +54 -4
  10. data/config.yml +317 -0
  11. data/core/array.rbs +1756 -1591
  12. data/core/basic_object.rbs +38 -35
  13. data/core/comparable.rbs +1 -1
  14. data/core/complex.rbs +166 -94
  15. data/core/data.rbs +2 -2
  16. data/core/dir.rbs +2 -18
  17. data/core/encoding.rbs +12 -32
  18. data/core/enumerable.rbs +270 -266
  19. data/core/enumerator.rbs +14 -4
  20. data/core/env.rbs +1 -1
  21. data/core/errno.rbs +33 -16
  22. data/core/errors.rbs +6 -2
  23. data/core/exception.rbs +342 -167
  24. data/core/fiber.rbs +3 -2
  25. data/core/file.rbs +26 -75
  26. data/core/float.rbs +125 -72
  27. data/core/gc.rbs +158 -42
  28. data/core/hash.rbs +122 -143
  29. data/core/integer.rbs +79 -50
  30. data/core/io/buffer.rbs +49 -43
  31. data/core/io.rbs +108 -151
  32. data/core/kernel.rbs +341 -209
  33. data/core/match_data.rbs +76 -2
  34. data/core/math.rbs +0 -36
  35. data/core/method.rbs +2 -2
  36. data/core/module.rbs +32 -27
  37. data/core/nil_class.rbs +2 -2
  38. data/core/numeric.rbs +101 -104
  39. data/core/object.rbs +1 -5
  40. data/core/object_space/weak_key_map.rbs +3 -4
  41. data/core/object_space.rbs +3 -3
  42. data/core/proc.rbs +82 -14
  43. data/core/process.rbs +110 -58
  44. data/core/ractor.rbs +57 -4
  45. data/core/range.rbs +114 -87
  46. data/core/rational.rbs +0 -2
  47. data/core/rbs/unnamed/argf.rbs +237 -36
  48. data/core/rbs/unnamed/env_class.rbs +35 -53
  49. data/core/rbs/unnamed/random.rbs +1 -2
  50. data/core/regexp.rbs +10 -56
  51. data/core/ruby_vm.rbs +88 -9
  52. data/core/rubygems/config_file.rbs +3 -0
  53. data/core/rubygems/errors.rbs +3 -6
  54. data/core/rubygems/platform.rbs +0 -9
  55. data/core/rubygems/rubygems.rbs +3 -6
  56. data/core/rubygems/version.rbs +8 -8
  57. data/core/set.rbs +4 -16
  58. data/core/string.rbs +271 -264
  59. data/core/struct.rbs +6 -18
  60. data/core/symbol.rbs +14 -21
  61. data/core/thread.rbs +32 -35
  62. data/core/time.rbs +131 -50
  63. data/core/trace_point.rbs +124 -113
  64. data/core/true_class.rbs +0 -1
  65. data/core/unbound_method.rbs +1 -1
  66. data/core/warning.rbs +9 -2
  67. data/docs/architecture.md +1 -1
  68. data/docs/syntax.md +17 -10
  69. data/ext/rbs_extension/extconf.rb +11 -0
  70. data/ext/rbs_extension/location.c +61 -29
  71. data/ext/rbs_extension/location.h +4 -3
  72. data/ext/rbs_extension/main.c +23 -1
  73. data/ext/rbs_extension/parser.c +506 -517
  74. data/ext/rbs_extension/parserstate.c +109 -30
  75. data/ext/rbs_extension/parserstate.h +6 -4
  76. data/ext/rbs_extension/rbs_extension.h +1 -10
  77. data/{ext/rbs_extension → include/rbs}/constants.h +21 -19
  78. data/include/rbs/ruby_objs.h +72 -0
  79. data/include/rbs/util/rbs_constant_pool.h +219 -0
  80. data/include/rbs.h +7 -0
  81. data/lib/rbs/annotate/annotations.rb +3 -3
  82. data/lib/rbs/annotate/rdoc_source.rb +2 -2
  83. data/lib/rbs/ast/declarations.rb +9 -4
  84. data/lib/rbs/ast/directives.rb +10 -0
  85. data/lib/rbs/ast/members.rb +2 -0
  86. data/lib/rbs/ast/type_param.rb +2 -12
  87. data/lib/rbs/cli/diff.rb +3 -3
  88. data/lib/rbs/cli/validate.rb +2 -1
  89. data/lib/rbs/cli.rb +16 -16
  90. data/lib/rbs/collection/config/lockfile_generator.rb +58 -8
  91. data/lib/rbs/collection/config.rb +5 -3
  92. data/lib/rbs/collection/sources/rubygems.rb +1 -1
  93. data/lib/rbs/collection.rb +1 -0
  94. data/lib/rbs/definition.rb +51 -34
  95. data/lib/rbs/definition_builder/ancestor_builder.rb +5 -3
  96. data/lib/rbs/definition_builder.rb +83 -24
  97. data/lib/rbs/environment.rb +33 -18
  98. data/lib/rbs/environment_loader.rb +6 -1
  99. data/lib/rbs/errors.rb +24 -0
  100. data/lib/rbs/locator.rb +2 -0
  101. data/lib/rbs/method_type.rb +2 -0
  102. data/lib/rbs/namespace.rb +1 -0
  103. data/lib/rbs/parser_aux.rb +40 -3
  104. data/lib/rbs/prototype/rb.rb +20 -12
  105. data/lib/rbs/prototype/rbi.rb +11 -6
  106. data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
  107. data/lib/rbs/prototype/runtime.rb +7 -5
  108. data/lib/rbs/subtractor.rb +3 -3
  109. data/lib/rbs/test/hook.rb +47 -42
  110. data/lib/rbs/test/type_check.rb +7 -5
  111. data/lib/rbs/type_name.rb +14 -9
  112. data/lib/rbs/types.rb +63 -14
  113. data/lib/rbs/unit_test/spy.rb +4 -2
  114. data/lib/rbs/unit_test/type_assertions.rb +19 -13
  115. data/lib/rbs/unit_test/with_aliases.rb +3 -1
  116. data/lib/rbs/validator.rb +7 -1
  117. data/lib/rbs/version.rb +1 -1
  118. data/lib/rbs/writer.rb +10 -5
  119. data/lib/rbs.rb +1 -0
  120. data/lib/rdoc_plugin/parser.rb +2 -2
  121. data/rbs.gemspec +6 -2
  122. data/sig/ancestor_graph.rbs +5 -5
  123. data/sig/annotate/rdoc_source.rbs +2 -0
  124. data/sig/cli.rbs +2 -0
  125. data/sig/collection/config/lockfile_generator.rbs +9 -1
  126. data/sig/declarations.rbs +10 -3
  127. data/sig/definition.rbs +80 -12
  128. data/sig/definition_builder.rbs +18 -4
  129. data/sig/directives.rbs +17 -1
  130. data/sig/environment.rbs +3 -1
  131. data/sig/errors.rbs +19 -0
  132. data/sig/namespace.rbs +2 -3
  133. data/sig/parser.rbs +5 -1
  134. data/sig/prototype/rb.rbs +1 -1
  135. data/sig/resolver/constant_resolver.rbs +2 -2
  136. data/sig/resolver/context.rbs +1 -1
  137. data/sig/subtractor.rbs +1 -1
  138. data/sig/test/type_check.rbs +2 -2
  139. data/sig/type_alias_dependency.rbs +2 -2
  140. data/sig/type_alias_regularity.rbs +6 -6
  141. data/sig/type_param.rbs +4 -4
  142. data/sig/typename.rbs +8 -5
  143. data/sig/types.rbs +1 -1
  144. data/sig/unit_test/spy.rbs +2 -0
  145. data/sig/unit_test/type_assertions.rbs +2 -0
  146. data/sig/use_map.rbs +1 -1
  147. data/sig/validator.rbs +6 -2
  148. data/sig/vendorer.rbs +1 -1
  149. data/sig/writer.rbs +1 -1
  150. data/{ext/rbs_extension → src}/constants.c +35 -36
  151. data/src/ruby_objs.c +799 -0
  152. data/src/util/rbs_constant_pool.c +342 -0
  153. data/stdlib/base64/0/base64.rbs +0 -9
  154. data/stdlib/benchmark/0/benchmark.rbs +11 -2
  155. data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
  156. data/stdlib/cgi/0/core.rbs +60 -3
  157. data/stdlib/cgi/0/manifest.yaml +1 -0
  158. data/stdlib/coverage/0/coverage.rbs +0 -3
  159. data/stdlib/csv/0/csv.rbs +18 -58
  160. data/stdlib/csv/0/manifest.yaml +1 -0
  161. data/stdlib/date/0/date.rbs +27 -42
  162. data/stdlib/did_you_mean/0/did_you_mean.rbs +1 -6
  163. data/stdlib/digest/0/digest.rbs +25 -2
  164. data/stdlib/erb/0/erb.rbs +0 -1
  165. data/stdlib/etc/0/etc.rbs +51 -34
  166. data/stdlib/fileutils/0/fileutils.rbs +3 -44
  167. data/stdlib/io-console/0/io-console.rbs +69 -15
  168. data/stdlib/ipaddr/0/ipaddr.rbs +16 -4
  169. data/stdlib/json/0/json.rbs +107 -120
  170. data/stdlib/logger/0/log_device.rbs +1 -1
  171. data/stdlib/logger/0/logger.rbs +3 -18
  172. data/stdlib/minitest/0/kernel.rbs +2 -2
  173. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +4 -1
  174. data/stdlib/minitest/0/minitest/assertion.rbs +1 -0
  175. data/stdlib/minitest/0/minitest/assertions.rbs +58 -13
  176. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +7 -0
  177. data/stdlib/minitest/0/minitest/bench_spec.rbs +8 -8
  178. data/stdlib/minitest/0/minitest/benchmark.rbs +17 -16
  179. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  180. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  181. data/stdlib/minitest/0/minitest/mock.rbs +9 -5
  182. data/stdlib/minitest/0/minitest/parallel/executor.rbs +4 -0
  183. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +0 -1
  184. data/stdlib/minitest/0/minitest/pride_io.rbs +8 -0
  185. data/stdlib/minitest/0/minitest/pride_lol.rbs +2 -0
  186. data/stdlib/minitest/0/minitest/progress_reporter.rbs +1 -1
  187. data/stdlib/minitest/0/minitest/reportable.rbs +2 -0
  188. data/stdlib/minitest/0/minitest/runnable.rbs +33 -1
  189. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +1 -1
  190. data/stdlib/minitest/0/minitest/spec/dsl.rbs +10 -6
  191. data/stdlib/minitest/0/minitest/spec.rbs +1 -1
  192. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +5 -0
  193. data/stdlib/minitest/0/minitest/summary_reporter.rbs +0 -7
  194. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +1 -1
  195. data/stdlib/minitest/0/minitest/test.rbs +7 -14
  196. data/stdlib/minitest/0/minitest/unexpected_error.rbs +2 -0
  197. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  198. data/stdlib/minitest/0/minitest/unit.rbs +1 -2
  199. data/stdlib/minitest/0/minitest.rbs +41 -892
  200. data/stdlib/monitor/0/monitor.rbs +13 -4
  201. data/stdlib/net-http/0/net-http.rbs +42 -109
  202. data/stdlib/nkf/0/nkf.rbs +30 -0
  203. data/stdlib/objspace/0/objspace.rbs +1 -2
  204. data/stdlib/observable/0/observable.rbs +1 -1
  205. data/stdlib/open-uri/0/manifest.yaml +1 -0
  206. data/stdlib/open-uri/0/open-uri.rbs +52 -0
  207. data/stdlib/open3/0/open3.rbs +0 -8
  208. data/stdlib/openssl/0/manifest.yaml +1 -0
  209. data/stdlib/openssl/0/openssl.rbs +235 -143
  210. data/stdlib/optparse/0/optparse.rbs +58 -18
  211. data/stdlib/pathname/0/pathname.rbs +2 -8
  212. data/stdlib/pp/0/pp.rbs +3 -1
  213. data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
  214. data/stdlib/pstore/0/pstore.rbs +0 -6
  215. data/stdlib/psych/0/core_ext.rbs +12 -0
  216. data/stdlib/psych/0/psych.rbs +15 -4
  217. data/stdlib/pty/0/pty.rbs +46 -4
  218. data/stdlib/rdoc/0/code_object.rbs +0 -4
  219. data/stdlib/rdoc/0/markup.rbs +10 -12
  220. data/stdlib/rdoc/0/rdoc.rbs +13 -8
  221. data/stdlib/resolv/0/resolv.rbs +21 -12
  222. data/stdlib/ripper/0/ripper.rbs +0 -2
  223. data/stdlib/securerandom/0/securerandom.rbs +7 -2
  224. data/stdlib/shellwords/0/shellwords.rbs +11 -12
  225. data/stdlib/singleton/0/singleton.rbs +0 -1
  226. data/stdlib/socket/0/addrinfo.rbs +1 -2
  227. data/stdlib/socket/0/basic_socket.rbs +0 -5
  228. data/stdlib/socket/0/socket.rbs +32 -27
  229. data/stdlib/socket/0/tcp_server.rbs +0 -3
  230. data/stdlib/socket/0/tcp_socket.rbs +36 -3
  231. data/stdlib/socket/0/udp_socket.rbs +0 -1
  232. data/stdlib/socket/0/unix_server.rbs +0 -3
  233. data/stdlib/socket/0/unix_socket.rbs +4 -2
  234. data/{core/string_io.rbs → stdlib/stringio/0/stringio.rbs} +1 -1
  235. data/stdlib/strscan/0/string_scanner.rbs +1265 -422
  236. data/stdlib/tempfile/0/tempfile.rbs +135 -28
  237. data/stdlib/time/0/time.rbs +48 -35
  238. data/stdlib/timeout/0/timeout.rbs +11 -8
  239. data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
  240. data/stdlib/tsort/0/tsort.rbs +0 -4
  241. data/stdlib/uri/0/common.rbs +28 -30
  242. data/stdlib/uri/0/ftp.rbs +1 -1
  243. data/stdlib/uri/0/generic.rbs +22 -18
  244. data/stdlib/uri/0/http.rbs +2 -2
  245. data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
  246. data/stdlib/zlib/0/buf_error.rbs +1 -70
  247. data/stdlib/zlib/0/data_error.rbs +1 -70
  248. data/stdlib/zlib/0/deflate.rbs +8 -72
  249. data/stdlib/zlib/0/error.rbs +1 -70
  250. data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
  251. data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
  252. data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
  253. data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
  254. data/stdlib/zlib/0/gzip_file.rbs +1 -71
  255. data/stdlib/zlib/0/gzip_reader.rbs +3 -74
  256. data/stdlib/zlib/0/gzip_writer.rbs +1 -70
  257. data/stdlib/zlib/0/inflate.rbs +4 -71
  258. data/stdlib/zlib/0/mem_error.rbs +1 -70
  259. data/stdlib/zlib/0/need_dict.rbs +1 -70
  260. data/stdlib/zlib/0/stream_end.rbs +1 -70
  261. data/stdlib/zlib/0/stream_error.rbs +1 -70
  262. data/stdlib/zlib/0/version_error.rbs +1 -70
  263. data/stdlib/zlib/0/zlib.rbs +0 -2
  264. data/stdlib/zlib/0/zstream.rbs +4 -72
  265. metadata +17 -13
  266. data/ext/rbs_extension/ruby_objs.c +0 -602
  267. data/ext/rbs_extension/ruby_objs.h +0 -51
  268. data/stdlib/minitest/0/manifest.yaml +0 -2
@@ -24,7 +24,7 @@ end
24
24
 
25
25
  # <!-- rdoc-file=lib/uri.rb -->
26
26
  # URI is a module providing classes to handle Uniform Resource Identifiers
27
- # ([RFC2396](http://tools.ietf.org/html/rfc2396)).
27
+ # ([RFC2396](https://www.rfc-editor.org/rfc/rfc2396)).
28
28
  #
29
29
  # ## Features
30
30
  #
@@ -33,7 +33,6 @@ end
33
33
  # * Flexibility to have an alternate URI::Parser (or just different patterns
34
34
  # and regexp's).
35
35
  #
36
- #
37
36
  # ## Basic example
38
37
  #
39
38
  # require 'uri'
@@ -72,15 +71,14 @@ end
72
71
  # A good place to view an RFC spec is http://www.ietf.org/rfc.html.
73
72
  #
74
73
  # Here is a list of all related RFC's:
75
- # * [RFC822](http://tools.ietf.org/html/rfc822)
76
- # * [RFC1738](http://tools.ietf.org/html/rfc1738)
77
- # * [RFC2255](http://tools.ietf.org/html/rfc2255)
78
- # * [RFC2368](http://tools.ietf.org/html/rfc2368)
79
- # * [RFC2373](http://tools.ietf.org/html/rfc2373)
80
- # * [RFC2396](http://tools.ietf.org/html/rfc2396)
81
- # * [RFC2732](http://tools.ietf.org/html/rfc2732)
82
- # * [RFC3986](http://tools.ietf.org/html/rfc3986)
83
- #
74
+ # * [RFC822](https://www.rfc-editor.org/rfc/rfc822)
75
+ # * [RFC1738](https://www.rfc-editor.org/rfc/rfc1738)
76
+ # * [RFC2255](https://www.rfc-editor.org/rfc/rfc2255)
77
+ # * [RFC2368](https://www.rfc-editor.org/rfc/rfc2368)
78
+ # * [RFC2373](https://www.rfc-editor.org/rfc/rfc2373)
79
+ # * [RFC2396](https://www.rfc-editor.org/rfc/rfc2396)
80
+ # * [RFC2732](https://www.rfc-editor.org/rfc/rfc2732)
81
+ # * [RFC3986](https://www.rfc-editor.org/rfc/rfc3986)
84
82
  #
85
83
  # ## Class tree
86
84
  #
@@ -89,31 +87,27 @@ end
89
87
  # * URI::FTP - (in uri/ftp.rb)
90
88
  # * URI::HTTP - (in uri/http.rb)
91
89
  # * URI::HTTPS - (in uri/https.rb)
92
- #
93
90
  # * URI::LDAP - (in uri/ldap.rb)
94
91
  # * URI::LDAPS - (in uri/ldaps.rb)
95
- #
96
92
  # * URI::MailTo - (in uri/mailto.rb)
97
- #
98
93
  # * URI::Parser - (in uri/common.rb)
99
94
  # * URI::REGEXP - (in uri/common.rb)
100
95
  # * URI::REGEXP::PATTERN - (in uri/common.rb)
101
- #
102
96
  # * URI::Util - (in uri/common.rb)
103
97
  # * URI::Error - (in uri/common.rb)
104
98
  # * URI::InvalidURIError - (in uri/common.rb)
105
99
  # * URI::InvalidComponentError - (in uri/common.rb)
106
100
  # * URI::BadURIError - (in uri/common.rb)
107
101
  #
108
- #
109
- #
110
102
  # ## Copyright Info
111
103
  #
112
104
  # Author
113
105
  # : Akira Yamada <akira@ruby-lang.org>
106
+ #
114
107
  # Documentation
115
108
  # : Akira Yamada <akira@ruby-lang.org> Dmitry V. Sabanin <sdmitry@lrn.ru>
116
109
  # Vincent Batts <vbatts@hashbangbash.com>
110
+ #
117
111
  # License
118
112
  # : Copyright (c) 2001 akira yamada <akira@ruby-lang.org> You can redistribute
119
113
  # it and/or modify it under the same term as Ruby.
@@ -121,6 +115,14 @@ end
121
115
  module URI
122
116
  include URI::RFC2396_REGEXP
123
117
 
118
+ # <!--
119
+ # rdoc-file=lib/uri/common.rb
120
+ # - decode_uri_component(str, enc=Encoding::UTF_8)
121
+ # -->
122
+ # Like URI.decode_www_form_component, except that `'+'` is preserved.
123
+ #
124
+ def self.decode_uri_component: (String str, ?encoding enc) -> String
125
+
124
126
  # <!--
125
127
  # rdoc-file=lib/uri/common.rb
126
128
  # - decode_www_form(str, enc=Encoding::UTF_8, separator: '&', use__charset_: false, isindex: false)
@@ -176,7 +178,6 @@ module URI
176
178
  # * Characters `'*'`, `'.'`, `'-'`, and `'_'`.
177
179
  # * Character in ranges `'a'..'z'`, `'A'..'Z'`, and `'0'..'9'`.
178
180
  #
179
- #
180
181
  # Example:
181
182
  #
182
183
  # URI.decode_www_form_component('*.-_azAZ09')
@@ -187,17 +188,24 @@ module URI
187
188
  # * Character `'+'` to character `' '`.
188
189
  # * Each "percent notation" to an ASCII character.
189
190
  #
190
- #
191
191
  # Example:
192
192
  #
193
193
  # URI.decode_www_form_component('Here+are+some+punctuation+characters%3A+%2C%3B%3F%3A')
194
194
  # # => "Here are some punctuation characters: ,;?:"
195
195
  #
196
- #
197
196
  # Related: URI.decode_uri_component (preserves `'+'`).
198
197
  #
199
198
  def self.decode_www_form_component: (String str, ?encoding enc) -> String
200
199
 
200
+ # <!--
201
+ # rdoc-file=lib/uri/common.rb
202
+ # - encode_uri_component(str, enc=nil)
203
+ # -->
204
+ # Like URI.encode_www_form_component, except that `' '` (space) is encoded as
205
+ # `'%20'` (instead of `'+'`).
206
+ #
207
+ def self.encode_uri_component: (String str, ?encoding enc) -> String
208
+
201
209
  # <!--
202
210
  # rdoc-file=lib/uri/common.rb
203
211
  # - encode_www_form(enum, enc=nil)
@@ -258,7 +266,6 @@ module URI
258
266
  # URI.encode_www_form(['foo', :bar, 0])
259
267
  # # => "foo&bar&0"
260
268
  #
261
- #
262
269
  # The elements of an Array-like `enum` may be mixture:
263
270
  #
264
271
  # URI.encode_www_form([['foo', 0], ['bar', 1, 2], ['baz'], :bat])
@@ -292,7 +299,6 @@ module URI
292
299
  # URI.encode_www_form({foo: 0, bar: 1, baz: 2})
293
300
  # # => "foo=0&bar=1&baz=2"
294
301
  #
295
- #
296
302
  # The elements of a Hash-like `enum` may be mixture:
297
303
  #
298
304
  # URI.encode_www_form({foo: [0, 1], bar: 2})
@@ -313,7 +319,6 @@ module URI
313
319
  # * Characters `'*'`, `'.'`, `'-'`, and `'_'`.
314
320
  # * Character in ranges `'a'..'z'`, `'A'..'Z'`, and `'0'..'9'`.
315
321
  #
316
- #
317
322
  # Example:
318
323
  #
319
324
  # URI.encode_www_form_component('*.-_azAZ09')
@@ -325,20 +330,17 @@ module URI
325
330
  # * Any other character to "percent notation"; the percent notation for
326
331
  # character *c* is `'%%%X' % c.ord`.
327
332
  #
328
- #
329
333
  # Example:
330
334
  #
331
335
  # URI.encode_www_form_component('Here are some punctuation characters: ,;?:')
332
336
  # # => "Here+are+some+punctuation+characters%3A+%2C%3B%3F%3A"
333
337
  #
334
- #
335
338
  # Encoding:
336
339
  #
337
340
  # * If `str` has encoding Encoding::ASCII_8BIT, argument `enc` is ignored.
338
341
  # * Otherwise `str` is converted first to Encoding::UTF_8 (with suitable
339
342
  # character replacements), and then to encoding `enc`.
340
343
  #
341
- #
342
344
  # In either case, the returned string has forced encoding Encoding::US_ASCII.
343
345
  #
344
346
  # Related: URI.encode_uri_component (encodes `' '` as `'%20'`).
@@ -493,7 +495,6 @@ module URI
493
495
  # * The object is initialized by calling the class initializer using `scheme`
494
496
  # and `arguments`. See URI::Generic.new.
495
497
  #
496
- #
497
498
  # Examples:
498
499
  #
499
500
  # values = ['john.doe', 'www.example.com', '123', nil, '/forum/questions/', nil, 'tag=networking&order=newest', 'top']
@@ -534,9 +535,6 @@ URI::ABS_URI: Regexp
534
535
 
535
536
  URI::ABS_URI_REF: Regexp
536
537
 
537
- # <!-- rdoc-file=lib/uri/common.rb -->
538
- # URI::Parser.new
539
- #
540
538
  URI::DEFAULT_PARSER: URI::RFC2396_Parser
541
539
 
542
540
  URI::ESCAPED: Regexp
data/stdlib/uri/0/ftp.rbs CHANGED
@@ -6,7 +6,7 @@ module URI
6
6
  # This class will be redesigned because of difference of implementations; the
7
7
  # structure of its path. draft-hoffman-ftp-uri-04 is a draft but it is a good
8
8
  # summary about the de facto spec.
9
- # http://tools.ietf.org/html/draft-hoffman-ftp-uri-04
9
+ # https://datatracker.ietf.org/doc/html/draft-hoffman-ftp-uri-04
10
10
  #
11
11
  class FTP < Generic
12
12
  end
@@ -1,6 +1,6 @@
1
1
  # <!-- rdoc-file=lib/uri.rb -->
2
2
  # URI is a module providing classes to handle Uniform Resource Identifiers
3
- # ([RFC2396](http://tools.ietf.org/html/rfc2396)).
3
+ # ([RFC2396](https://www.rfc-editor.org/rfc/rfc2396)).
4
4
  #
5
5
  # ## Features
6
6
  #
@@ -9,7 +9,6 @@
9
9
  # * Flexibility to have an alternate URI::Parser (or just different patterns
10
10
  # and regexp's).
11
11
  #
12
- #
13
12
  # ## Basic example
14
13
  #
15
14
  # require 'uri'
@@ -48,15 +47,14 @@
48
47
  # A good place to view an RFC spec is http://www.ietf.org/rfc.html.
49
48
  #
50
49
  # Here is a list of all related RFC's:
51
- # * [RFC822](http://tools.ietf.org/html/rfc822)
52
- # * [RFC1738](http://tools.ietf.org/html/rfc1738)
53
- # * [RFC2255](http://tools.ietf.org/html/rfc2255)
54
- # * [RFC2368](http://tools.ietf.org/html/rfc2368)
55
- # * [RFC2373](http://tools.ietf.org/html/rfc2373)
56
- # * [RFC2396](http://tools.ietf.org/html/rfc2396)
57
- # * [RFC2732](http://tools.ietf.org/html/rfc2732)
58
- # * [RFC3986](http://tools.ietf.org/html/rfc3986)
59
- #
50
+ # * [RFC822](https://www.rfc-editor.org/rfc/rfc822)
51
+ # * [RFC1738](https://www.rfc-editor.org/rfc/rfc1738)
52
+ # * [RFC2255](https://www.rfc-editor.org/rfc/rfc2255)
53
+ # * [RFC2368](https://www.rfc-editor.org/rfc/rfc2368)
54
+ # * [RFC2373](https://www.rfc-editor.org/rfc/rfc2373)
55
+ # * [RFC2396](https://www.rfc-editor.org/rfc/rfc2396)
56
+ # * [RFC2732](https://www.rfc-editor.org/rfc/rfc2732)
57
+ # * [RFC3986](https://www.rfc-editor.org/rfc/rfc3986)
60
58
  #
61
59
  # ## Class tree
62
60
  #
@@ -65,31 +63,27 @@
65
63
  # * URI::FTP - (in uri/ftp.rb)
66
64
  # * URI::HTTP - (in uri/http.rb)
67
65
  # * URI::HTTPS - (in uri/https.rb)
68
- #
69
66
  # * URI::LDAP - (in uri/ldap.rb)
70
67
  # * URI::LDAPS - (in uri/ldaps.rb)
71
- #
72
68
  # * URI::MailTo - (in uri/mailto.rb)
73
- #
74
69
  # * URI::Parser - (in uri/common.rb)
75
70
  # * URI::REGEXP - (in uri/common.rb)
76
71
  # * URI::REGEXP::PATTERN - (in uri/common.rb)
77
- #
78
72
  # * URI::Util - (in uri/common.rb)
79
73
  # * URI::Error - (in uri/common.rb)
80
74
  # * URI::InvalidURIError - (in uri/common.rb)
81
75
  # * URI::InvalidComponentError - (in uri/common.rb)
82
76
  # * URI::BadURIError - (in uri/common.rb)
83
77
  #
84
- #
85
- #
86
78
  # ## Copyright Info
87
79
  #
88
80
  # Author
89
81
  # : Akira Yamada <akira@ruby-lang.org>
82
+ #
90
83
  # Documentation
91
84
  # : Akira Yamada <akira@ruby-lang.org> Dmitry V. Sabanin <sdmitry@lrn.ru>
92
85
  # Vincent Batts <vbatts@hashbangbash.com>
86
+ #
93
87
  # License
94
88
  # : Copyright (c) 2001 akira yamada <akira@ruby-lang.org> You can redistribute
95
89
  # it and/or modify it under the same term as Ruby.
@@ -182,24 +176,34 @@ module URI
182
176
  #
183
177
  # `scheme`
184
178
  # : Protocol scheme, i.e. 'http','ftp','mailto' and so on.
179
+ #
185
180
  # `userinfo`
186
181
  # : User name and password, i.e. 'sdmitry:bla'.
182
+ #
187
183
  # `host`
188
184
  # : Server host name.
185
+ #
189
186
  # `port`
190
187
  # : Server port.
188
+ #
191
189
  # `registry`
192
190
  # : Registry of naming authorities.
191
+ #
193
192
  # `path`
194
193
  # : Path on server.
194
+ #
195
195
  # `opaque`
196
196
  # : Opaque part.
197
+ #
197
198
  # `query`
198
199
  # : Query data.
200
+ #
199
201
  # `fragment`
200
202
  # : Part of the URI after '#' character.
203
+ #
201
204
  # `parser`
202
205
  # : Parser for internal use [URI::DEFAULT_PARSER by default].
206
+ #
203
207
  # `arg_check`
204
208
  # : Check arguments [false by default].
205
209
  #
@@ -809,7 +813,7 @@ module URI
809
813
  # ## Description
810
814
  #
811
815
  # URI has components listed in order of decreasing significance from left to
812
- # right, see RFC3986 https://tools.ietf.org/html/rfc3986 1.2.3.
816
+ # right, see RFC3986 https://www.rfc-editor.org/rfc/rfc3986 1.2.3.
813
817
  #
814
818
  # ## Usage
815
819
  #
@@ -55,7 +55,7 @@ module URI
55
55
  # ## Description
56
56
  #
57
57
  # Returns the authority for an HTTP uri, as defined in
58
- # https://datatracker.ietf.org/doc/html/rfc3986/#section-3.2.
58
+ # https://www.rfc-editor.org/rfc/rfc3986#section-3.2.
59
59
  #
60
60
  # Example:
61
61
  #
@@ -72,7 +72,7 @@ module URI
72
72
  # ## Description
73
73
  #
74
74
  # Returns the origin for an HTTP uri, as defined in
75
- # https://datatracker.ietf.org/doc/html/rfc6454.
75
+ # https://www.rfc-editor.org/rfc/rfc6454.
76
76
  #
77
77
  # Example:
78
78
  #
@@ -73,6 +73,7 @@ module URI
73
73
  #
74
74
  # `str`
75
75
  # : String to make safe
76
+ #
76
77
  # `unsafe`
77
78
  # : Regexp to apply. Defaults to `self.regexp[:UNSAFE]`
78
79
  #
@@ -94,6 +95,7 @@ module URI
94
95
  #
95
96
  # `str`
96
97
  # : String to search
98
+ #
97
99
  # `schemes`
98
100
  # : Patterns to apply to `str`
99
101
  #
@@ -173,6 +175,7 @@ module URI
173
175
  #
174
176
  # `str`
175
177
  # : String to remove escapes from
178
+ #
176
179
  # `escaped`
177
180
  # : Regexp to apply. Defaults to `self.regexp[:ESCAPED]`
178
181
  #
@@ -1,73 +1,4 @@
1
- # <!-- rdoc-file=ext/zlib/zlib.c -->
2
- # This module provides access to the [zlib library](http://zlib.net). Zlib is
3
- # designed to be a portable, free, general-purpose, legally unencumbered -- that
4
- # is, not covered by any patents -- lossless data-compression library for use on
5
- # virtually any computer hardware and operating system.
6
- #
7
- # The zlib compression library provides in-memory compression and decompression
8
- # functions, including integrity checks of the uncompressed data.
9
- #
10
- # The zlib compressed data format is described in RFC 1950, which is a wrapper
11
- # around a deflate stream which is described in RFC 1951.
12
- #
13
- # The library also supports reading and writing files in gzip (.gz) format with
14
- # an interface similar to that of IO. The gzip format is described in RFC 1952
15
- # which is also a wrapper around a deflate stream.
16
- #
17
- # The zlib format was designed to be compact and fast for use in memory and on
18
- # communications channels. The gzip format was designed for single-file
19
- # compression on file systems, has a larger header than zlib to maintain
20
- # directory information, and uses a different, slower check method than zlib.
21
- #
22
- # See your system's zlib.h for further information about zlib
23
- #
24
- # ## Sample usage
25
- #
26
- # Using the wrapper to compress strings with default parameters is quite simple:
27
- #
28
- # require "zlib"
29
- #
30
- # data_to_compress = File.read("don_quixote.txt")
31
- #
32
- # puts "Input size: #{data_to_compress.size}"
33
- # #=> Input size: 2347740
34
- #
35
- # data_compressed = Zlib::Deflate.deflate(data_to_compress)
36
- #
37
- # puts "Compressed size: #{data_compressed.size}"
38
- # #=> Compressed size: 887238
39
- #
40
- # uncompressed_data = Zlib::Inflate.inflate(data_compressed)
41
- #
42
- # puts "Uncompressed data is: #{uncompressed_data}"
43
- # #=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...
44
- #
45
- # ## Class tree
46
- #
47
- # * Zlib::Deflate
48
- # * Zlib::Inflate
49
- # * Zlib::ZStream
50
- # * Zlib::Error
51
- # * Zlib::StreamEnd
52
- # * Zlib::NeedDict
53
- # * Zlib::DataError
54
- # * Zlib::StreamError
55
- # * Zlib::MemError
56
- # * Zlib::BufError
57
- # * Zlib::VersionError
58
- # * Zlib::InProgressError
59
- #
60
- #
61
- #
62
- # (if you have GZIP_SUPPORT)
63
- # * Zlib::GzipReader
64
- # * Zlib::GzipWriter
65
- # * Zlib::GzipFile
66
- # * Zlib::GzipFile::Error
67
- # * Zlib::GzipFile::LengthError
68
- # * Zlib::GzipFile::CRCError
69
- # * Zlib::GzipFile::NoFooter
70
- #
1
+ %a{annotate:rdoc:skip}
71
2
  module Zlib
72
3
  # <!-- rdoc-file=ext/zlib/zlib.c -->
73
4
  # Subclass of Zlib::Error when zlib returns a Z_BUF_ERROR.
@@ -1,73 +1,4 @@
1
- # <!-- rdoc-file=ext/zlib/zlib.c -->
2
- # This module provides access to the [zlib library](http://zlib.net). Zlib is
3
- # designed to be a portable, free, general-purpose, legally unencumbered -- that
4
- # is, not covered by any patents -- lossless data-compression library for use on
5
- # virtually any computer hardware and operating system.
6
- #
7
- # The zlib compression library provides in-memory compression and decompression
8
- # functions, including integrity checks of the uncompressed data.
9
- #
10
- # The zlib compressed data format is described in RFC 1950, which is a wrapper
11
- # around a deflate stream which is described in RFC 1951.
12
- #
13
- # The library also supports reading and writing files in gzip (.gz) format with
14
- # an interface similar to that of IO. The gzip format is described in RFC 1952
15
- # which is also a wrapper around a deflate stream.
16
- #
17
- # The zlib format was designed to be compact and fast for use in memory and on
18
- # communications channels. The gzip format was designed for single-file
19
- # compression on file systems, has a larger header than zlib to maintain
20
- # directory information, and uses a different, slower check method than zlib.
21
- #
22
- # See your system's zlib.h for further information about zlib
23
- #
24
- # ## Sample usage
25
- #
26
- # Using the wrapper to compress strings with default parameters is quite simple:
27
- #
28
- # require "zlib"
29
- #
30
- # data_to_compress = File.read("don_quixote.txt")
31
- #
32
- # puts "Input size: #{data_to_compress.size}"
33
- # #=> Input size: 2347740
34
- #
35
- # data_compressed = Zlib::Deflate.deflate(data_to_compress)
36
- #
37
- # puts "Compressed size: #{data_compressed.size}"
38
- # #=> Compressed size: 887238
39
- #
40
- # uncompressed_data = Zlib::Inflate.inflate(data_compressed)
41
- #
42
- # puts "Uncompressed data is: #{uncompressed_data}"
43
- # #=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...
44
- #
45
- # ## Class tree
46
- #
47
- # * Zlib::Deflate
48
- # * Zlib::Inflate
49
- # * Zlib::ZStream
50
- # * Zlib::Error
51
- # * Zlib::StreamEnd
52
- # * Zlib::NeedDict
53
- # * Zlib::DataError
54
- # * Zlib::StreamError
55
- # * Zlib::MemError
56
- # * Zlib::BufError
57
- # * Zlib::VersionError
58
- # * Zlib::InProgressError
59
- #
60
- #
61
- #
62
- # (if you have GZIP_SUPPORT)
63
- # * Zlib::GzipReader
64
- # * Zlib::GzipWriter
65
- # * Zlib::GzipFile
66
- # * Zlib::GzipFile::Error
67
- # * Zlib::GzipFile::LengthError
68
- # * Zlib::GzipFile::CRCError
69
- # * Zlib::GzipFile::NoFooter
70
- #
1
+ %a{annotate:rdoc:skip}
71
2
  module Zlib
72
3
  # <!-- rdoc-file=ext/zlib/zlib.c -->
73
4
  # Subclass of Zlib::Error when zlib returns a Z_DATA_ERROR.
@@ -1,73 +1,4 @@
1
- # <!-- rdoc-file=ext/zlib/zlib.c -->
2
- # This module provides access to the [zlib library](http://zlib.net). Zlib is
3
- # designed to be a portable, free, general-purpose, legally unencumbered -- that
4
- # is, not covered by any patents -- lossless data-compression library for use on
5
- # virtually any computer hardware and operating system.
6
- #
7
- # The zlib compression library provides in-memory compression and decompression
8
- # functions, including integrity checks of the uncompressed data.
9
- #
10
- # The zlib compressed data format is described in RFC 1950, which is a wrapper
11
- # around a deflate stream which is described in RFC 1951.
12
- #
13
- # The library also supports reading and writing files in gzip (.gz) format with
14
- # an interface similar to that of IO. The gzip format is described in RFC 1952
15
- # which is also a wrapper around a deflate stream.
16
- #
17
- # The zlib format was designed to be compact and fast for use in memory and on
18
- # communications channels. The gzip format was designed for single-file
19
- # compression on file systems, has a larger header than zlib to maintain
20
- # directory information, and uses a different, slower check method than zlib.
21
- #
22
- # See your system's zlib.h for further information about zlib
23
- #
24
- # ## Sample usage
25
- #
26
- # Using the wrapper to compress strings with default parameters is quite simple:
27
- #
28
- # require "zlib"
29
- #
30
- # data_to_compress = File.read("don_quixote.txt")
31
- #
32
- # puts "Input size: #{data_to_compress.size}"
33
- # #=> Input size: 2347740
34
- #
35
- # data_compressed = Zlib::Deflate.deflate(data_to_compress)
36
- #
37
- # puts "Compressed size: #{data_compressed.size}"
38
- # #=> Compressed size: 887238
39
- #
40
- # uncompressed_data = Zlib::Inflate.inflate(data_compressed)
41
- #
42
- # puts "Uncompressed data is: #{uncompressed_data}"
43
- # #=> Uncompressed data is: The Project Gutenberg EBook of Don Quixote...
44
- #
45
- # ## Class tree
46
- #
47
- # * Zlib::Deflate
48
- # * Zlib::Inflate
49
- # * Zlib::ZStream
50
- # * Zlib::Error
51
- # * Zlib::StreamEnd
52
- # * Zlib::NeedDict
53
- # * Zlib::DataError
54
- # * Zlib::StreamError
55
- # * Zlib::MemError
56
- # * Zlib::BufError
57
- # * Zlib::VersionError
58
- # * Zlib::InProgressError
59
- #
60
- #
61
- #
62
- # (if you have GZIP_SUPPORT)
63
- # * Zlib::GzipReader
64
- # * Zlib::GzipWriter
65
- # * Zlib::GzipFile
66
- # * Zlib::GzipFile::Error
67
- # * Zlib::GzipFile::LengthError
68
- # * Zlib::GzipFile::CRCError
69
- # * Zlib::GzipFile::NoFooter
70
- #
1
+ %a{annotate:rdoc:skip}
71
2
  module Zlib
72
3
  # <!-- rdoc-file=ext/zlib/zlib.c -->
73
4
  # Zlib::Deflate is the class for compressing data. See Zlib::ZStream for more
@@ -126,10 +57,13 @@ module Zlib
126
57
  #
127
58
  # Zlib::NO_FLUSH
128
59
  # : The default
60
+ #
129
61
  # Zlib::SYNC_FLUSH
130
62
  # : Flushes the output to a byte boundary
63
+ #
131
64
  # Zlib::FULL_FLUSH
132
65
  # : SYNC_FLUSH + resets the compression state
66
+ #
133
67
  # Zlib::FINISH
134
68
  # : Pending input is processed, pending output is flushed.
135
69
  #
@@ -198,7 +132,6 @@ module Zlib
198
132
  # * Zlib::BEST_SPEED
199
133
  # * Zlib::BEST_COMPRESSION
200
134
  #
201
- #
202
135
  # See http://www.zlib.net/manual.html#Constants for further information.
203
136
  #
204
137
  # The `window_bits` sets the size of the history buffer and should be between 8
@@ -213,18 +146,21 @@ module Zlib
213
146
  # * Zlib::DEF_MEM_LEVEL
214
147
  # * Zlib::MAX_MEM_LEVEL
215
148
  #
216
- #
217
149
  # The `strategy` sets the deflate compression strategy. The following
218
150
  # strategies are available:
219
151
  #
220
152
  # Zlib::DEFAULT_STRATEGY
221
153
  # : For normal data
154
+ #
222
155
  # Zlib::FILTERED
223
156
  # : For data produced by a filter or predictor
157
+ #
224
158
  # Zlib::FIXED
225
159
  # : Prevents dynamic Huffman codes
160
+ #
226
161
  # Zlib::HUFFMAN_ONLY
227
162
  # : Prevents string matching
163
+ #
228
164
  # Zlib::RLE
229
165
  # : Designed for better compression of PNG image data
230
166
  #