rbs 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +5 -0
- data/CHANGELOG.md +23 -0
- data/README.md +6 -1
- data/core/array.rbs +2866 -1086
- data/core/basic_object.rbs +150 -30
- data/core/binding.rbs +33 -0
- data/core/builtin.rbs +4 -4
- data/core/class.rbs +43 -5
- data/core/comparable.rbs +57 -0
- data/core/complex.rbs +170 -4
- data/core/constants.rbs +51 -0
- data/core/deprecated.rbs +7 -0
- data/core/dir.rbs +305 -20
- data/core/encoding.rbs +472 -77
- data/core/enumerable.rbs +2173 -234
- data/core/enumerator.rbs +448 -182
- data/core/env.rbs +448 -1
- data/core/errno.rbs +1 -10
- data/core/errors.rbs +152 -2
- data/core/exception.rbs +201 -127
- data/core/false_class.rbs +27 -0
- data/core/fiber.rbs +118 -37
- data/core/fiber_error.rbs +8 -9
- data/core/file.rbs +1059 -139
- data/core/file_test.rbs +287 -32
- data/core/float.rbs +776 -300
- data/core/gc.rbs +185 -34
- data/core/global_variables.rbs +5 -1
- data/core/hash.rbs +1582 -649
- data/core/integer.rbs +974 -204
- data/core/io/buffer.rbs +710 -0
- data/core/io/wait.rbs +29 -8
- data/core/io.rbs +2438 -417
- data/core/kernel.rbs +2315 -316
- data/core/marshal.rbs +37 -2
- data/core/match_data.rbs +123 -6
- data/core/math.rbs +126 -6
- data/core/method.rbs +226 -102
- data/core/module.rbs +421 -45
- data/core/nil_class.rbs +64 -0
- data/core/numeric.rbs +620 -142
- data/core/object.rbs +453 -81
- data/core/object_space.rbs +92 -2
- data/core/proc.rbs +482 -285
- data/core/process.rbs +443 -34
- data/core/ractor.rbs +232 -9
- data/core/random.rbs +151 -52
- data/core/range.rbs +885 -160
- data/core/rational.rbs +122 -6
- data/core/rb_config.rbs +14 -4
- data/core/refinement.rbs +44 -0
- data/core/regexp.rbs +156 -14
- data/core/ruby_vm.rbs +42 -3
- data/core/signal.rbs +78 -39
- data/core/string.rbs +2123 -567
- data/core/string_io.rbs +204 -0
- data/core/struct.rbs +283 -28
- data/core/symbol.rbs +304 -30
- data/core/thread.rbs +1288 -688
- data/core/thread_group.rbs +66 -10
- data/core/time.rbs +643 -217
- data/core/trace_point.rbs +100 -12
- data/core/true_class.rbs +24 -0
- data/core/unbound_method.rbs +73 -7
- data/core/warning.rbs +37 -12
- data/docs/CONTRIBUTING.md +40 -34
- data/docs/stdlib.md +3 -102
- data/lib/rbs/annotate/annotations.rb +197 -0
- data/lib/rbs/annotate/formatter.rb +80 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
- data/lib/rbs/annotate/rdoc_source.rb +120 -0
- data/lib/rbs/annotate.rb +6 -0
- data/lib/rbs/cli.rb +45 -1
- data/lib/rbs/definition_builder.rb +5 -1
- data/lib/rbs/location_aux.rb +12 -0
- data/lib/rbs/prototype/rb.rb +12 -0
- data/lib/rbs/version.rb +1 -1
- data/sig/annotate/annotations.rbs +102 -0
- data/sig/annotate/formatter.rbs +24 -0
- data/sig/annotate/rdoc_annotater.rbs +82 -0
- data/sig/annotate/rdoc_source.rbs +30 -0
- data/sig/cli.rbs +2 -0
- data/sig/collection/{collections.rbs → sources.rbs} +0 -0
- data/sig/location.rbs +6 -0
- data/sig/method_types.rbs +5 -1
- data/sig/polyfill.rbs +78 -0
- data/stdlib/abbrev/0/abbrev.rbs +6 -0
- data/stdlib/abbrev/0/array.rbs +26 -0
- data/stdlib/base64/0/base64.rbs +31 -0
- data/stdlib/benchmark/0/benchmark.rbs +74 -3
- data/stdlib/bigdecimal/0/big_decimal.rbs +614 -165
- data/stdlib/bigdecimal-math/0/big_math.rbs +41 -64
- data/stdlib/cgi/0/core.rbs +59 -0
- data/stdlib/coverage/0/coverage.rbs +164 -2
- data/stdlib/csv/0/csv.rbs +2862 -398
- data/stdlib/date/0/date.rbs +483 -25
- data/stdlib/date/0/date_time.rbs +187 -12
- data/stdlib/dbm/0/dbm.rbs +152 -17
- data/stdlib/digest/0/digest.rbs +146 -0
- data/stdlib/erb/0/erb.rbs +65 -245
- data/stdlib/fiber/0/fiber.rbs +73 -91
- data/stdlib/fileutils/0/fileutils.rbs +301 -1
- data/stdlib/find/0/find.rbs +9 -0
- data/stdlib/forwardable/0/forwardable.rbs +65 -1
- data/stdlib/io-console/0/io-console.rbs +227 -15
- data/stdlib/ipaddr/0/ipaddr.rbs +161 -0
- data/stdlib/json/0/json.rbs +1146 -144
- data/stdlib/logger/0/formatter.rbs +24 -0
- data/stdlib/logger/0/log_device.rbs +64 -0
- data/stdlib/logger/0/logger.rbs +165 -13
- data/stdlib/logger/0/period.rbs +10 -0
- data/stdlib/logger/0/severity.rbs +26 -0
- data/stdlib/monitor/0/monitor.rbs +163 -0
- data/stdlib/mutex_m/0/mutex_m.rbs +35 -6
- data/stdlib/net-http/0/net-http.rbs +1492 -683
- data/stdlib/nkf/0/nkf.rbs +372 -0
- data/stdlib/objspace/0/objspace.rbs +149 -90
- data/stdlib/openssl/0/openssl.rbs +8108 -71
- data/stdlib/optparse/0/optparse.rbs +487 -19
- data/stdlib/pathname/0/pathname.rbs +425 -124
- data/stdlib/prettyprint/0/prettyprint.rbs +120 -99
- data/stdlib/prime/0/integer-extension.rbs +20 -2
- data/stdlib/prime/0/prime.rbs +88 -21
- data/stdlib/pstore/0/pstore.rbs +102 -0
- data/stdlib/pty/0/pty.rbs +64 -14
- data/stdlib/resolv/0/resolv.rbs +420 -31
- data/stdlib/rubygems/0/basic_specification.rbs +4 -1
- data/stdlib/rubygems/0/config_file.rbs +33 -1
- data/stdlib/rubygems/0/dependency_installer.rbs +4 -3
- data/stdlib/rubygems/0/installer.rbs +13 -1
- data/stdlib/rubygems/0/path_support.rbs +4 -1
- data/stdlib/rubygems/0/platform.rbs +5 -1
- data/stdlib/rubygems/0/request_set.rbs +44 -2
- data/stdlib/rubygems/0/requirement.rbs +65 -2
- data/stdlib/rubygems/0/rubygems.rbs +407 -0
- data/stdlib/rubygems/0/source_list.rbs +13 -0
- data/stdlib/rubygems/0/specification.rbs +21 -1
- data/stdlib/rubygems/0/stream_ui.rbs +3 -1
- data/stdlib/rubygems/0/uninstaller.rbs +8 -1
- data/stdlib/rubygems/0/version.rbs +60 -157
- data/stdlib/securerandom/0/securerandom.rbs +44 -0
- data/stdlib/set/0/set.rbs +420 -106
- data/stdlib/shellwords/0/shellwords.rbs +55 -77
- data/stdlib/singleton/0/singleton.rbs +20 -0
- data/stdlib/socket/0/addrinfo.rbs +210 -9
- data/stdlib/socket/0/basic_socket.rbs +103 -11
- data/stdlib/socket/0/ip_socket.rbs +31 -9
- data/stdlib/socket/0/socket.rbs +586 -38
- data/stdlib/socket/0/tcp_server.rbs +22 -2
- data/stdlib/socket/0/tcp_socket.rbs +12 -1
- data/stdlib/socket/0/udp_socket.rbs +25 -2
- data/stdlib/socket/0/unix_server.rbs +22 -2
- data/stdlib/socket/0/unix_socket.rbs +45 -5
- data/stdlib/strscan/0/string_scanner.rbs +210 -9
- data/stdlib/tempfile/0/tempfile.rbs +58 -10
- data/stdlib/time/0/time.rbs +208 -116
- data/stdlib/timeout/0/timeout.rbs +10 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +13 -4
- data/stdlib/tsort/0/cyclic.rbs +1 -0
- data/stdlib/tsort/0/interfaces.rbs +1 -0
- data/stdlib/tsort/0/tsort.rbs +42 -0
- data/stdlib/uri/0/common.rbs +57 -8
- data/stdlib/uri/0/file.rbs +55 -109
- data/stdlib/uri/0/ftp.rbs +6 -3
- data/stdlib/uri/0/generic.rbs +556 -327
- data/stdlib/uri/0/http.rbs +26 -115
- data/stdlib/uri/0/https.rbs +8 -102
- data/stdlib/uri/0/ldap.rbs +143 -137
- data/stdlib/uri/0/ldaps.rbs +8 -102
- data/stdlib/uri/0/mailto.rbs +3 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +66 -26
- data/stdlib/uri/0/ws.rbs +6 -3
- data/stdlib/uri/0/wss.rbs +5 -3
- data/stdlib/yaml/0/dbm.rbs +151 -87
- data/stdlib/yaml/0/store.rbs +6 -0
- data/stdlib/zlib/0/zlib.rbs +90 -31
- metadata +17 -5
- data/lib/rbs/location.rb +0 -221
@@ -0,0 +1,102 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class Annotations
|
4
|
+
type t = Skip | Source | Copy
|
5
|
+
|
6
|
+
def self.parse: (AST::Annotation) -> t?
|
7
|
+
|
8
|
+
attr_reader items: Array[t]
|
9
|
+
|
10
|
+
def initialize: (Array[t]) -> void
|
11
|
+
|
12
|
+
def skip?: () -> bool
|
13
|
+
|
14
|
+
def skip_all?: () -> bool
|
15
|
+
|
16
|
+
def test_path: (String path) -> bool
|
17
|
+
|
18
|
+
def test_path_string: (String pattern, String path) -> bool
|
19
|
+
|
20
|
+
def copy_annotation: -> Copy?
|
21
|
+
|
22
|
+
# Skip annotation allows skipping generating annotation of a subject.
|
23
|
+
#
|
24
|
+
# %a{annotate:rdoc:skip}
|
25
|
+
# %a{annotate:rdoc:skip:all}
|
26
|
+
#
|
27
|
+
class Skip
|
28
|
+
attr_reader annotation: AST::Annotation
|
29
|
+
|
30
|
+
attr_reader skip_children: bool
|
31
|
+
|
32
|
+
def initialize: (annotation: AST::Annotation, skip_children: bool) -> void
|
33
|
+
|
34
|
+
def hash: () -> Integer
|
35
|
+
|
36
|
+
def ==: (untyped) -> bool
|
37
|
+
|
38
|
+
alias eql? ==
|
39
|
+
end
|
40
|
+
|
41
|
+
# Source annotation allows where the documents are copied from.
|
42
|
+
#
|
43
|
+
# It allows specifying two directions: the source to read from, and the source to skip.
|
44
|
+
#
|
45
|
+
# %a{annotate:rdoc:source:from=ext/pathname}
|
46
|
+
# %a{annotate:rdoc:source:skip=ext/pathname/doc}
|
47
|
+
#
|
48
|
+
# When you want to specify several paths, repeat writing the Source annotation.
|
49
|
+
#
|
50
|
+
class Source
|
51
|
+
attr_reader annotation: AST::Annotation
|
52
|
+
|
53
|
+
attr_reader include_source: String?
|
54
|
+
attr_reader skip_source: String?
|
55
|
+
|
56
|
+
def initialize: (annotation: AST::Annotation, include: String) -> void
|
57
|
+
| (annotation: AST::Annotation, skip: String) -> void
|
58
|
+
|
59
|
+
def hash: () -> Integer
|
60
|
+
|
61
|
+
def ==: (untyped) -> bool
|
62
|
+
|
63
|
+
alias eql? ==
|
64
|
+
end
|
65
|
+
|
66
|
+
# Copy annotation allows copying the doc from another subject.
|
67
|
+
# This helps working with incorrect RDoc annotations.
|
68
|
+
#
|
69
|
+
# %a{annotate:rdoc:copy:Bar#baz}
|
70
|
+
# %a{annotate:rdoc:copy:Bar.baz}
|
71
|
+
# %a{annotate:rdoc:copy:Bar::Baz}
|
72
|
+
#
|
73
|
+
class Copy
|
74
|
+
attr_reader annotation: AST::Annotation
|
75
|
+
|
76
|
+
attr_reader source: String
|
77
|
+
|
78
|
+
def initialize: (annotation: AST::Annotation, source: String) -> void
|
79
|
+
|
80
|
+
# Returns a tuple of:
|
81
|
+
#
|
82
|
+
# - Type name
|
83
|
+
# - A pair of:
|
84
|
+
# - Boolean which holds if it is singleton
|
85
|
+
# - Name of method
|
86
|
+
def partition: () -> [TypeName, [bool, Symbol]?]
|
87
|
+
|
88
|
+
def type_name: () -> TypeName
|
89
|
+
|
90
|
+
def method_name: () -> Symbol?
|
91
|
+
|
92
|
+
def singleton?: () -> bool
|
93
|
+
|
94
|
+
def hash: () -> Integer
|
95
|
+
|
96
|
+
def ==: (untyped) -> bool
|
97
|
+
|
98
|
+
alias eql? ==
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class Formatter
|
4
|
+
attr_reader buffer: String
|
5
|
+
|
6
|
+
@pending_separator: String?
|
7
|
+
|
8
|
+
def initialize: () -> void
|
9
|
+
|
10
|
+
def <<: (String | RDoc::Markup::Document | nil) -> self
|
11
|
+
|
12
|
+
def margin: (?separator: String) -> self
|
13
|
+
|
14
|
+
def empty?: () -> bool
|
15
|
+
|
16
|
+
def format: (newline_at_end: bool) -> String
|
17
|
+
|
18
|
+
def self.translate: (RDoc::Markup::Document) -> String?
|
19
|
+
|
20
|
+
def self.each_part: (RDoc::Markup::Document) { (RDoc::Markup::Document) -> void } -> void
|
21
|
+
| (RDoc::Markup::Document) -> Enumerator[RDoc::Markup::Document, void]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class RDocAnnotator
|
4
|
+
attr_reader source: RDocSource
|
5
|
+
|
6
|
+
attr_accessor include_arg_lists: bool
|
7
|
+
attr_accessor include_filename: bool
|
8
|
+
|
9
|
+
def initialize: (source: RDocSource) -> void
|
10
|
+
|
11
|
+
def annotate_file: (Pathname) -> void
|
12
|
+
|
13
|
+
def annotate_decls: (Array[AST::Declarations::t], ?outer: Array[Namespace]) -> void
|
14
|
+
|
15
|
+
interface _PathTester
|
16
|
+
def test_path: (String) -> bool
|
17
|
+
end
|
18
|
+
|
19
|
+
interface _WithRDocComment
|
20
|
+
def comment: () -> RDoc::Markup::Document
|
21
|
+
end
|
22
|
+
|
23
|
+
def each_part: (Array[Object & _WithRDocComment], tester: _PathTester) { ([RDoc::Markup::Document, Object & _WithRDocComment]) -> void } -> void
|
24
|
+
| (Array[Object & _WithRDocComment], tester: _PathTester) -> Enumerator[[RDoc::Markup::Document, Object & _WithRDocComment], void]
|
25
|
+
|
26
|
+
def join_docs: (Array[String?], ?separator: String) -> String?
|
27
|
+
|
28
|
+
def doc_for_class: (TypeName, tester: _PathTester) -> String?
|
29
|
+
|
30
|
+
# Returns the formatted document of given method.
|
31
|
+
#
|
32
|
+
# Expands attribute documents, or alias documents if needed.
|
33
|
+
#
|
34
|
+
def doc_for_method: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
|
35
|
+
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
|
36
|
+
|
37
|
+
|
38
|
+
def doc_for_method0: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
|
39
|
+
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
|
40
|
+
|
41
|
+
# Having `require: nil` means any attribute is okay.
|
42
|
+
# Having `require: "R"` means _read attr_ is required.
|
43
|
+
# Having `require: "W"` means write attr_ is required.
|
44
|
+
#
|
45
|
+
def doc_for_attribute: (TypeName, Symbol, singleton: bool, ?require: nil | "R" | "W", tester: _PathTester) -> String?
|
46
|
+
|
47
|
+
def doc_for_alias: (TypeName, name: Symbol, singleton: bool, tester: _PathTester) -> String?
|
48
|
+
|
49
|
+
def doc_for_constant: (TypeName, tester: _PathTester) -> String?
|
50
|
+
|
51
|
+
def resolve_doc_source: (Annotations::Copy?, tester: _PathTester) { () -> String? } -> String?
|
52
|
+
|
53
|
+
def annotate_class: (AST::Declarations::Class | AST::Declarations::Module, outer: Array[Namespace]) -> void
|
54
|
+
|
55
|
+
def annotate_constant: (AST::Declarations::Constant, outer: Array[Namespace]) -> void
|
56
|
+
|
57
|
+
def annotate_method: (TypeName, AST::Members::MethodDefinition) -> void
|
58
|
+
|
59
|
+
def annotate_alias: (TypeName, AST::Members::Alias) -> void
|
60
|
+
|
61
|
+
def annotate_attribute: (TypeName, AST::Members::AttrReader | AST::Members::AttrWriter | AST::Members::AttrAccessor) -> void
|
62
|
+
|
63
|
+
def annotations: (_Annotated) -> Annotations
|
64
|
+
|
65
|
+
interface _Annotated
|
66
|
+
def annotations: -> Array[AST::Annotation]
|
67
|
+
end
|
68
|
+
|
69
|
+
# - If a string is given as `comment`, the content is attached to the object as a comment.
|
70
|
+
# - If empty string is given as `comment`, it deletes the original comment.
|
71
|
+
# - If `nil` is given as `comment`, it keeps the original comment.
|
72
|
+
#
|
73
|
+
def replace_comment: (Object & _Commented, String? comment) -> void
|
74
|
+
|
75
|
+
interface _Commented
|
76
|
+
def comment: () -> AST::Comment?
|
77
|
+
end
|
78
|
+
|
79
|
+
def resolve_name: (TypeName, outer: Array[Namespace]) -> TypeName
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class RDocSource
|
4
|
+
attr_accessor with_system_dir: bool
|
5
|
+
attr_accessor with_gems_dir: bool
|
6
|
+
attr_accessor with_site_dir: bool
|
7
|
+
attr_accessor with_home_dir: bool
|
8
|
+
|
9
|
+
attr_reader extra_dirs: Array[Pathname]
|
10
|
+
|
11
|
+
attr_reader stores: Array[RDoc::Store]
|
12
|
+
|
13
|
+
def initialize: () -> void
|
14
|
+
|
15
|
+
def load: () -> void
|
16
|
+
|
17
|
+
# Extract documents from `CodeObject`s
|
18
|
+
def docs: () { () -> Array[RDoc::CodeObject]? } -> Array[RDoc::Markup::Document]?
|
19
|
+
|
20
|
+
def find_class: (TypeName) -> Array[RDoc::ClassModule]?
|
21
|
+
|
22
|
+
def find_const: (TypeName) -> Array[RDoc::Constant]?
|
23
|
+
|
24
|
+
def find_method: (TypeName, instance_method: Symbol) -> Array[RDoc::AnyMethod]?
|
25
|
+
| (TypeName, singleton_method: Symbol) -> Array[RDoc::AnyMethod]?
|
26
|
+
|
27
|
+
def find_attribute: (TypeName, Symbol, singleton: bool) -> Array[RDoc::Attr]?
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/sig/cli.rbs
CHANGED
File without changes
|
data/sig/location.rbs
CHANGED
@@ -87,6 +87,12 @@ module RBS
|
|
87
87
|
def each_required_key: () { (Symbol) -> void } -> void
|
88
88
|
| () -> Enumerator[Symbol, void]
|
89
89
|
|
90
|
+
def optional_key?: (Symbol) -> bool
|
91
|
+
|
92
|
+
def required_key?: (Symbol) -> bool
|
93
|
+
|
94
|
+
def key?: (Symbol) -> bool
|
95
|
+
|
90
96
|
private
|
91
97
|
|
92
98
|
def _start_loc: () -> Buffer::loc?
|
data/sig/method_types.rbs
CHANGED
@@ -7,7 +7,11 @@ module RBS
|
|
7
7
|
# ^^^ type_params
|
8
8
|
# ^^^^^^^^^^^^^^^^^^^ type
|
9
9
|
#
|
10
|
-
type
|
10
|
+
type def_loc = Location[:type, :type_params]
|
11
|
+
|
12
|
+
type attr_loc = AST::Members::Attribute::loc
|
13
|
+
|
14
|
+
type loc = def_loc | attr_loc
|
11
15
|
|
12
16
|
attr_reader type_params: Array[AST::TypeParam]
|
13
17
|
attr_reader type: Types::Function
|
data/sig/polyfill.rbs
CHANGED
@@ -25,3 +25,81 @@ module Bundler
|
|
25
25
|
def version: () -> String
|
26
26
|
end
|
27
27
|
end
|
28
|
+
|
29
|
+
module RDoc
|
30
|
+
class Store
|
31
|
+
def initialize: (?String? path, ?Symbol? type) -> void
|
32
|
+
|
33
|
+
def find_class_or_module: (String) -> ClassModule?
|
34
|
+
|
35
|
+
def load_all: () -> void
|
36
|
+
end
|
37
|
+
|
38
|
+
module RI
|
39
|
+
module Paths
|
40
|
+
type path_type = :system | :site | :home | :gem | :extra
|
41
|
+
|
42
|
+
type gem_filter = :latest | :all
|
43
|
+
|
44
|
+
def self.each: (?bool system, ?bool site, ?bool home, ?gem_filter | false gems, *String extra_dirs) { (String, path_type) -> void } -> void
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
class CodeObject
|
49
|
+
def comment: () -> RDoc::Markup::Document
|
50
|
+
end
|
51
|
+
|
52
|
+
class Context < CodeObject
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
class ClassModule < Context
|
57
|
+
def constants: () -> Array[Constant]
|
58
|
+
|
59
|
+
def method_list: () -> Array[AnyMethod]
|
60
|
+
|
61
|
+
def attributes: () -> Array[Attr]
|
62
|
+
end
|
63
|
+
|
64
|
+
class Constant < CodeObject
|
65
|
+
def name: () -> String
|
66
|
+
end
|
67
|
+
|
68
|
+
class AnyMethod < MethodAttr
|
69
|
+
def arglists: () -> String?
|
70
|
+
|
71
|
+
def callseq: () -> String?
|
72
|
+
end
|
73
|
+
|
74
|
+
class MethodAttr < CodeObject
|
75
|
+
attr_reader name: String
|
76
|
+
|
77
|
+
attr_reader singleton: bool
|
78
|
+
|
79
|
+
attr_reader is_alias_for: MethodAttr?
|
80
|
+
|
81
|
+
attr_reader call_seq: String
|
82
|
+
|
83
|
+
attr_reader arglists: String
|
84
|
+
end
|
85
|
+
|
86
|
+
class Attr < MethodAttr
|
87
|
+
attr_accessor rw: "RW" | "R" | "W"
|
88
|
+
end
|
89
|
+
|
90
|
+
module Markup
|
91
|
+
class Document
|
92
|
+
include Enumerable[Document]
|
93
|
+
|
94
|
+
def each: () { (Document) -> void } -> void
|
95
|
+
| () -> Enumerator[Document, void]
|
96
|
+
|
97
|
+
def file: () -> String?
|
98
|
+
|
99
|
+
def accept: (untyped) -> String
|
100
|
+
end
|
101
|
+
|
102
|
+
class ToMarkdown
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
data/stdlib/abbrev/0/abbrev.rbs
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# <!-- rdoc-file=lib/abbrev.rb -->
|
1
2
|
# Calculates the set of unambiguous abbreviations for a given set of strings.
|
2
3
|
#
|
3
4
|
# require 'abbrev'
|
@@ -34,6 +35,10 @@
|
|
34
35
|
# "w" => "winter" }
|
35
36
|
#
|
36
37
|
module Abbrev
|
38
|
+
# <!--
|
39
|
+
# rdoc-file=lib/abbrev.rb
|
40
|
+
# - abbrev(words, pattern = nil)
|
41
|
+
# -->
|
37
42
|
# Given a set of strings, calculate the set of unambiguous abbreviations for
|
38
43
|
# those strings, and return a hash where the keys are all the possible
|
39
44
|
# abbreviations and the values are the full strings.
|
@@ -56,5 +61,6 @@ module Abbrev
|
|
56
61
|
#
|
57
62
|
# Abbrev.abbrev(%w{car box cone}, 'ca')
|
58
63
|
# #=> {"car"=>"car", "ca"=>"car"}
|
64
|
+
#
|
59
65
|
def self?.abbrev: (Array[String], ?String | Regexp | nil) -> Hash[String, String]
|
60
66
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
%a{annotate:rdoc:skip}
|
2
|
+
class Array[unchecked out Elem]
|
3
|
+
# <!--
|
4
|
+
# rdoc-file=lib/abbrev.rb
|
5
|
+
# - abbrev(pattern = nil)
|
6
|
+
# -->
|
7
|
+
# Calculates the set of unambiguous abbreviations for the strings in `self`.
|
8
|
+
#
|
9
|
+
# require 'abbrev'
|
10
|
+
# %w{ car cone }.abbrev
|
11
|
+
# #=> {"car"=>"car", "ca"=>"car", "cone"=>"cone", "con"=>"cone", "co"=>"cone"}
|
12
|
+
#
|
13
|
+
# The optional `pattern` parameter is a pattern or a string. Only input strings
|
14
|
+
# that match the pattern or start with the string are included in the output
|
15
|
+
# hash.
|
16
|
+
#
|
17
|
+
# %w{ fast boat day }.abbrev(/^.a/)
|
18
|
+
# #=> {"fast"=>"fast", "fas"=>"fast", "fa"=>"fast", "day"=>"day", "da"=>"day"}
|
19
|
+
#
|
20
|
+
# Abbrev.abbrev(%w{car box cone}, "ca")
|
21
|
+
# #=> {"car"=>"car", "ca"=>"car"}
|
22
|
+
#
|
23
|
+
# See also Abbrev.abbrev
|
24
|
+
#
|
25
|
+
def abbrev: (?String | Regexp | nil) -> Hash[String, String]
|
26
|
+
end
|
data/stdlib/base64/0/base64.rbs
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# <!-- rdoc-file=lib/base64.rb -->
|
1
2
|
# The Base64 module provides for the encoding (#encode64, #strict_encode64,
|
2
3
|
# #urlsafe_encode64) and decoding (#decode64, #strict_decode64,
|
3
4
|
# #urlsafe_decode64) of binary data using a Base64 representation.
|
@@ -17,6 +18,10 @@
|
|
17
18
|
# data into purely printable characters.
|
18
19
|
#
|
19
20
|
module Base64
|
21
|
+
# <!--
|
22
|
+
# rdoc-file=lib/base64.rb
|
23
|
+
# - decode64(str)
|
24
|
+
# -->
|
20
25
|
# Returns the Base64-decoded version of `str`. This method complies with RFC
|
21
26
|
# 2045. Characters outside the base alphabet are ignored.
|
22
27
|
#
|
@@ -32,8 +37,13 @@ module Base64
|
|
32
37
|
# This is line two
|
33
38
|
# This is line three
|
34
39
|
# And so on...
|
40
|
+
#
|
35
41
|
def self?.decode64: (String str) -> String
|
36
42
|
|
43
|
+
# <!--
|
44
|
+
# rdoc-file=lib/base64.rb
|
45
|
+
# - encode64(bin)
|
46
|
+
# -->
|
37
47
|
# Returns the Base64-encoded version of `bin`. This method complies with RFC
|
38
48
|
# 2045. Line feeds are added to every 60 encoded characters.
|
39
49
|
#
|
@@ -44,28 +54,49 @@ module Base64
|
|
44
54
|
#
|
45
55
|
# Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
|
46
56
|
# UnVieQ==
|
57
|
+
#
|
47
58
|
def self?.encode64: (String bin) -> String
|
48
59
|
|
60
|
+
# <!--
|
61
|
+
# rdoc-file=lib/base64.rb
|
62
|
+
# - strict_decode64(str)
|
63
|
+
# -->
|
49
64
|
# Returns the Base64-decoded version of `str`. This method complies with RFC
|
50
65
|
# 4648. ArgumentError is raised if `str` is incorrectly padded or contains
|
51
66
|
# non-alphabet characters. Note that CR or LF are also rejected.
|
67
|
+
#
|
52
68
|
def self?.strict_decode64: (String str) -> String
|
53
69
|
|
70
|
+
# <!--
|
71
|
+
# rdoc-file=lib/base64.rb
|
72
|
+
# - strict_encode64(bin)
|
73
|
+
# -->
|
54
74
|
# Returns the Base64-encoded version of `bin`. This method complies with RFC
|
55
75
|
# 4648. No line feeds are added.
|
76
|
+
#
|
56
77
|
def self?.strict_encode64: (String bin) -> String
|
57
78
|
|
79
|
+
# <!--
|
80
|
+
# rdoc-file=lib/base64.rb
|
81
|
+
# - urlsafe_decode64(str)
|
82
|
+
# -->
|
58
83
|
# Returns the Base64-decoded version of `str`. This method complies with ``Base
|
59
84
|
# 64 Encoding with URL and Filename Safe Alphabet'' in RFC 4648. The alphabet
|
60
85
|
# uses '-' instead of '+' and '_' instead of '/'.
|
61
86
|
#
|
62
87
|
# The padding character is optional. This method accepts both correctly-padded
|
63
88
|
# and unpadded input. Note that it still rejects incorrectly-padded input.
|
89
|
+
#
|
64
90
|
def self?.urlsafe_decode64: (String str) -> String
|
65
91
|
|
92
|
+
# <!--
|
93
|
+
# rdoc-file=lib/base64.rb
|
94
|
+
# - urlsafe_encode64(bin, padding: true)
|
95
|
+
# -->
|
66
96
|
# Returns the Base64-encoded version of `bin`. This method complies with ``Base
|
67
97
|
# 64 Encoding with URL and Filename Safe Alphabet'' in RFC 4648. The alphabet
|
68
98
|
# uses '-' instead of '+' and '_' instead of '/'. Note that the result can still
|
69
99
|
# contain '='. You can remove the padding by setting `padding` as false.
|
100
|
+
#
|
70
101
|
def self?.urlsafe_encode64: (String bin, ?padding: boolish) -> String
|
71
102
|
end
|