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/pp/0/pp.rbs
CHANGED
|
@@ -31,18 +31,19 @@
|
|
|
31
31
|
# pp(obj1, obj2, ...) #=> [obj1, obj2, ...]
|
|
32
32
|
# pp() #=> nil
|
|
33
33
|
#
|
|
34
|
-
# Output
|
|
34
|
+
# Output <code>obj(s)</code> to <code>$></code> in pretty printed format.
|
|
35
35
|
#
|
|
36
|
-
# It returns
|
|
36
|
+
# It returns <code>obj(s)</code>.
|
|
37
37
|
#
|
|
38
38
|
# ## Output Customization
|
|
39
39
|
#
|
|
40
40
|
# To define a customized pretty printing function for your classes, redefine
|
|
41
|
-
# method
|
|
42
|
-
# before redefining
|
|
41
|
+
# method <code>#pretty_print(pp)</code> in the class. Note that <code>require
|
|
42
|
+
# 'pp'</code> is needed before redefining <code>#pretty_print(pp)</code>.
|
|
43
43
|
#
|
|
44
|
-
#
|
|
45
|
-
# The method uses #text, #breakable, #nest, #group and #pp to
|
|
44
|
+
# <code>#pretty_print</code> takes the `pp` argument, which is an instance of
|
|
45
|
+
# the PP class. The method uses #text, #breakable, #nest, #group and #pp to
|
|
46
|
+
# print the object.
|
|
46
47
|
#
|
|
47
48
|
# ## Pretty-Print JSON
|
|
48
49
|
#
|
|
@@ -237,8 +238,8 @@ class PP < PrettyPrint
|
|
|
237
238
|
# -->
|
|
238
239
|
# Outputs `obj` to `out` in pretty printed format of `width` columns in width.
|
|
239
240
|
#
|
|
240
|
-
# If `out` is omitted,
|
|
241
|
-
# `out` is assumed (see width_for).
|
|
241
|
+
# If `out` is omitted, <code>$></code> is assumed. If `width` is omitted, the
|
|
242
|
+
# width of `out` is assumed (see width_for).
|
|
242
243
|
#
|
|
243
244
|
# PP.pp returns `out`.
|
|
244
245
|
#
|
|
@@ -196,8 +196,8 @@ class PrettyPrint
|
|
|
196
196
|
#
|
|
197
197
|
# If `sep` is not specified, " " is used.
|
|
198
198
|
#
|
|
199
|
-
# If `width` is not specified,
|
|
200
|
-
# this when `sep` is a multibyte character, for example.
|
|
199
|
+
# If `width` is not specified, <code>sep.length</code> is used. You will have to
|
|
200
|
+
# specify this when `sep` is a multibyte character, for example.
|
|
201
201
|
#
|
|
202
202
|
def fill_breakable: (?String sep, ?Integer width) -> void
|
|
203
203
|
|
|
@@ -210,8 +210,8 @@ class PrettyPrint
|
|
|
210
210
|
#
|
|
211
211
|
# If `sep` is not specified, " " is used.
|
|
212
212
|
#
|
|
213
|
-
# If `width` is not specified,
|
|
214
|
-
# this when `sep` is a multibyte character, for example.
|
|
213
|
+
# If `width` is not specified, <code>sep.length</code> is used. You will have to
|
|
214
|
+
# specify this when `sep` is a multibyte character, for example.
|
|
215
215
|
#
|
|
216
216
|
def breakable: (?String sep, ?Integer width) -> void
|
|
217
217
|
|
|
@@ -225,9 +225,9 @@ class PrettyPrint
|
|
|
225
225
|
# If `indent` is specified, the method call is regarded as nested by
|
|
226
226
|
# nest(indent) { ... }.
|
|
227
227
|
#
|
|
228
|
-
# If `open_obj` is specified,
|
|
229
|
-
# grouping. If `close_obj` is specified,
|
|
230
|
-
# after grouping.
|
|
228
|
+
# If `open_obj` is specified, <code>text open_obj, open_width</code> is called
|
|
229
|
+
# before grouping. If `close_obj` is specified, <code>text close_obj,
|
|
230
|
+
# close_width</code> is called after grouping.
|
|
231
231
|
#
|
|
232
232
|
def group: (?::Integer indent, ?::String open_obj, ?::String close_obj, ?Integer open_width, ?Integer close_width) { () -> untyped } -> Integer
|
|
233
233
|
|
data/stdlib/pstore/0/pstore.rbs
CHANGED
|
@@ -299,7 +299,7 @@
|
|
|
299
299
|
# end
|
|
300
300
|
# end
|
|
301
301
|
#
|
|
302
|
-
class PStore
|
|
302
|
+
class PStore[unchecked out K = untyped, unchecked out V = untyped]
|
|
303
303
|
# <!--
|
|
304
304
|
# rdoc-file=lib/pstore.rb
|
|
305
305
|
# - [](key)
|
|
@@ -320,7 +320,7 @@ class PStore
|
|
|
320
320
|
#
|
|
321
321
|
# Raises an exception if called outside a transaction block.
|
|
322
322
|
#
|
|
323
|
-
def []: (
|
|
323
|
+
def []: (K name) -> V?
|
|
324
324
|
|
|
325
325
|
# <!--
|
|
326
326
|
# rdoc-file=lib/pstore.rb
|
|
@@ -338,7 +338,7 @@ class PStore
|
|
|
338
338
|
#
|
|
339
339
|
# Raises an exception if called outside a transaction block.
|
|
340
340
|
#
|
|
341
|
-
def []=: (
|
|
341
|
+
def []=: (K name, V value) -> V
|
|
342
342
|
|
|
343
343
|
# <!--
|
|
344
344
|
# rdoc-file=lib/pstore.rb
|
|
@@ -349,7 +349,7 @@ class PStore
|
|
|
349
349
|
#
|
|
350
350
|
# Raises an exception if called outside a transaction block.
|
|
351
351
|
#
|
|
352
|
-
def abort: () ->
|
|
352
|
+
def abort: () -> void
|
|
353
353
|
|
|
354
354
|
# <!--
|
|
355
355
|
# rdoc-file=lib/pstore.rb
|
|
@@ -360,7 +360,7 @@ class PStore
|
|
|
360
360
|
#
|
|
361
361
|
# Raises an exception if called outside a transaction block.
|
|
362
362
|
#
|
|
363
|
-
def commit: () ->
|
|
363
|
+
def commit: () -> void
|
|
364
364
|
|
|
365
365
|
# <!--
|
|
366
366
|
# rdoc-file=lib/pstore.rb
|
|
@@ -379,7 +379,7 @@ class PStore
|
|
|
379
379
|
#
|
|
380
380
|
# Raises an exception if called outside a transaction block.
|
|
381
381
|
#
|
|
382
|
-
def delete: (
|
|
382
|
+
def delete: (K name) -> V?
|
|
383
383
|
|
|
384
384
|
# <!--
|
|
385
385
|
# rdoc-file=lib/pstore.rb
|
|
@@ -400,7 +400,7 @@ class PStore
|
|
|
400
400
|
#
|
|
401
401
|
# Raises an exception if called outside a transaction block.
|
|
402
402
|
#
|
|
403
|
-
def fetch: (
|
|
403
|
+
def fetch: (K name, ?V default) -> V
|
|
404
404
|
|
|
405
405
|
# <!--
|
|
406
406
|
# rdoc-file=lib/pstore.rb
|
|
@@ -410,21 +410,25 @@ class PStore
|
|
|
410
410
|
#
|
|
411
411
|
# store.path # => "flat.store"
|
|
412
412
|
#
|
|
413
|
-
def path: () ->
|
|
413
|
+
def path: () -> String
|
|
414
414
|
|
|
415
415
|
# <!--
|
|
416
416
|
# rdoc-file=lib/pstore.rb
|
|
417
417
|
# - root?(key)
|
|
418
418
|
# -->
|
|
419
419
|
#
|
|
420
|
-
def
|
|
420
|
+
def key?: (K name) -> bool
|
|
421
|
+
|
|
422
|
+
alias root? key?
|
|
421
423
|
|
|
422
424
|
# <!--
|
|
423
425
|
# rdoc-file=lib/pstore.rb
|
|
424
426
|
# - roots()
|
|
425
427
|
# -->
|
|
426
428
|
#
|
|
427
|
-
def
|
|
429
|
+
def keys: () -> Array[K]
|
|
430
|
+
|
|
431
|
+
alias roots keys
|
|
428
432
|
|
|
429
433
|
# <!--
|
|
430
434
|
# rdoc-file=lib/pstore.rb
|
|
@@ -441,7 +445,7 @@ class PStore
|
|
|
441
445
|
#
|
|
442
446
|
# Raises an exception if called within a transaction block.
|
|
443
447
|
#
|
|
444
|
-
def transaction: (?
|
|
448
|
+
def transaction: [U] (?bool read_only) { (self) -> U } -> U
|
|
445
449
|
|
|
446
450
|
# <!-- rdoc-file=lib/pstore.rb -->
|
|
447
451
|
# Whether PStore should do its best to prevent file corruptions, even when an
|
|
@@ -458,7 +462,7 @@ class PStore
|
|
|
458
462
|
# raises no unexpected I/O error; if such an error occurs during a write to
|
|
459
463
|
# the store, the file may become corrupted.
|
|
460
464
|
#
|
|
461
|
-
def ultra_safe: () ->
|
|
465
|
+
def ultra_safe: () -> bool
|
|
462
466
|
|
|
463
467
|
# <!-- rdoc-file=lib/pstore.rb -->
|
|
464
468
|
# Whether PStore should do its best to prevent file corruptions, even when an
|
|
@@ -475,7 +479,7 @@ class PStore
|
|
|
475
479
|
# raises no unexpected I/O error; if such an error occurs during a write to
|
|
476
480
|
# the store, the file may become corrupted.
|
|
477
481
|
#
|
|
478
|
-
def ultra_safe=: (
|
|
482
|
+
def ultra_safe=: (bool) -> bool
|
|
479
483
|
|
|
480
484
|
private
|
|
481
485
|
|
|
@@ -486,14 +490,14 @@ class PStore
|
|
|
486
490
|
# - empty_marshal_checksum()
|
|
487
491
|
# -->
|
|
488
492
|
#
|
|
489
|
-
def empty_marshal_checksum: () ->
|
|
493
|
+
def empty_marshal_checksum: () -> String
|
|
490
494
|
|
|
491
495
|
# <!--
|
|
492
496
|
# rdoc-file=lib/pstore.rb
|
|
493
497
|
# - empty_marshal_data()
|
|
494
498
|
# -->
|
|
495
499
|
#
|
|
496
|
-
def empty_marshal_data: () ->
|
|
500
|
+
def empty_marshal_data: () -> String
|
|
497
501
|
|
|
498
502
|
# <!--
|
|
499
503
|
# rdoc-file=lib/pstore.rb
|
|
@@ -501,7 +505,7 @@ class PStore
|
|
|
501
505
|
# -->
|
|
502
506
|
# Raises PStore::Error if the calling code is not in a PStore#transaction.
|
|
503
507
|
#
|
|
504
|
-
def in_transaction: () ->
|
|
508
|
+
def in_transaction: () -> void
|
|
505
509
|
|
|
506
510
|
# <!--
|
|
507
511
|
# rdoc-file=lib/pstore.rb
|
|
@@ -510,7 +514,7 @@ class PStore
|
|
|
510
514
|
# Raises PStore::Error if the calling code is not in a PStore#transaction or if
|
|
511
515
|
# the code is in a read-only PStore#transaction.
|
|
512
516
|
#
|
|
513
|
-
def in_transaction_wr: () ->
|
|
517
|
+
def in_transaction_wr: () -> void
|
|
514
518
|
|
|
515
519
|
# <!--
|
|
516
520
|
# rdoc-file=lib/pstore.rb
|
|
@@ -531,7 +535,7 @@ class PStore
|
|
|
531
535
|
#
|
|
532
536
|
# store = PStore.new(path, true)
|
|
533
537
|
#
|
|
534
|
-
def initialize: (
|
|
538
|
+
def initialize: (path file, ?boolish thread_safe) -> void
|
|
535
539
|
|
|
536
540
|
def load: (untyped content) -> untyped
|
|
537
541
|
|
|
@@ -543,7 +547,8 @@ class PStore
|
|
|
543
547
|
# be returned. If `read_only` is false, a 3-tuple will be returned: the
|
|
544
548
|
# unmarshalled Hash, a checksum of the data, and the size of the data.
|
|
545
549
|
#
|
|
546
|
-
def load_data: (
|
|
550
|
+
def load_data: (path file, true read_only) -> Hash[untyped, untyped]
|
|
551
|
+
| (path file, false read_only) -> [Hash[untyped, untyped], String, Integer]
|
|
547
552
|
|
|
548
553
|
# <!--
|
|
549
554
|
# rdoc-file=lib/pstore.rb
|
|
@@ -564,7 +569,7 @@ class PStore
|
|
|
564
569
|
#
|
|
565
570
|
# All exceptions are propagated.
|
|
566
571
|
#
|
|
567
|
-
def open_and_lock_file: (
|
|
572
|
+
def open_and_lock_file: (string filename, bool read_only) -> File?
|
|
568
573
|
|
|
569
574
|
# <!--
|
|
570
575
|
# rdoc-file=lib/pstore.rb
|
|
@@ -578,26 +583,26 @@ class PStore
|
|
|
578
583
|
# - save_data_with_atomic_file_rename_strategy(data, file)
|
|
579
584
|
# -->
|
|
580
585
|
#
|
|
581
|
-
def save_data_with_atomic_file_rename_strategy: (
|
|
586
|
+
def save_data_with_atomic_file_rename_strategy: (string data, File file) -> void
|
|
582
587
|
|
|
583
588
|
# <!--
|
|
584
589
|
# rdoc-file=lib/pstore.rb
|
|
585
590
|
# - save_data_with_fast_strategy(data, file)
|
|
586
591
|
# -->
|
|
587
592
|
#
|
|
588
|
-
def save_data_with_fast_strategy: (
|
|
589
|
-
end
|
|
593
|
+
def save_data_with_fast_strategy: (string data, File file) -> void
|
|
590
594
|
|
|
591
|
-
|
|
595
|
+
EMPTY_MARSHAL_CHECKSUM: String
|
|
592
596
|
|
|
593
|
-
|
|
597
|
+
EMPTY_MARSHAL_DATA: String
|
|
594
598
|
|
|
595
|
-
|
|
599
|
+
EMPTY_STRING: String
|
|
596
600
|
|
|
597
|
-
|
|
601
|
+
RDWR_ACCESS: { mode: Integer, encoding: Encoding }
|
|
598
602
|
|
|
599
|
-
|
|
603
|
+
RD_ACCESS: { mode: Integer, encoding: Encoding }
|
|
600
604
|
|
|
601
|
-
|
|
605
|
+
VERSION: String
|
|
602
606
|
|
|
603
|
-
|
|
607
|
+
WR_ACCESS: { mode: Integer, encoding: Encoding }
|
|
608
|
+
end
|
data/stdlib/psych/0/psych.rbs
CHANGED
|
@@ -214,29 +214,30 @@ module Psych
|
|
|
214
214
|
#
|
|
215
215
|
# Currently supported options are:
|
|
216
216
|
#
|
|
217
|
-
#
|
|
217
|
+
# <code>:indentation</code>
|
|
218
218
|
# : Number of space characters used to indent. Acceptable value should be in
|
|
219
|
-
#
|
|
219
|
+
# <code>0..9</code> range, otherwise option is ignored.
|
|
220
220
|
#
|
|
221
221
|
# Default: `2`.
|
|
222
222
|
#
|
|
223
|
-
#
|
|
224
|
-
# : Max character to wrap line at. For unlimited line width use
|
|
223
|
+
# <code>:line_width</code>
|
|
224
|
+
# : Max character to wrap line at. For unlimited line width use
|
|
225
|
+
# <code>-1</code>.
|
|
225
226
|
#
|
|
226
227
|
# Default: `0` (meaning "wrap at 81").
|
|
227
228
|
#
|
|
228
|
-
#
|
|
229
|
+
# <code>:canonical</code>
|
|
229
230
|
# : Write "canonical" YAML form (very verbose, yet strictly formal).
|
|
230
231
|
#
|
|
231
232
|
# Default: `false`.
|
|
232
233
|
#
|
|
233
|
-
#
|
|
234
|
-
# : Write
|
|
234
|
+
# <code>:header</code>
|
|
235
|
+
# : Write <code>%YAML [version]</code> at the beginning of document.
|
|
235
236
|
#
|
|
236
237
|
# Default: `false`.
|
|
237
238
|
#
|
|
238
239
|
#
|
|
239
|
-
#
|
|
240
|
+
# <code>:stringify_names</code>
|
|
240
241
|
# : Dump symbol keys in Hash objects as string.
|
|
241
242
|
#
|
|
242
243
|
# Default: `false`.
|
|
@@ -265,7 +266,7 @@ module Psych
|
|
|
265
266
|
|
|
266
267
|
# <!--
|
|
267
268
|
# rdoc-file=ext/psych/lib/psych.rb
|
|
268
|
-
# - load(yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false)
|
|
269
|
+
# - load(yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
|
|
269
270
|
# -->
|
|
270
271
|
# Load `yaml` in to a Ruby data structure. If multiple documents are provided,
|
|
271
272
|
# the object contained in the first document will be returned. `filename` will
|
|
@@ -308,11 +309,11 @@ module Psych
|
|
|
308
309
|
# `fallback` return value, which defaults to `nil`. See load for options.
|
|
309
310
|
#
|
|
310
311
|
%a{annotate:rdoc:copy:Psych.load_file}
|
|
311
|
-
def self.load_file: (
|
|
312
|
+
def self.load_file: (path, ?fallback: untyped, ?symbolize_names: bool, ?freeze: bool) -> untyped
|
|
312
313
|
|
|
313
314
|
# <!--
|
|
314
315
|
# rdoc-file=ext/psych/lib/psych.rb
|
|
315
|
-
# - safe_load(yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false)
|
|
316
|
+
# - safe_load(yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
|
|
316
317
|
# -->
|
|
317
318
|
# Safely load the yaml string in `yaml`. By default, only the following classes
|
|
318
319
|
# are allowed to be deserialized:
|
|
@@ -363,7 +364,7 @@ module Psych
|
|
|
363
364
|
|
|
364
365
|
# <!--
|
|
365
366
|
# rdoc-file=ext/psych/lib/psych.rb
|
|
366
|
-
# - unsafe_load(yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false, strict_integer: false)
|
|
367
|
+
# - unsafe_load(yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
|
|
367
368
|
# -->
|
|
368
369
|
# Load `yaml` in to a Ruby data structure. If multiple documents are provided,
|
|
369
370
|
# the object contained in the first document will be returned. `filename` will
|
|
@@ -399,4 +400,56 @@ module Psych
|
|
|
399
400
|
#
|
|
400
401
|
%a{annotate:rdoc:copy:Psych.unsafe_load}
|
|
401
402
|
def self.unsafe_load: (String yaml, ?filename: String | _ToStr | _ToS?, ?fallback: untyped, ?symbolize_names: bool, ?freeze: bool, ?strict_integer: bool) -> untyped
|
|
403
|
+
|
|
404
|
+
# <!--
|
|
405
|
+
# rdoc-file=ext/psych/lib/psych.rb
|
|
406
|
+
# - safe_load_file(filename, **kwargs)
|
|
407
|
+
# -->
|
|
408
|
+
# Safely loads the document contained in `filename`. Returns the yaml contained
|
|
409
|
+
# in `filename` as a Ruby object, or if the file is empty, it returns the
|
|
410
|
+
# specified `fallback` return value, which defaults to `nil`. See safe_load for
|
|
411
|
+
# options.
|
|
412
|
+
#
|
|
413
|
+
%a{annotate:rdoc:copy:Psych.safe_load_file}
|
|
414
|
+
def self.safe_load_file: (path, ?permitted_classes: Array[Class], ?permitted_symbols: Array[Symbol], ?aliases: bool, ?fallback: untyped, ?symbolize_names: bool, ?freeze: bool) -> untyped
|
|
415
|
+
|
|
416
|
+
# <!--
|
|
417
|
+
# rdoc-file=ext/psych/lib/psych.rb
|
|
418
|
+
# - unsafe_load_file(filename, **kwargs)
|
|
419
|
+
# -->
|
|
420
|
+
# Load the document contained in `filename`. Returns the yaml contained in
|
|
421
|
+
# `filename` as a Ruby object, or if the file is empty, it returns the specified
|
|
422
|
+
# `fallback` return value, which defaults to `false`.
|
|
423
|
+
#
|
|
424
|
+
# NOTE: This method *should not* be used to parse untrusted documents, such as
|
|
425
|
+
# YAML documents that are supplied via user input. Instead, please use the
|
|
426
|
+
# safe_load_file method.
|
|
427
|
+
#
|
|
428
|
+
%a{annotate:rdoc:copy:Psych.unsafe_load_file}
|
|
429
|
+
def self.unsafe_load_file: (path, ?fallback: untyped, ?symbolize_names: bool, ?freeze: bool) -> untyped
|
|
430
|
+
|
|
431
|
+
class Exception < ::RuntimeError
|
|
432
|
+
end
|
|
433
|
+
|
|
434
|
+
class SyntaxError < ::Psych::Exception
|
|
435
|
+
attr_reader file: String?
|
|
436
|
+
attr_reader line: Integer?
|
|
437
|
+
attr_reader column: Integer?
|
|
438
|
+
attr_reader offset: Integer?
|
|
439
|
+
attr_reader problem: String?
|
|
440
|
+
attr_reader context: String?
|
|
441
|
+
|
|
442
|
+
# <!--
|
|
443
|
+
# rdoc-file=ext/psych/lib/psych/syntax_error.rb
|
|
444
|
+
# - new(file, line, col, offset, problem, context)
|
|
445
|
+
# -->
|
|
446
|
+
#
|
|
447
|
+
def initialize: (?String? file, ?Integer? line, ?Integer? column, ?Integer? offset, ?String? problem, ?String? context) -> void
|
|
448
|
+
end
|
|
449
|
+
|
|
450
|
+
class BadAlias < ::Psych::Exception
|
|
451
|
+
end
|
|
452
|
+
|
|
453
|
+
class DisallowedClass < ::Psych::Exception
|
|
454
|
+
end
|
|
402
455
|
end
|
data/stdlib/psych/0/store.rbs
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
# greeting:
|
|
31
31
|
# hello: world
|
|
32
32
|
#
|
|
33
|
-
class Psych::Store < ::PStore
|
|
33
|
+
class Psych::Store < ::PStore[string, untyped]
|
|
34
34
|
# <!--
|
|
35
35
|
# rdoc-file=lib/yaml/store.rb
|
|
36
36
|
# - initialize( file_name, yaml_opts = {} )
|
|
@@ -45,8 +45,6 @@ class Psych::Store < ::PStore
|
|
|
45
45
|
# Options passed in through `yaml_opts` will be used when converting the store
|
|
46
46
|
# to YAML via Hash#to_yaml().
|
|
47
47
|
#
|
|
48
|
-
def initialize: (*untyped o) -> void
|
|
49
|
-
|
|
50
48
|
def dump: (untyped table) -> String
|
|
51
49
|
|
|
52
50
|
def empty_marshal_checksum: () -> String
|
|
@@ -55,5 +53,5 @@ class Psych::Store < ::PStore
|
|
|
55
53
|
|
|
56
54
|
def load: (String) -> untyped
|
|
57
55
|
|
|
58
|
-
def marshal_dump_supports_canonical_option?: () ->
|
|
56
|
+
def marshal_dump_supports_canonical_option?: () -> bool
|
|
59
57
|
end
|
data/stdlib/pty/0/pty.rbs
CHANGED
|
@@ -103,7 +103,8 @@ module PTY
|
|
|
103
103
|
#
|
|
104
104
|
# ### Return values
|
|
105
105
|
#
|
|
106
|
-
# In the non-block form this returns an array of size three,
|
|
106
|
+
# In the non-block form this returns an array of size three, <code>[r, w,
|
|
107
|
+
# pid]</code>.
|
|
107
108
|
#
|
|
108
109
|
# In the block form these same values will be yielded to the block:
|
|
109
110
|
#
|
|
@@ -136,8 +137,8 @@ module PTY
|
|
|
136
137
|
# -->
|
|
137
138
|
# Allocates a pty (pseudo-terminal).
|
|
138
139
|
#
|
|
139
|
-
# In the block form, yields an array of two elements (
|
|
140
|
-
# and the value of the block is returned from `open`.
|
|
140
|
+
# In the block form, yields an array of two elements (<code>master_io,
|
|
141
|
+
# slave_file</code>) and the value of the block is returned from `open`.
|
|
141
142
|
#
|
|
142
143
|
# The IO and File are both closed after the block completes if they haven't been
|
|
143
144
|
# already closed.
|
|
@@ -148,7 +149,8 @@ module PTY
|
|
|
148
149
|
# p slave.path #=> "/dev/pts/1"
|
|
149
150
|
# }
|
|
150
151
|
#
|
|
151
|
-
# In the non-block form, returns a two element array,
|
|
152
|
+
# In the non-block form, returns a two element array, <code>[master_io,
|
|
153
|
+
# slave_file]</code>.
|
|
152
154
|
#
|
|
153
155
|
# master, slave = PTY.open
|
|
154
156
|
# # do something with master for IO, or the slave file
|
|
@@ -160,7 +162,7 @@ module PTY
|
|
|
160
162
|
#
|
|
161
163
|
# `slave_file`
|
|
162
164
|
# : the slave of the pty, as a File. The path to the terminal device is
|
|
163
|
-
# available via
|
|
165
|
+
# available via <code>slave_file.path</code>
|
|
164
166
|
#
|
|
165
167
|
#
|
|
166
168
|
# IO#raw! is usable to disable newline conversions:
|
|
@@ -208,7 +210,8 @@ module PTY
|
|
|
208
210
|
#
|
|
209
211
|
# ### Return values
|
|
210
212
|
#
|
|
211
|
-
# In the non-block form this returns an array of size three,
|
|
213
|
+
# In the non-block form this returns an array of size three, <code>[r, w,
|
|
214
|
+
# pid]</code>.
|
|
212
215
|
#
|
|
213
216
|
# In the block form these same values will be yielded to the block:
|
|
214
217
|
#
|