rbs 4.0.0.dev.4 → 4.0.0
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/dependabot.yml +14 -14
- data/.github/workflows/bundle-update.yml +60 -0
- data/.github/workflows/c-check.yml +18 -11
- data/.github/workflows/comments.yml +5 -3
- data/.github/workflows/dependabot.yml +2 -2
- data/.github/workflows/ruby.yml +27 -34
- data/.github/workflows/rust.yml +95 -0
- data/.github/workflows/typecheck.yml +2 -2
- data/.github/workflows/windows.yml +2 -2
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +323 -0
- data/README.md +1 -1
- data/Rakefile +43 -33
- data/Steepfile +1 -0
- data/config.yml +426 -24
- data/core/array.rbs +307 -227
- data/core/basic_object.rbs +9 -8
- data/core/binding.rbs +0 -2
- data/core/builtin.rbs +2 -2
- data/core/class.rbs +6 -5
- data/core/comparable.rbs +55 -34
- data/core/complex.rbs +104 -78
- data/core/dir.rbs +61 -49
- data/core/encoding.rbs +12 -15
- data/core/enumerable.rbs +179 -87
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator.rbs +65 -2
- data/core/errno.rbs +11 -2
- data/core/errors.rbs +58 -29
- data/core/exception.rbs +13 -13
- data/core/fiber.rbs +74 -54
- data/core/file.rbs +280 -177
- data/core/file_test.rbs +3 -3
- data/core/float.rbs +257 -92
- data/core/gc.rbs +425 -281
- data/core/hash.rbs +1045 -739
- data/core/integer.rbs +135 -137
- data/core/io/buffer.rbs +53 -42
- data/core/io/wait.rbs +13 -35
- data/core/io.rbs +192 -144
- data/core/kernel.rbs +216 -155
- data/core/marshal.rbs +4 -4
- data/core/match_data.rbs +15 -13
- data/core/math.rbs +107 -66
- data/core/method.rbs +69 -33
- data/core/module.rbs +244 -106
- data/core/nil_class.rbs +7 -6
- data/core/numeric.rbs +74 -63
- data/core/object.rbs +9 -11
- data/core/object_space.rbs +30 -23
- data/core/pathname.rbs +1322 -0
- data/core/proc.rbs +95 -58
- data/core/process.rbs +222 -202
- data/core/ractor.rbs +371 -515
- data/core/random.rbs +21 -3
- data/core/range.rbs +159 -57
- data/core/rational.rbs +60 -89
- data/core/rbs/unnamed/argf.rbs +60 -53
- data/core/rbs/unnamed/env_class.rbs +19 -14
- data/core/rbs/unnamed/main_class.rbs +123 -0
- data/core/rbs/unnamed/random.rbs +11 -118
- data/core/regexp.rbs +258 -214
- data/core/ruby.rbs +53 -0
- data/core/ruby_vm.rbs +38 -34
- data/core/rubygems/config_file.rbs +5 -5
- data/core/rubygems/errors.rbs +4 -71
- data/core/rubygems/requirement.rbs +5 -5
- data/core/rubygems/rubygems.rbs +16 -82
- data/core/rubygems/version.rbs +2 -3
- data/core/set.rbs +490 -360
- data/core/signal.rbs +26 -16
- data/core/string.rbs +3234 -1285
- data/core/struct.rbs +27 -26
- data/core/symbol.rbs +41 -34
- data/core/thread.rbs +135 -67
- data/core/time.rbs +81 -50
- data/core/trace_point.rbs +41 -35
- data/core/true_class.rbs +2 -2
- data/core/unbound_method.rbs +24 -16
- data/core/warning.rbs +7 -7
- data/docs/aliases.md +79 -0
- data/docs/collection.md +3 -3
- data/docs/config.md +171 -0
- data/docs/encoding.md +56 -0
- data/docs/gem.md +0 -1
- data/docs/inline.md +576 -0
- data/docs/sigs.md +3 -3
- data/docs/syntax.md +46 -16
- data/docs/type_fingerprint.md +21 -0
- data/exe/rbs +1 -1
- data/ext/rbs_extension/ast_translation.c +544 -116
- data/ext/rbs_extension/ast_translation.h +3 -0
- data/ext/rbs_extension/class_constants.c +16 -2
- data/ext/rbs_extension/class_constants.h +8 -0
- data/ext/rbs_extension/extconf.rb +5 -1
- data/ext/rbs_extension/legacy_location.c +33 -56
- data/ext/rbs_extension/legacy_location.h +37 -0
- data/ext/rbs_extension/main.c +44 -35
- data/include/rbs/ast.h +448 -173
- data/include/rbs/defines.h +27 -0
- data/include/rbs/lexer.h +30 -11
- data/include/rbs/location.h +25 -44
- data/include/rbs/parser.h +6 -6
- data/include/rbs/string.h +0 -2
- data/include/rbs/util/rbs_allocator.h +34 -13
- data/include/rbs/util/rbs_assert.h +12 -1
- data/include/rbs/util/rbs_constant_pool.h +0 -3
- data/include/rbs/util/rbs_encoding.h +2 -0
- data/include/rbs/util/rbs_unescape.h +2 -1
- data/include/rbs.h +8 -0
- data/lib/rbs/ast/annotation.rb +1 -1
- data/lib/rbs/ast/comment.rb +1 -1
- data/lib/rbs/ast/declarations.rb +10 -10
- data/lib/rbs/ast/members.rb +14 -14
- data/lib/rbs/ast/ruby/annotations.rb +293 -3
- data/lib/rbs/ast/ruby/comment_block.rb +24 -0
- data/lib/rbs/ast/ruby/declarations.rb +198 -3
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +4 -0
- data/lib/rbs/ast/ruby/members.rb +532 -22
- data/lib/rbs/ast/type_param.rb +24 -4
- data/lib/rbs/buffer.rb +20 -15
- data/lib/rbs/cli/diff.rb +16 -15
- data/lib/rbs/cli/validate.rb +38 -106
- data/lib/rbs/cli.rb +52 -19
- data/lib/rbs/collection/config/lockfile_generator.rb +14 -2
- data/lib/rbs/collection/sources/git.rb +1 -0
- data/lib/rbs/definition.rb +1 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +62 -9
- data/lib/rbs/definition_builder/method_builder.rb +20 -0
- data/lib/rbs/definition_builder.rb +147 -25
- data/lib/rbs/diff.rb +7 -1
- data/lib/rbs/environment.rb +227 -74
- data/lib/rbs/environment_loader.rb +0 -6
- data/lib/rbs/errors.rb +27 -18
- data/lib/rbs/inline_parser.rb +342 -6
- data/lib/rbs/location_aux.rb +1 -1
- data/lib/rbs/locator.rb +5 -1
- data/lib/rbs/method_type.rb +5 -3
- data/lib/rbs/parser_aux.rb +20 -7
- data/lib/rbs/prototype/helpers.rb +57 -0
- data/lib/rbs/prototype/rb.rb +3 -28
- data/lib/rbs/prototype/rbi.rb +3 -20
- data/lib/rbs/prototype/runtime.rb +8 -0
- data/lib/rbs/resolver/constant_resolver.rb +2 -2
- data/lib/rbs/resolver/type_name_resolver.rb +116 -38
- data/lib/rbs/subtractor.rb +3 -1
- data/lib/rbs/test/type_check.rb +19 -2
- data/lib/rbs/type_name.rb +1 -1
- data/lib/rbs/types.rb +88 -78
- data/lib/rbs/unit_test/type_assertions.rb +35 -8
- data/lib/rbs/validator.rb +2 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs.rb +1 -2
- data/lib/rdoc/discover.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +1 -1
- data/rbs.gemspec +4 -3
- data/rust/.gitignore +1 -0
- data/rust/Cargo.lock +378 -0
- data/rust/Cargo.toml +7 -0
- data/rust/ruby-rbs/Cargo.toml +22 -0
- data/rust/ruby-rbs/build.rs +764 -0
- data/rust/ruby-rbs/examples/locations.rs +60 -0
- data/rust/ruby-rbs/src/lib.rs +1 -0
- data/rust/ruby-rbs/src/node/mod.rs +742 -0
- data/rust/ruby-rbs/tests/sanity.rs +47 -0
- data/rust/ruby-rbs/vendor/rbs/config.yml +1 -0
- data/rust/ruby-rbs-sys/Cargo.toml +23 -0
- data/rust/ruby-rbs-sys/build.rs +204 -0
- data/rust/ruby-rbs-sys/src/lib.rs +50 -0
- data/rust/ruby-rbs-sys/vendor/rbs/include +1 -0
- data/rust/ruby-rbs-sys/vendor/rbs/src +1 -0
- data/rust/ruby-rbs-sys/wrapper.h +1 -0
- data/schema/typeParam.json +17 -1
- data/sig/ast/ruby/annotations.rbs +315 -4
- data/sig/ast/ruby/comment_block.rbs +8 -0
- data/sig/ast/ruby/declarations.rbs +102 -4
- data/sig/ast/ruby/members.rbs +108 -2
- data/sig/cli/diff.rbs +5 -11
- data/sig/cli/validate.rbs +12 -8
- data/sig/cli.rbs +18 -18
- data/sig/definition.rbs +6 -1
- data/sig/definition_builder.rbs +2 -0
- data/sig/environment.rbs +70 -12
- data/sig/errors.rbs +13 -14
- data/sig/inline_parser.rbs +39 -2
- data/sig/locator.rbs +0 -2
- data/sig/manifest.yaml +0 -1
- data/sig/method_builder.rbs +3 -1
- data/sig/parser.rbs +31 -13
- data/sig/prototype/helpers.rbs +2 -0
- data/sig/resolver/type_name_resolver.rbs +35 -7
- data/sig/source.rbs +3 -3
- data/sig/type_param.rbs +13 -8
- data/sig/types.rbs +6 -7
- data/sig/unit_test/spy.rbs +0 -8
- data/sig/unit_test/type_assertions.rbs +11 -0
- data/src/ast.c +410 -153
- data/src/lexer.c +1392 -1313
- data/src/lexer.re +3 -0
- data/src/lexstate.c +58 -37
- data/src/location.c +8 -48
- data/src/parser.c +977 -516
- data/src/string.c +0 -48
- data/src/util/rbs_allocator.c +89 -71
- data/src/util/rbs_assert.c +1 -1
- data/src/util/rbs_buffer.c +2 -2
- data/src/util/rbs_constant_pool.c +10 -14
- data/src/util/rbs_encoding.c +4 -8
- data/src/util/rbs_unescape.c +56 -20
- data/stdlib/bigdecimal/0/big_decimal.rbs +116 -98
- data/stdlib/bigdecimal-math/0/big_math.rbs +169 -8
- data/stdlib/cgi/0/core.rbs +9 -393
- data/stdlib/cgi/0/manifest.yaml +1 -0
- data/stdlib/cgi-escape/0/escape.rbs +171 -0
- data/stdlib/coverage/0/coverage.rbs +7 -4
- data/stdlib/date/0/date.rbs +92 -79
- data/stdlib/date/0/date_time.rbs +25 -24
- data/stdlib/delegate/0/delegator.rbs +10 -7
- data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
- data/stdlib/digest/0/digest.rbs +110 -0
- data/stdlib/erb/0/erb.rbs +748 -347
- data/stdlib/etc/0/etc.rbs +55 -50
- data/stdlib/fileutils/0/fileutils.rbs +158 -139
- data/stdlib/forwardable/0/forwardable.rbs +13 -10
- data/stdlib/io-console/0/io-console.rbs +2 -2
- data/stdlib/json/0/json.rbs +217 -136
- data/stdlib/monitor/0/monitor.rbs +3 -3
- data/stdlib/net-http/0/net-http.rbs +162 -134
- data/stdlib/objspace/0/objspace.rbs +17 -34
- data/stdlib/open-uri/0/open-uri.rbs +48 -8
- data/stdlib/open3/0/open3.rbs +469 -10
- data/stdlib/openssl/0/openssl.rbs +475 -357
- data/stdlib/optparse/0/optparse.rbs +26 -17
- data/stdlib/pathname/0/pathname.rbs +11 -1381
- data/stdlib/pp/0/pp.rbs +9 -8
- data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
- data/stdlib/pstore/0/pstore.rbs +35 -30
- data/stdlib/psych/0/psych.rbs +65 -12
- data/stdlib/psych/0/store.rbs +2 -4
- data/stdlib/pty/0/pty.rbs +9 -6
- data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
- data/stdlib/rdoc/0/code_object.rbs +2 -1
- data/stdlib/rdoc/0/parser.rbs +1 -1
- data/stdlib/rdoc/0/rdoc.rbs +1 -1
- data/stdlib/rdoc/0/store.rbs +1 -1
- data/stdlib/resolv/0/resolv.rbs +25 -68
- data/stdlib/ripper/0/ripper.rbs +22 -19
- data/stdlib/securerandom/0/manifest.yaml +2 -0
- data/stdlib/securerandom/0/securerandom.rbs +7 -20
- data/stdlib/shellwords/0/shellwords.rbs +2 -2
- data/stdlib/singleton/0/singleton.rbs +3 -0
- data/stdlib/socket/0/addrinfo.rbs +7 -7
- data/stdlib/socket/0/basic_socket.rbs +3 -3
- data/stdlib/socket/0/ip_socket.rbs +10 -8
- data/stdlib/socket/0/socket.rbs +23 -10
- data/stdlib/socket/0/tcp_server.rbs +1 -1
- data/stdlib/socket/0/tcp_socket.rbs +11 -3
- data/stdlib/socket/0/udp_socket.rbs +1 -1
- data/stdlib/socket/0/unix_server.rbs +1 -1
- data/stdlib/stringio/0/stringio.rbs +1177 -85
- data/stdlib/strscan/0/string_scanner.rbs +27 -25
- data/stdlib/tempfile/0/tempfile.rbs +25 -21
- data/stdlib/time/0/time.rbs +8 -6
- data/stdlib/timeout/0/timeout.rbs +63 -7
- data/stdlib/tsort/0/cyclic.rbs +3 -0
- data/stdlib/tsort/0/tsort.rbs +7 -6
- data/stdlib/uri/0/common.rbs +42 -20
- data/stdlib/uri/0/file.rbs +3 -3
- data/stdlib/uri/0/generic.rbs +26 -18
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/ldap.rbs +2 -2
- data/stdlib/uri/0/mailto.rbs +3 -3
- data/stdlib/uri/0/rfc2396_parser.rbs +12 -12
- data/stdlib/zlib/0/deflate.rbs +4 -3
- data/stdlib/zlib/0/gzip_reader.rbs +6 -6
- data/stdlib/zlib/0/gzip_writer.rbs +14 -12
- data/stdlib/zlib/0/inflate.rbs +1 -1
- data/stdlib/zlib/0/need_dict.rbs +1 -1
- data/stdlib/zlib/0/zstream.rbs +1 -0
- metadata +50 -6
data/stdlib/date/0/date_time.rbs
CHANGED
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
# #=> #<DateTime: 2001-02-03T12:00:00+00:00 ...>
|
|
25
25
|
#
|
|
26
26
|
# An optional argument, the offset, indicates the difference between the local
|
|
27
|
-
# time and UTC. For example,
|
|
28
|
-
# UTC,
|
|
29
|
-
# be -1 to +1, and its precision is assumed at most
|
|
30
|
-
# zero (equals to UTC).
|
|
27
|
+
# time and UTC. For example, <code>Rational(3,24)</code> represents ahead of 3
|
|
28
|
+
# hours of UTC, <code>Rational(-5,24)</code> represents behind of 5 hours of
|
|
29
|
+
# UTC. The offset should be -1 to +1, and its precision is assumed at most
|
|
30
|
+
# second. The default value is zero (equals to UTC).
|
|
31
31
|
#
|
|
32
32
|
# DateTime.new(2001,2,3,4,5,6,Rational(3,24))
|
|
33
33
|
# #=> #<DateTime: 2001-02-03T04:05:06+03:00 ...>
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
#
|
|
40
40
|
# An optional argument, the day of calendar reform (`start`), denotes a Julian
|
|
41
41
|
# day number, which should be 2298874 to 2426355 or negative/positive infinity.
|
|
42
|
-
# The default value is
|
|
42
|
+
# The default value is <code>Date::ITALY</code> (2299161=1582-10-15).
|
|
43
43
|
#
|
|
44
44
|
# A DateTime object has various methods. See each reference.
|
|
45
45
|
#
|
|
@@ -183,8 +183,8 @@ class DateTime < Date
|
|
|
183
183
|
# #=> #<DateTime: 2001-02-03T04:05:06+00:00 ...>
|
|
184
184
|
#
|
|
185
185
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
186
|
-
# stop this check by passing
|
|
187
|
-
# to parse.
|
|
186
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
187
|
+
# a long time to parse.
|
|
188
188
|
#
|
|
189
189
|
def self.httpdate: (String str, ?Integer start) -> DateTime
|
|
190
190
|
|
|
@@ -203,8 +203,8 @@ class DateTime < Date
|
|
|
203
203
|
# #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
|
204
204
|
#
|
|
205
205
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
206
|
-
# stop this check by passing
|
|
207
|
-
# to parse.
|
|
206
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
207
|
+
# a long time to parse.
|
|
208
208
|
#
|
|
209
209
|
def self.iso8601: (String str, ?Integer start) -> DateTime
|
|
210
210
|
|
|
@@ -237,8 +237,8 @@ class DateTime < Date
|
|
|
237
237
|
# #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
|
238
238
|
#
|
|
239
239
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
240
|
-
# stop this check by passing
|
|
241
|
-
# to parse.
|
|
240
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
241
|
+
# a long time to parse.
|
|
242
242
|
#
|
|
243
243
|
def self.jisx0301: (String str, ?Integer start) -> DateTime
|
|
244
244
|
|
|
@@ -288,8 +288,8 @@ class DateTime < Date
|
|
|
288
288
|
# #=> #<DateTime: 2001-02-03T16:05:06+00:00 ...>
|
|
289
289
|
#
|
|
290
290
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
291
|
-
# stop this check by passing
|
|
292
|
-
# to parse.
|
|
291
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
292
|
+
# a long time to parse.
|
|
293
293
|
#
|
|
294
294
|
def self.parse: (String str, ?boolish complete, ?Integer start) -> DateTime
|
|
295
295
|
|
|
@@ -305,8 +305,8 @@ class DateTime < Date
|
|
|
305
305
|
# #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
|
306
306
|
#
|
|
307
307
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
308
|
-
# stop this check by passing
|
|
309
|
-
# to parse.
|
|
308
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
309
|
+
# a long time to parse.
|
|
310
310
|
#
|
|
311
311
|
def self.rfc2822: (String str, ?Integer start) -> DateTime
|
|
312
312
|
|
|
@@ -321,8 +321,8 @@ class DateTime < Date
|
|
|
321
321
|
# #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
|
322
322
|
#
|
|
323
323
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
324
|
-
# stop this check by passing
|
|
325
|
-
# to parse.
|
|
324
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
325
|
+
# a long time to parse.
|
|
326
326
|
#
|
|
327
327
|
def self.rfc3339: (String str, ?Integer start) -> DateTime
|
|
328
328
|
|
|
@@ -338,8 +338,8 @@ class DateTime < Date
|
|
|
338
338
|
# #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
|
339
339
|
#
|
|
340
340
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
341
|
-
# stop this check by passing
|
|
342
|
-
# to parse.
|
|
341
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
342
|
+
# a long time to parse.
|
|
343
343
|
#
|
|
344
344
|
def self.rfc822: (String str, ?Integer start) -> DateTime
|
|
345
345
|
|
|
@@ -383,8 +383,8 @@ class DateTime < Date
|
|
|
383
383
|
# #=> #<DateTime: 2001-02-03T04:05:06+07:00 ...>
|
|
384
384
|
#
|
|
385
385
|
# Raise an ArgumentError when the string length is longer than *limit*. You can
|
|
386
|
-
# stop this check by passing
|
|
387
|
-
# to parse.
|
|
386
|
+
# stop this check by passing <code>limit: nil</code>, but note that it may take
|
|
387
|
+
# a long time to parse.
|
|
388
388
|
#
|
|
389
389
|
def self.xmlschema: (String str, ?Integer start) -> DateTime
|
|
390
390
|
|
|
@@ -393,8 +393,9 @@ class DateTime < Date
|
|
|
393
393
|
# - deconstruct_keys(array_of_names_or_nil) -> hash
|
|
394
394
|
# -->
|
|
395
395
|
# Returns a hash of the name/value pairs, to use in pattern matching. Possible
|
|
396
|
-
# keys are:
|
|
397
|
-
#
|
|
396
|
+
# keys are: <code>:year</code>, <code>:month</code>, <code>:day</code>,
|
|
397
|
+
# <code>:wday</code>, <code>:yday</code>, <code>:hour</code>, <code>:min</code>,
|
|
398
|
+
# <code>:sec</code>, <code>:sec_fraction</code>, <code>:zone</code>.
|
|
398
399
|
#
|
|
399
400
|
# Possible usages:
|
|
400
401
|
#
|
|
@@ -555,7 +556,7 @@ class DateTime < Date
|
|
|
555
556
|
# DateTime.now.strftime # => "2022-07-01T11:03:19-05:00"
|
|
556
557
|
#
|
|
557
558
|
# For other formats, see [Formats for Dates and
|
|
558
|
-
# Times](rdoc-ref:strftime_formatting.rdoc):
|
|
559
|
+
# Times](rdoc-ref:language/strftime_formatting.rdoc):
|
|
559
560
|
#
|
|
560
561
|
def strftime: (?String format) -> String
|
|
561
562
|
|
|
@@ -44,7 +44,7 @@ class Delegator < BasicObject
|
|
|
44
44
|
# rdoc-file=lib/delegate.rb
|
|
45
45
|
# - !()
|
|
46
46
|
# -->
|
|
47
|
-
# Delegates ! to the
|
|
47
|
+
# Delegates ! to the `__getobj__`
|
|
48
48
|
#
|
|
49
49
|
def !: () -> untyped
|
|
50
50
|
|
|
@@ -94,7 +94,7 @@ class Delegator < BasicObject
|
|
|
94
94
|
# rdoc-file=lib/delegate.rb
|
|
95
95
|
# - freeze()
|
|
96
96
|
# -->
|
|
97
|
-
# :method: freeze Freeze both the object returned by
|
|
97
|
+
# :method: freeze Freeze both the object returned by `__getobj__` and self.
|
|
98
98
|
#
|
|
99
99
|
def freeze: () -> self
|
|
100
100
|
|
|
@@ -102,7 +102,7 @@ class Delegator < BasicObject
|
|
|
102
102
|
# rdoc-file=lib/delegate.rb
|
|
103
103
|
# - marshal_dump()
|
|
104
104
|
# -->
|
|
105
|
-
# Serialization support for the object returned by
|
|
105
|
+
# Serialization support for the object returned by `__getobj__`.
|
|
106
106
|
#
|
|
107
107
|
def marshal_dump: () -> untyped
|
|
108
108
|
|
|
@@ -126,7 +126,7 @@ class Delegator < BasicObject
|
|
|
126
126
|
# - methods(all=true)
|
|
127
127
|
# -->
|
|
128
128
|
# Returns the methods available to this delegate object as the union of this
|
|
129
|
-
# object's and
|
|
129
|
+
# object's and `__getobj__` methods.
|
|
130
130
|
#
|
|
131
131
|
def methods: (?boolish all) -> Array[Symbol]
|
|
132
132
|
|
|
@@ -135,7 +135,7 @@ class Delegator < BasicObject
|
|
|
135
135
|
# - protected_methods(all=true)
|
|
136
136
|
# -->
|
|
137
137
|
# Returns the methods available to this delegate object as the union of this
|
|
138
|
-
# object's and
|
|
138
|
+
# object's and `__getobj__` protected methods.
|
|
139
139
|
#
|
|
140
140
|
def protected_methods: (?boolish all) -> Array[Symbol]
|
|
141
141
|
|
|
@@ -144,7 +144,7 @@ class Delegator < BasicObject
|
|
|
144
144
|
# - public_methods(all=true)
|
|
145
145
|
# -->
|
|
146
146
|
# Returns the methods available to this delegate object as the union of this
|
|
147
|
-
# object's and
|
|
147
|
+
# object's and `__getobj__` public methods.
|
|
148
148
|
#
|
|
149
149
|
def public_methods: (?untyped all) -> Array[Symbol]
|
|
150
150
|
|
|
@@ -168,7 +168,7 @@ class Delegator < BasicObject
|
|
|
168
168
|
# - respond_to_missing?(m, include_private)
|
|
169
169
|
# -->
|
|
170
170
|
# Checks for a method provided by this the delegate object by forwarding the
|
|
171
|
-
# call through
|
|
171
|
+
# call through `__getobj__`.
|
|
172
172
|
#
|
|
173
173
|
def respond_to_missing?: (Symbol m, bool include_private) -> bool
|
|
174
174
|
|
|
@@ -180,5 +180,8 @@ class Delegator < BasicObject
|
|
|
180
180
|
#
|
|
181
181
|
def target_respond_to?: (untyped target, Symbol m, bool include_private) -> bool
|
|
182
182
|
|
|
183
|
+
# <!-- rdoc-file=lib/delegate.rb -->
|
|
184
|
+
# The version string
|
|
185
|
+
#
|
|
183
186
|
VERSION: String
|
|
184
187
|
end
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
#
|
|
39
39
|
# Occasionally, you may want to disable the `did_you_mean` gem for e.g.
|
|
40
40
|
# debugging issues in the error object itself. You can disable it entirely by
|
|
41
|
-
# specifying
|
|
41
|
+
# specifying <code>--disable-did_you_mean</code> option to the `ruby` command:
|
|
42
42
|
#
|
|
43
43
|
# $ ruby --disable-did_you_mean -e "1.zeor?"
|
|
44
44
|
# -e:1:in `<main>': undefined method `zeor?' for 1:Integer (NameError)
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
#
|
|
56
56
|
# Sometimes, you do not want to disable the gem entirely, but need to get the
|
|
57
57
|
# original error message without suggestions (e.g. testing). In this case, you
|
|
58
|
-
# could use the
|
|
58
|
+
# could use the <code>#original_message</code> method on the error object:
|
|
59
59
|
#
|
|
60
60
|
# no_method_error = begin
|
|
61
61
|
# 1.zeor?
|
|
@@ -92,9 +92,9 @@ module DidYouMean
|
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
# <!-- rdoc-file=lib/did_you_mean/formatter.rb -->
|
|
95
|
-
# The
|
|
96
|
-
# formatter responds to the `message_for` method and it returns a human
|
|
97
|
-
# string.
|
|
95
|
+
# The <code>DidYouMean::Formatter</code> is the basic, default formatter for the
|
|
96
|
+
# gem. The formatter responds to the `message_for` method and it returns a human
|
|
97
|
+
# readable string.
|
|
98
98
|
#
|
|
99
99
|
class Formatter
|
|
100
100
|
# <!--
|
|
@@ -170,15 +170,16 @@ module DidYouMean
|
|
|
170
170
|
NAMES_TO_EXCLUDE: Hash[untyped, Array[Symbol]]
|
|
171
171
|
|
|
172
172
|
# <!-- rdoc-file=lib/did_you_mean/spell_checkers/method_name_checker.rb -->
|
|
173
|
-
#
|
|
174
|
-
# that take an argument. Unlike
|
|
175
|
-
# reserved words
|
|
176
|
-
#
|
|
173
|
+
# <code>MethodNameChecker::RB_RESERVED_WORDS</code> is the list of reserved
|
|
174
|
+
# words in Ruby that take an argument. Unlike
|
|
175
|
+
# <code>VariableNameChecker::RB_RESERVED_WORDS</code>, these reserved words
|
|
176
|
+
# require an argument, and a `NoMethodError` is raised due to the presence of
|
|
177
|
+
# the argument.
|
|
177
178
|
#
|
|
178
179
|
# The `MethodNameChecker` will use this list to suggest a reversed word if a
|
|
179
180
|
# `NoMethodError` is raised and found closest matches.
|
|
180
181
|
#
|
|
181
|
-
# Also see
|
|
182
|
+
# Also see <code>VariableNameChecker::RB_RESERVED_WORDS</code>.
|
|
182
183
|
#
|
|
183
184
|
RB_RESERVED_WORDS: Array[Symbol]
|
|
184
185
|
|
|
@@ -295,19 +296,19 @@ module DidYouMean
|
|
|
295
296
|
NAMES_TO_EXCLUDE: Hash[String, Array[Symbol]]
|
|
296
297
|
|
|
297
298
|
# <!-- rdoc-file=lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb -->
|
|
298
|
-
#
|
|
299
|
-
# Ruby. They could be declared like methods are, and a typo
|
|
300
|
-
# raise a `NameError` because of the way they are declared.
|
|
299
|
+
# <code>VariableNameChecker::RB_RESERVED_WORDS</code> is the list of all
|
|
300
|
+
# reserved words in Ruby. They could be declared like methods are, and a typo
|
|
301
|
+
# would cause Ruby to raise a `NameError` because of the way they are declared.
|
|
301
302
|
#
|
|
302
|
-
# The
|
|
303
|
-
# `NameError` is raised and found closest matches, excluding:
|
|
303
|
+
# The <code>:VariableNameChecker</code> will use this list to suggest a reversed
|
|
304
|
+
# word if a `NameError` is raised and found closest matches, excluding:
|
|
304
305
|
#
|
|
305
306
|
# * +do+
|
|
306
307
|
# * +if+
|
|
307
308
|
# * +in+
|
|
308
309
|
# * +or+
|
|
309
310
|
#
|
|
310
|
-
# Also see
|
|
311
|
+
# Also see <code>MethodNameChecker::RB_RESERVED_WORDS</code>.
|
|
311
312
|
#
|
|
312
313
|
RB_RESERVED_WORDS: Array[Symbol]
|
|
313
314
|
|
data/stdlib/digest/0/digest.rbs
CHANGED
|
@@ -471,6 +471,116 @@ end
|
|
|
471
471
|
class Digest::SHA1 < Digest::Base
|
|
472
472
|
end
|
|
473
473
|
|
|
474
|
+
# <!-- rdoc-file=ext/digest/sha2/lib/sha2.rb -->
|
|
475
|
+
# A meta digest provider class for SHA256, SHA384 and SHA512.
|
|
476
|
+
#
|
|
477
|
+
# FIPS 180-2 describes SHA2 family of digest algorithms. It defines three
|
|
478
|
+
# algorithms:
|
|
479
|
+
# * one which works on chunks of 512 bits and returns a 256-bit digest
|
|
480
|
+
# (SHA256),
|
|
481
|
+
# * one which works on chunks of 1024 bits and returns a 384-bit digest
|
|
482
|
+
# (SHA384),
|
|
483
|
+
# * and one which works on chunks of 1024 bits and returns a 512-bit digest
|
|
484
|
+
# (SHA512).
|
|
485
|
+
#
|
|
486
|
+
# ## Examples
|
|
487
|
+
# require 'digest'
|
|
488
|
+
#
|
|
489
|
+
# # Compute a complete digest
|
|
490
|
+
# Digest::SHA2.hexdigest 'abc' # => "ba7816bf8..."
|
|
491
|
+
# Digest::SHA2.new(256).hexdigest 'abc' # => "ba7816bf8..."
|
|
492
|
+
# Digest::SHA256.hexdigest 'abc' # => "ba7816bf8..."
|
|
493
|
+
#
|
|
494
|
+
# Digest::SHA2.new(384).hexdigest 'abc' # => "cb00753f4..."
|
|
495
|
+
# Digest::SHA384.hexdigest 'abc' # => "cb00753f4..."
|
|
496
|
+
#
|
|
497
|
+
# Digest::SHA2.new(512).hexdigest 'abc' # => "ddaf35a19..."
|
|
498
|
+
# Digest::SHA512.hexdigest 'abc' # => "ddaf35a19..."
|
|
499
|
+
#
|
|
500
|
+
# # Compute digest by chunks
|
|
501
|
+
# sha2 = Digest::SHA2.new # =>#<Digest::SHA2:256>
|
|
502
|
+
# sha2.update "ab"
|
|
503
|
+
# sha2 << "c" # alias for #update
|
|
504
|
+
# sha2.hexdigest # => "ba7816bf8..."
|
|
505
|
+
#
|
|
506
|
+
# # Use the same object to compute another digest
|
|
507
|
+
# sha2.reset
|
|
508
|
+
# sha2 << "message"
|
|
509
|
+
# sha2.hexdigest # => "ab530a13e..."
|
|
510
|
+
#
|
|
511
|
+
class Digest::SHA2 < Digest::Class
|
|
512
|
+
# <!--
|
|
513
|
+
# rdoc-file=ext/digest/sha2/lib/sha2.rb
|
|
514
|
+
# - Digest::SHA2.new(bitlen = 256) -> digest_obj
|
|
515
|
+
# -->
|
|
516
|
+
# Create a new SHA2 hash object with a given bit length.
|
|
517
|
+
#
|
|
518
|
+
# Valid bit lengths are 256, 384 and 512.
|
|
519
|
+
#
|
|
520
|
+
def initialize: (?(256 | 384 | 512) bitlen) -> void
|
|
521
|
+
|
|
522
|
+
# <!--
|
|
523
|
+
# rdoc-file=ext/digest/sha2/lib/sha2.rb
|
|
524
|
+
# - digest_obj.reset -> digest_obj
|
|
525
|
+
# -->
|
|
526
|
+
# Reset the digest to the initial state and return self.
|
|
527
|
+
#
|
|
528
|
+
def reset: () -> self
|
|
529
|
+
|
|
530
|
+
# <!--
|
|
531
|
+
# rdoc-file=ext/digest/sha2/lib/sha2.rb
|
|
532
|
+
# - digest_obj.update(string) -> digest_obj
|
|
533
|
+
# - digest_obj << string -> digest_obj
|
|
534
|
+
# -->
|
|
535
|
+
# Update the digest using a given *string* and return self.
|
|
536
|
+
#
|
|
537
|
+
def update: (String) -> self
|
|
538
|
+
|
|
539
|
+
private def finish: () -> String
|
|
540
|
+
|
|
541
|
+
# <!--
|
|
542
|
+
# rdoc-file=ext/digest/sha2/lib/sha2.rb
|
|
543
|
+
# - <<(str)
|
|
544
|
+
# -->
|
|
545
|
+
#
|
|
546
|
+
alias << update
|
|
547
|
+
|
|
548
|
+
# <!--
|
|
549
|
+
# rdoc-file=ext/digest/sha2/lib/sha2.rb
|
|
550
|
+
# - digest_obj.block_length -> Integer
|
|
551
|
+
# -->
|
|
552
|
+
# Return the block length of the digest in bytes.
|
|
553
|
+
#
|
|
554
|
+
# Digest::SHA256.new.block_length * 8
|
|
555
|
+
# # => 512
|
|
556
|
+
# Digest::SHA384.new.block_length * 8
|
|
557
|
+
# # => 1024
|
|
558
|
+
# Digest::SHA512.new.block_length * 8
|
|
559
|
+
# # => 1024
|
|
560
|
+
#
|
|
561
|
+
def block_length: () -> Integer
|
|
562
|
+
|
|
563
|
+
# <!--
|
|
564
|
+
# rdoc-file=ext/digest/sha2/lib/sha2.rb
|
|
565
|
+
# - digest_obj.digest_length -> Integer
|
|
566
|
+
# -->
|
|
567
|
+
# Return the length of the hash value (the digest) in bytes.
|
|
568
|
+
#
|
|
569
|
+
# Digest::SHA256.new.digest_length * 8
|
|
570
|
+
# # => 256
|
|
571
|
+
# Digest::SHA384.new.digest_length * 8
|
|
572
|
+
# # => 384
|
|
573
|
+
# Digest::SHA512.new.digest_length * 8
|
|
574
|
+
# # => 512
|
|
575
|
+
#
|
|
576
|
+
# For example, digests produced by Digest::SHA256 will always be 32 bytes (256
|
|
577
|
+
# bits) in size.
|
|
578
|
+
#
|
|
579
|
+
def digest_length: () -> Integer
|
|
580
|
+
|
|
581
|
+
def initialize_copy: (untyped) -> untyped
|
|
582
|
+
end
|
|
583
|
+
|
|
474
584
|
# <!-- rdoc-file=ext/digest/md5/md5init.c -->
|
|
475
585
|
# A class for calculating message digests using the MD5 Message-Digest Algorithm
|
|
476
586
|
# by RSA Data Security, Inc., described in RFC1321.
|