rbs 3.7.0 → 3.8.0.pre.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.
- checksums.yaml +4 -4
- data/.github/workflows/comments.yml +3 -3
- data/.github/workflows/ruby.yml +7 -7
- data/CHANGELOG.md +52 -0
- data/core/array.rbs +1743 -1580
- data/core/basic_object.rbs +38 -35
- data/core/comparable.rbs +1 -1
- data/core/complex.rbs +165 -93
- data/core/data.rbs +1 -1
- data/core/dir.rbs +1 -17
- data/core/encoding.rbs +12 -6
- data/core/enumerable.rbs +270 -266
- data/core/enumerator.rbs +0 -2
- data/core/env.rbs +1 -1
- data/core/errno.rbs +33 -16
- data/core/errors.rbs +2 -2
- data/core/exception.rbs +236 -170
- data/core/fiber.rbs +3 -2
- data/core/file.rbs +32 -74
- data/core/float.rbs +125 -72
- data/core/gc.rbs +138 -40
- data/core/hash.rbs +120 -141
- data/core/integer.rbs +79 -50
- data/core/io/buffer.rbs +49 -43
- data/core/io.rbs +97 -144
- data/core/kernel.rbs +290 -200
- data/core/match_data.rbs +76 -2
- data/core/math.rbs +0 -36
- data/core/module.rbs +28 -23
- data/core/nil_class.rbs +0 -3
- data/core/numeric.rbs +100 -103
- data/core/object.rbs +0 -4
- data/core/object_space/weak_key_map.rbs +3 -4
- data/core/object_space.rbs +3 -3
- data/core/proc.rbs +0 -2
- data/core/process.rbs +109 -57
- data/core/ractor.rbs +37 -4
- data/core/range.rbs +114 -87
- data/core/rational.rbs +0 -2
- data/core/rbs/unnamed/argf.rbs +234 -33
- data/core/rbs/unnamed/env_class.rbs +35 -53
- data/core/rbs/unnamed/random.rbs +1 -2
- data/core/regexp.rbs +4 -52
- data/core/ruby_vm.rbs +88 -9
- data/core/rubygems/config_file.rbs +3 -0
- data/core/rubygems/errors.rbs +0 -5
- data/core/rubygems/platform.rbs +0 -9
- data/core/rubygems/rubygems.rbs +0 -5
- data/core/rubygems/version.rbs +6 -6
- data/core/set.rbs +3 -15
- data/core/string.rbs +130 -136
- data/core/struct.rbs +6 -18
- data/core/symbol.rbs +14 -21
- data/core/thread.rbs +32 -35
- data/core/time.rbs +127 -50
- data/core/trace_point.rbs +16 -0
- data/core/true_class.rbs +0 -1
- data/core/warning.rbs +9 -2
- data/docs/architecture.md +1 -1
- data/docs/syntax.md +1 -1
- data/ext/rbs_extension/location.c +29 -19
- data/ext/rbs_extension/parser.c +267 -292
- data/ext/rbs_extension/parserstate.c +56 -22
- data/lib/rbs/annotate/annotations.rb +3 -3
- data/lib/rbs/annotate/rdoc_source.rb +2 -2
- data/lib/rbs/cli/diff.rb +3 -3
- data/lib/rbs/cli/validate.rb +1 -1
- data/lib/rbs/cli.rb +13 -13
- data/lib/rbs/collection/config.rb +3 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +3 -3
- data/lib/rbs/environment_loader.rb +1 -1
- data/lib/rbs/namespace.rb +1 -0
- data/lib/rbs/parser_aux.rb +2 -2
- data/lib/rbs/prototype/rb.rb +11 -8
- data/lib/rbs/prototype/rbi.rb +9 -5
- data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
- data/lib/rbs/prototype/runtime.rb +4 -5
- data/lib/rbs/type_name.rb +14 -9
- data/lib/rbs/unit_test/type_assertions.rb +2 -2
- data/lib/rbs/validator.rb +3 -1
- data/lib/rbs/version.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +2 -2
- data/rbs.gemspec +4 -0
- data/sig/ancestor_graph.rbs +4 -4
- data/sig/namespace.rbs +2 -3
- data/sig/resolver/constant_resolver.rbs +2 -2
- data/sig/resolver/context.rbs +1 -1
- data/sig/type_alias_regularity.rbs +5 -5
- data/sig/typename.rbs +8 -5
- data/sig/use_map.rbs +1 -1
- data/sig/validator.rbs +2 -2
- 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 +47 -0
- data/stdlib/coverage/0/coverage.rbs +0 -3
- data/stdlib/csv/0/csv.rbs +18 -58
- data/stdlib/date/0/date.rbs +4 -19
- data/stdlib/did_you_mean/0/did_you_mean.rbs +0 -5
- 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 +8 -4
- data/stdlib/json/0/json.rbs +56 -71
- data/stdlib/logger/0/log_device.rbs +1 -1
- data/stdlib/logger/0/logger.rbs +3 -18
- data/stdlib/net-http/0/net-http.rbs +19 -77
- 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/open-uri.rbs +52 -0
- data/stdlib/open3/0/open3.rbs +0 -8
- data/stdlib/openssl/0/openssl.rbs +136 -69
- 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/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 +1 -2
- data/stdlib/resolv/0/resolv.rbs +8 -3
- data/stdlib/ripper/0/ripper.rbs +0 -2
- data/stdlib/securerandom/0/securerandom.rbs +0 -2
- data/stdlib/shellwords/0/shellwords.rbs +11 -12
- data/stdlib/singleton/0/singleton.rbs +0 -1
- data/stdlib/socket/0/addrinfo.rbs +0 -1
- data/stdlib/socket/0/basic_socket.rbs +0 -5
- data/stdlib/socket/0/socket.rbs +49 -25
- data/stdlib/socket/0/tcp_server.rbs +0 -3
- data/stdlib/socket/0/tcp_socket.rbs +58 -3
- data/stdlib/socket/0/udp_socket.rbs +0 -1
- data/stdlib/socket/0/unix_server.rbs +0 -3
- 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 +8 -1
- data/stdlib/tsort/0/tsort.rbs +0 -4
- data/stdlib/uri/0/common.rbs +11 -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 +4 -6
data/core/dir.rbs
CHANGED
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
# retrieved in an [array-like fashion](rdoc-ref:Dir@Dir+As+Array-Like) or in
|
|
11
11
|
# a [stream-like fashion](rdoc-ref:Dir@Dir+As+Stream-Like).
|
|
12
12
|
#
|
|
13
|
-
#
|
|
14
13
|
# ## About the Examples
|
|
15
14
|
#
|
|
16
15
|
# Some examples on this page use this simple file tree:
|
|
@@ -33,7 +32,6 @@
|
|
|
33
32
|
# * It has instance methods #children, #each, and #each_child.
|
|
34
33
|
# * It includes [module Enumerable](rdoc-ref:Enumerable@What-27s+Here).
|
|
35
34
|
#
|
|
36
|
-
#
|
|
37
35
|
# ## Dir As Stream-Like
|
|
38
36
|
#
|
|
39
37
|
# A Dir object is in some ways stream-like.
|
|
@@ -54,7 +52,6 @@
|
|
|
54
52
|
# the position; if at end-of-stream, does not increment the position.
|
|
55
53
|
# * Method #rewind sets the position to zero.
|
|
56
54
|
#
|
|
57
|
-
#
|
|
58
55
|
# Examples (using the [simple file tree](rdoc-ref:Dir@About+the+Examples)):
|
|
59
56
|
#
|
|
60
57
|
# dir = Dir.new('example') # => #<Dir:example>
|
|
@@ -89,7 +86,6 @@
|
|
|
89
86
|
# * Includes [module Enumerable](rdoc-ref:Enumerable@What-27s+Here), which
|
|
90
87
|
# provides dozens of additional methods.
|
|
91
88
|
#
|
|
92
|
-
#
|
|
93
89
|
# Here, class Dir provides methods that are useful for:
|
|
94
90
|
#
|
|
95
91
|
# * [Reading](rdoc-ref:Dir@Reading)
|
|
@@ -98,7 +94,6 @@
|
|
|
98
94
|
# * [Iterating](rdoc-ref:Dir@Iterating)
|
|
99
95
|
# * [Other](rdoc-ref:Dir@Other)
|
|
100
96
|
#
|
|
101
|
-
#
|
|
102
97
|
# ### Reading
|
|
103
98
|
#
|
|
104
99
|
# * #close: Closes the directory stream for `self`.
|
|
@@ -110,7 +105,6 @@
|
|
|
110
105
|
# * #seek: Sets the position in the directory stream for `self` the entry at
|
|
111
106
|
# the given offset.
|
|
112
107
|
#
|
|
113
|
-
#
|
|
114
108
|
# ### Setting
|
|
115
109
|
#
|
|
116
110
|
# * ::chdir: Changes the working directory of the current process to the given
|
|
@@ -118,7 +112,6 @@
|
|
|
118
112
|
# * ::chroot: Changes the file-system root for the current process to the
|
|
119
113
|
# given directory.
|
|
120
114
|
#
|
|
121
|
-
#
|
|
122
115
|
# ### Querying
|
|
123
116
|
#
|
|
124
117
|
# * ::[]: Same as ::glob without the ability to pass flags.
|
|
@@ -141,7 +134,6 @@
|
|
|
141
134
|
# * #tell (aliased as #pos): Returns the integer position in the directory
|
|
142
135
|
# stream for `self`.
|
|
143
136
|
#
|
|
144
|
-
#
|
|
145
137
|
# ### Iterating
|
|
146
138
|
#
|
|
147
139
|
# * ::each_child: Calls the given block with each entry in the given
|
|
@@ -153,7 +145,6 @@
|
|
|
153
145
|
# * #each_child: Calls the given block with each entry in `self`, but not
|
|
154
146
|
# including `.` or `..`.
|
|
155
147
|
#
|
|
156
|
-
#
|
|
157
148
|
# ### Other
|
|
158
149
|
#
|
|
159
150
|
# * ::mkdir: Creates a directory at the given path, with optional permissions.
|
|
@@ -215,7 +206,6 @@ class Dir
|
|
|
215
206
|
# defined.
|
|
216
207
|
# * Otherwise makes no change.
|
|
217
208
|
#
|
|
218
|
-
#
|
|
219
209
|
# With argument `new_dirpath` and a block, temporarily changes the working
|
|
220
210
|
# directory:
|
|
221
211
|
#
|
|
@@ -225,7 +215,6 @@ class Dir
|
|
|
225
215
|
# * Restores the previous working directory.
|
|
226
216
|
# * Returns the block's return value.
|
|
227
217
|
#
|
|
228
|
-
#
|
|
229
218
|
# Example:
|
|
230
219
|
#
|
|
231
220
|
# Dir.chdir('/var/spool/mail')
|
|
@@ -395,7 +384,6 @@ class Dir
|
|
|
395
384
|
# * Restores the previous working directory.
|
|
396
385
|
# * Returns the block's return value.
|
|
397
386
|
#
|
|
398
|
-
#
|
|
399
387
|
# Example:
|
|
400
388
|
#
|
|
401
389
|
# Dir.chdir('/var/spool/mail')
|
|
@@ -504,7 +492,6 @@ class Dir
|
|
|
504
492
|
# * We use method Array#take to shorten returned arrays that otherwise would
|
|
505
493
|
# be very large.
|
|
506
494
|
#
|
|
507
|
-
#
|
|
508
495
|
# With no block, returns array *entry_names*; example (using the [simple file
|
|
509
496
|
# tree](rdoc-ref:Dir@About+the+Examples)):
|
|
510
497
|
#
|
|
@@ -564,7 +551,6 @@ class Dir
|
|
|
564
551
|
#
|
|
565
552
|
# Dir.glob('*c*').take(3) # => ["CONTRIBUTING.md", "COPYING", "COPYING.ja"]
|
|
566
553
|
#
|
|
567
|
-
#
|
|
568
554
|
# Does not match Unix-like hidden entry names ("dot files"). To include
|
|
569
555
|
# those in the matched entry names, use flag IO::FNM_DOTMATCH or something
|
|
570
556
|
# like `'{*,.*}'`.
|
|
@@ -600,7 +586,6 @@ class Dir
|
|
|
600
586
|
# Note that on Windows, the backslash character may not be used in a string
|
|
601
587
|
# pattern: `Dir['c:\\foo*']` will not work, use `Dir['c:/foo*']` instead.
|
|
602
588
|
#
|
|
603
|
-
#
|
|
604
589
|
# More examples (using the [simple file tree](rdoc-ref:Dir@About+the+Examples)):
|
|
605
590
|
#
|
|
606
591
|
# # We're in the example directory.
|
|
@@ -669,7 +654,7 @@ class Dir
|
|
|
669
654
|
# rdoc-file=dir.c
|
|
670
655
|
# - Dir.home(user_name = nil) -> dirpath
|
|
671
656
|
# -->
|
|
672
|
-
#
|
|
657
|
+
# Returns the home directory path of the user specified with `user_name` if it
|
|
673
658
|
# is not `nil`, or the current login user:
|
|
674
659
|
#
|
|
675
660
|
# Dir.home # => "/home/me"
|
|
@@ -779,7 +764,6 @@ class Dir
|
|
|
779
764
|
# * Restores the previous working directory.
|
|
780
765
|
# * Returns the block's return value.
|
|
781
766
|
#
|
|
782
|
-
#
|
|
783
767
|
# Uses Dir.fchdir if available, and Dir.chdir if not, see those methods for
|
|
784
768
|
# caveats.
|
|
785
769
|
#
|
data/core/encoding.rbs
CHANGED
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
# * The name of an encoding.
|
|
13
13
|
# * An alias for an encoding name.
|
|
14
14
|
#
|
|
15
|
-
#
|
|
16
15
|
# These are equivalent:
|
|
17
16
|
#
|
|
18
17
|
# 'foo'.encode(Encoding::US_ASCII) # Encoding object.
|
|
@@ -109,7 +108,6 @@ class Encoding
|
|
|
109
108
|
# * String#inspect
|
|
110
109
|
# * Regexp#inspect
|
|
111
110
|
#
|
|
112
|
-
#
|
|
113
111
|
# While strings created from these locations will have this encoding, the
|
|
114
112
|
# encoding may not be valid. Be sure to check String#valid_encoding?.
|
|
115
113
|
#
|
|
@@ -157,7 +155,6 @@ class Encoding
|
|
|
157
155
|
# * Values from ENV
|
|
158
156
|
# * Values in ARGV including $PROGRAM_NAME
|
|
159
157
|
#
|
|
160
|
-
#
|
|
161
158
|
# Additionally String#encode and String#encode! use the default internal
|
|
162
159
|
# encoding if no encoding is given.
|
|
163
160
|
#
|
|
@@ -198,10 +195,13 @@ class Encoding
|
|
|
198
195
|
#
|
|
199
196
|
# "external"
|
|
200
197
|
# : default external encoding
|
|
198
|
+
#
|
|
201
199
|
# "internal"
|
|
202
200
|
# : default internal encoding
|
|
201
|
+
#
|
|
203
202
|
# "locale"
|
|
204
203
|
# : locale encoding
|
|
204
|
+
#
|
|
205
205
|
# "filesystem"
|
|
206
206
|
# : filesystem encoding
|
|
207
207
|
#
|
|
@@ -999,7 +999,6 @@ class Encoding::Converter < Object
|
|
|
999
999
|
# :partial_input is specified.
|
|
1000
1000
|
# * conversion is finished (:finished)
|
|
1001
1001
|
#
|
|
1002
|
-
#
|
|
1003
1002
|
# example:
|
|
1004
1003
|
# ec = Encoding::Converter.new("UTF-8", "UTF-16BE")
|
|
1005
1004
|
# ret = ec.primitive_convert(src="pi", dst="", nil, 100)
|
|
@@ -1212,7 +1211,6 @@ class Encoding::Converter < Object
|
|
|
1212
1211
|
# * two-element arrays which contain encodings or encoding names, or
|
|
1213
1212
|
# * strings representing decorator names.
|
|
1214
1213
|
#
|
|
1215
|
-
#
|
|
1216
1214
|
# Encoding::Converter.new optionally takes an option. The option should be a
|
|
1217
1215
|
# hash or an integer. The option hash can contain :invalid => nil, etc. The
|
|
1218
1216
|
# option integer should be logical-or of constants such as
|
|
@@ -1220,25 +1218,34 @@ class Encoding::Converter < Object
|
|
|
1220
1218
|
#
|
|
1221
1219
|
# :invalid => nil
|
|
1222
1220
|
# : Raise error on invalid byte sequence. This is a default behavior.
|
|
1221
|
+
#
|
|
1223
1222
|
# :invalid => :replace
|
|
1224
1223
|
# : Replace invalid byte sequence by replacement string.
|
|
1224
|
+
#
|
|
1225
1225
|
# :undef => nil
|
|
1226
1226
|
# : Raise an error if a character in source_encoding is not defined in
|
|
1227
1227
|
# destination_encoding. This is a default behavior.
|
|
1228
|
+
#
|
|
1228
1229
|
# :undef => :replace
|
|
1229
1230
|
# : Replace undefined character in destination_encoding with replacement
|
|
1230
1231
|
# string.
|
|
1232
|
+
#
|
|
1231
1233
|
# :replace => string
|
|
1232
1234
|
# : Specify the replacement string. If not specified, "uFFFD" is used for
|
|
1233
1235
|
# Unicode encodings and "?" for others.
|
|
1236
|
+
#
|
|
1234
1237
|
# :universal_newline => true
|
|
1235
1238
|
# : Convert CRLF and CR to LF.
|
|
1239
|
+
#
|
|
1236
1240
|
# :crlf_newline => true
|
|
1237
1241
|
# : Convert LF to CRLF.
|
|
1242
|
+
#
|
|
1238
1243
|
# :cr_newline => true
|
|
1239
1244
|
# : Convert LF to CR.
|
|
1245
|
+
#
|
|
1240
1246
|
# :lf_newline => true
|
|
1241
1247
|
# : Convert CRLF and CR to LF (when writing).
|
|
1248
|
+
#
|
|
1242
1249
|
# :xml => :text
|
|
1243
1250
|
# : Escape as XML CharData. This form can be used as an HTML 4.0 #PCDATA.
|
|
1244
1251
|
# * '&' -> '&'
|
|
@@ -1258,7 +1265,6 @@ class Encoding::Converter < Object
|
|
|
1258
1265
|
# such as &#xHH;
|
|
1259
1266
|
#
|
|
1260
1267
|
#
|
|
1261
|
-
#
|
|
1262
1268
|
# Examples:
|
|
1263
1269
|
# # UTF-16BE to UTF-8
|
|
1264
1270
|
# ec = Encoding::Converter.new("UTF-16BE", "UTF-8")
|