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.
- checksums.yaml +4 -4
- data/.github/workflows/comments.yml +2 -2
- data/.github/workflows/dependabot.yml +1 -1
- data/.github/workflows/ruby.yml +34 -10
- data/.github/workflows/windows.yml +20 -3
- data/.gitignore +1 -0
- data/.rubocop.yml +26 -1
- data/CHANGELOG.md +241 -0
- data/Rakefile +54 -4
- data/config.yml +317 -0
- data/core/array.rbs +1756 -1591
- data/core/basic_object.rbs +38 -35
- data/core/comparable.rbs +1 -1
- data/core/complex.rbs +166 -94
- data/core/data.rbs +2 -2
- data/core/dir.rbs +2 -18
- data/core/encoding.rbs +12 -32
- data/core/enumerable.rbs +270 -266
- data/core/enumerator.rbs +14 -4
- data/core/env.rbs +1 -1
- data/core/errno.rbs +33 -16
- data/core/errors.rbs +6 -2
- data/core/exception.rbs +342 -167
- data/core/fiber.rbs +3 -2
- data/core/file.rbs +26 -75
- data/core/float.rbs +125 -72
- data/core/gc.rbs +158 -42
- data/core/hash.rbs +122 -143
- data/core/integer.rbs +79 -50
- data/core/io/buffer.rbs +49 -43
- data/core/io.rbs +108 -151
- data/core/kernel.rbs +341 -209
- data/core/match_data.rbs +76 -2
- data/core/math.rbs +0 -36
- data/core/method.rbs +2 -2
- data/core/module.rbs +32 -27
- data/core/nil_class.rbs +2 -2
- data/core/numeric.rbs +101 -104
- data/core/object.rbs +1 -5
- data/core/object_space/weak_key_map.rbs +3 -4
- data/core/object_space.rbs +3 -3
- data/core/proc.rbs +82 -14
- data/core/process.rbs +110 -58
- data/core/ractor.rbs +57 -4
- data/core/range.rbs +114 -87
- data/core/rational.rbs +0 -2
- data/core/rbs/unnamed/argf.rbs +237 -36
- data/core/rbs/unnamed/env_class.rbs +35 -53
- data/core/rbs/unnamed/random.rbs +1 -2
- data/core/regexp.rbs +10 -56
- data/core/ruby_vm.rbs +88 -9
- data/core/rubygems/config_file.rbs +3 -0
- data/core/rubygems/errors.rbs +3 -6
- data/core/rubygems/platform.rbs +0 -9
- data/core/rubygems/rubygems.rbs +3 -6
- data/core/rubygems/version.rbs +8 -8
- data/core/set.rbs +4 -16
- data/core/string.rbs +271 -264
- data/core/struct.rbs +6 -18
- data/core/symbol.rbs +14 -21
- data/core/thread.rbs +32 -35
- data/core/time.rbs +131 -50
- data/core/trace_point.rbs +124 -113
- data/core/true_class.rbs +0 -1
- data/core/unbound_method.rbs +1 -1
- data/core/warning.rbs +9 -2
- data/docs/architecture.md +1 -1
- data/docs/syntax.md +17 -10
- data/ext/rbs_extension/extconf.rb +11 -0
- data/ext/rbs_extension/location.c +61 -29
- data/ext/rbs_extension/location.h +4 -3
- data/ext/rbs_extension/main.c +23 -1
- data/ext/rbs_extension/parser.c +506 -517
- data/ext/rbs_extension/parserstate.c +109 -30
- data/ext/rbs_extension/parserstate.h +6 -4
- data/ext/rbs_extension/rbs_extension.h +1 -10
- data/{ext/rbs_extension → include/rbs}/constants.h +21 -19
- data/include/rbs/ruby_objs.h +72 -0
- data/include/rbs/util/rbs_constant_pool.h +219 -0
- data/include/rbs.h +7 -0
- data/lib/rbs/annotate/annotations.rb +3 -3
- data/lib/rbs/annotate/rdoc_source.rb +2 -2
- data/lib/rbs/ast/declarations.rb +9 -4
- data/lib/rbs/ast/directives.rb +10 -0
- data/lib/rbs/ast/members.rb +2 -0
- data/lib/rbs/ast/type_param.rb +2 -12
- data/lib/rbs/cli/diff.rb +3 -3
- data/lib/rbs/cli/validate.rb +2 -1
- data/lib/rbs/cli.rb +16 -16
- data/lib/rbs/collection/config/lockfile_generator.rb +58 -8
- data/lib/rbs/collection/config.rb +5 -3
- data/lib/rbs/collection/sources/rubygems.rb +1 -1
- data/lib/rbs/collection.rb +1 -0
- data/lib/rbs/definition.rb +51 -34
- data/lib/rbs/definition_builder/ancestor_builder.rb +5 -3
- data/lib/rbs/definition_builder.rb +83 -24
- data/lib/rbs/environment.rb +33 -18
- data/lib/rbs/environment_loader.rb +6 -1
- data/lib/rbs/errors.rb +24 -0
- data/lib/rbs/locator.rb +2 -0
- data/lib/rbs/method_type.rb +2 -0
- data/lib/rbs/namespace.rb +1 -0
- data/lib/rbs/parser_aux.rb +40 -3
- data/lib/rbs/prototype/rb.rb +20 -12
- data/lib/rbs/prototype/rbi.rb +11 -6
- data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
- data/lib/rbs/prototype/runtime.rb +7 -5
- data/lib/rbs/subtractor.rb +3 -3
- data/lib/rbs/test/hook.rb +47 -42
- data/lib/rbs/test/type_check.rb +7 -5
- data/lib/rbs/type_name.rb +14 -9
- data/lib/rbs/types.rb +63 -14
- data/lib/rbs/unit_test/spy.rb +4 -2
- data/lib/rbs/unit_test/type_assertions.rb +19 -13
- data/lib/rbs/unit_test/with_aliases.rb +3 -1
- data/lib/rbs/validator.rb +7 -1
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +10 -5
- data/lib/rbs.rb +1 -0
- data/lib/rdoc_plugin/parser.rb +2 -2
- data/rbs.gemspec +6 -2
- data/sig/ancestor_graph.rbs +5 -5
- data/sig/annotate/rdoc_source.rbs +2 -0
- data/sig/cli.rbs +2 -0
- data/sig/collection/config/lockfile_generator.rbs +9 -1
- data/sig/declarations.rbs +10 -3
- data/sig/definition.rbs +80 -12
- data/sig/definition_builder.rbs +18 -4
- data/sig/directives.rbs +17 -1
- data/sig/environment.rbs +3 -1
- data/sig/errors.rbs +19 -0
- data/sig/namespace.rbs +2 -3
- data/sig/parser.rbs +5 -1
- data/sig/prototype/rb.rbs +1 -1
- data/sig/resolver/constant_resolver.rbs +2 -2
- data/sig/resolver/context.rbs +1 -1
- data/sig/subtractor.rbs +1 -1
- data/sig/test/type_check.rbs +2 -2
- data/sig/type_alias_dependency.rbs +2 -2
- data/sig/type_alias_regularity.rbs +6 -6
- data/sig/type_param.rbs +4 -4
- data/sig/typename.rbs +8 -5
- data/sig/types.rbs +1 -1
- data/sig/unit_test/spy.rbs +2 -0
- data/sig/unit_test/type_assertions.rbs +2 -0
- data/sig/use_map.rbs +1 -1
- data/sig/validator.rbs +6 -2
- data/sig/vendorer.rbs +1 -1
- data/sig/writer.rbs +1 -1
- data/{ext/rbs_extension → src}/constants.c +35 -36
- data/src/ruby_objs.c +799 -0
- data/src/util/rbs_constant_pool.c +342 -0
- data/stdlib/base64/0/base64.rbs +0 -9
- data/stdlib/benchmark/0/benchmark.rbs +11 -2
- data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
- data/stdlib/cgi/0/core.rbs +60 -3
- data/stdlib/cgi/0/manifest.yaml +1 -0
- data/stdlib/coverage/0/coverage.rbs +0 -3
- data/stdlib/csv/0/csv.rbs +18 -58
- data/stdlib/csv/0/manifest.yaml +1 -0
- data/stdlib/date/0/date.rbs +27 -42
- data/stdlib/did_you_mean/0/did_you_mean.rbs +1 -6
- data/stdlib/digest/0/digest.rbs +25 -2
- data/stdlib/erb/0/erb.rbs +0 -1
- data/stdlib/etc/0/etc.rbs +51 -34
- data/stdlib/fileutils/0/fileutils.rbs +3 -44
- data/stdlib/io-console/0/io-console.rbs +69 -15
- data/stdlib/ipaddr/0/ipaddr.rbs +16 -4
- data/stdlib/json/0/json.rbs +107 -120
- data/stdlib/logger/0/log_device.rbs +1 -1
- data/stdlib/logger/0/logger.rbs +3 -18
- data/stdlib/minitest/0/kernel.rbs +2 -2
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +4 -1
- data/stdlib/minitest/0/minitest/assertion.rbs +1 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +58 -13
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +7 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +8 -8
- data/stdlib/minitest/0/minitest/benchmark.rbs +17 -16
- data/stdlib/minitest/0/minitest/compress.rbs +13 -0
- data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
- data/stdlib/minitest/0/minitest/mock.rbs +9 -5
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +4 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +0 -1
- data/stdlib/minitest/0/minitest/pride_io.rbs +8 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +2 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +1 -1
- data/stdlib/minitest/0/minitest/reportable.rbs +2 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +33 -1
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +1 -1
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +10 -6
- data/stdlib/minitest/0/minitest/spec.rbs +1 -1
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +0 -7
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +1 -1
- data/stdlib/minitest/0/minitest/test.rbs +7 -14
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +2 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit.rbs +1 -2
- data/stdlib/minitest/0/minitest.rbs +41 -892
- data/stdlib/monitor/0/monitor.rbs +13 -4
- data/stdlib/net-http/0/net-http.rbs +42 -109
- data/stdlib/nkf/0/nkf.rbs +30 -0
- data/stdlib/objspace/0/objspace.rbs +1 -2
- data/stdlib/observable/0/observable.rbs +1 -1
- data/stdlib/open-uri/0/manifest.yaml +1 -0
- data/stdlib/open-uri/0/open-uri.rbs +52 -0
- data/stdlib/open3/0/open3.rbs +0 -8
- data/stdlib/openssl/0/manifest.yaml +1 -0
- data/stdlib/openssl/0/openssl.rbs +235 -143
- data/stdlib/optparse/0/optparse.rbs +58 -18
- data/stdlib/pathname/0/pathname.rbs +2 -8
- data/stdlib/pp/0/pp.rbs +3 -1
- data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
- data/stdlib/pstore/0/pstore.rbs +0 -6
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/psych/0/psych.rbs +15 -4
- data/stdlib/pty/0/pty.rbs +46 -4
- data/stdlib/rdoc/0/code_object.rbs +0 -4
- data/stdlib/rdoc/0/markup.rbs +10 -12
- data/stdlib/rdoc/0/rdoc.rbs +13 -8
- data/stdlib/resolv/0/resolv.rbs +21 -12
- data/stdlib/ripper/0/ripper.rbs +0 -2
- data/stdlib/securerandom/0/securerandom.rbs +7 -2
- data/stdlib/shellwords/0/shellwords.rbs +11 -12
- data/stdlib/singleton/0/singleton.rbs +0 -1
- data/stdlib/socket/0/addrinfo.rbs +1 -2
- data/stdlib/socket/0/basic_socket.rbs +0 -5
- data/stdlib/socket/0/socket.rbs +32 -27
- data/stdlib/socket/0/tcp_server.rbs +0 -3
- data/stdlib/socket/0/tcp_socket.rbs +36 -3
- data/stdlib/socket/0/udp_socket.rbs +0 -1
- data/stdlib/socket/0/unix_server.rbs +0 -3
- data/stdlib/socket/0/unix_socket.rbs +4 -2
- data/{core/string_io.rbs → stdlib/stringio/0/stringio.rbs} +1 -1
- data/stdlib/strscan/0/string_scanner.rbs +1265 -422
- data/stdlib/tempfile/0/tempfile.rbs +135 -28
- data/stdlib/time/0/time.rbs +48 -35
- data/stdlib/timeout/0/timeout.rbs +11 -8
- data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
- data/stdlib/tsort/0/tsort.rbs +0 -4
- data/stdlib/uri/0/common.rbs +28 -30
- data/stdlib/uri/0/ftp.rbs +1 -1
- data/stdlib/uri/0/generic.rbs +22 -18
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
- data/stdlib/zlib/0/buf_error.rbs +1 -70
- data/stdlib/zlib/0/data_error.rbs +1 -70
- data/stdlib/zlib/0/deflate.rbs +8 -72
- data/stdlib/zlib/0/error.rbs +1 -70
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
- data/stdlib/zlib/0/gzip_file.rbs +1 -71
- data/stdlib/zlib/0/gzip_reader.rbs +3 -74
- data/stdlib/zlib/0/gzip_writer.rbs +1 -70
- data/stdlib/zlib/0/inflate.rbs +4 -71
- data/stdlib/zlib/0/mem_error.rbs +1 -70
- data/stdlib/zlib/0/need_dict.rbs +1 -70
- data/stdlib/zlib/0/stream_end.rbs +1 -70
- data/stdlib/zlib/0/stream_error.rbs +1 -70
- data/stdlib/zlib/0/version_error.rbs +1 -70
- data/stdlib/zlib/0/zlib.rbs +0 -2
- data/stdlib/zlib/0/zstream.rbs +4 -72
- metadata +17 -13
- data/ext/rbs_extension/ruby_objs.c +0 -602
- data/ext/rbs_extension/ruby_objs.h +0 -51
- data/stdlib/minitest/0/manifest.yaml +0 -2
data/stdlib/uri/0/common.rbs
CHANGED
@@ -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](
|
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](
|
76
|
-
# * [RFC1738](
|
77
|
-
# * [RFC2255](
|
78
|
-
# * [RFC2368](
|
79
|
-
# * [RFC2373](
|
80
|
-
# * [RFC2396](
|
81
|
-
# * [RFC2732](
|
82
|
-
# * [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
|
-
#
|
9
|
+
# https://datatracker.ietf.org/doc/html/draft-hoffman-ftp-uri-04
|
10
10
|
#
|
11
11
|
class FTP < Generic
|
12
12
|
end
|
data/stdlib/uri/0/generic.rbs
CHANGED
@@ -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](
|
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](
|
52
|
-
# * [RFC1738](
|
53
|
-
# * [RFC2255](
|
54
|
-
# * [RFC2368](
|
55
|
-
# * [RFC2373](
|
56
|
-
# * [RFC2396](
|
57
|
-
# * [RFC2732](
|
58
|
-
# * [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://
|
816
|
+
# right, see RFC3986 https://www.rfc-editor.org/rfc/rfc3986 1.2.3.
|
813
817
|
#
|
814
818
|
# ## Usage
|
815
819
|
#
|
data/stdlib/uri/0/http.rbs
CHANGED
@@ -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://
|
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://
|
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
|
#
|
data/stdlib/zlib/0/buf_error.rbs
CHANGED
@@ -1,73 +1,4 @@
|
|
1
|
-
|
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
|
-
|
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.
|
data/stdlib/zlib/0/deflate.rbs
CHANGED
@@ -1,73 +1,4 @@
|
|
1
|
-
|
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
|
#
|