rbs 0.11.0 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +9 -9
  3. data/CHANGELOG.md +24 -0
  4. data/Rakefile +16 -6
  5. data/Steepfile +28 -0
  6. data/bin/steep +4 -0
  7. data/bin/test_runner.rb +7 -5
  8. data/lib/rbs/ast/comment.rb +7 -1
  9. data/lib/rbs/ast/declarations.rb +15 -9
  10. data/lib/rbs/buffer.rb +1 -1
  11. data/lib/rbs/cli.rb +12 -4
  12. data/lib/rbs/constant.rb +1 -1
  13. data/lib/rbs/constant_table.rb +9 -8
  14. data/lib/rbs/definition.rb +22 -13
  15. data/lib/rbs/definition_builder.rb +79 -55
  16. data/lib/rbs/environment.rb +28 -10
  17. data/lib/rbs/environment_loader.rb +12 -12
  18. data/lib/rbs/location.rb +1 -5
  19. data/lib/rbs/method_type.rb +5 -5
  20. data/lib/rbs/namespace.rb +14 -3
  21. data/lib/rbs/parser.y +0 -8
  22. data/lib/rbs/prototype/rb.rb +3 -4
  23. data/lib/rbs/prototype/rbi.rb +1 -2
  24. data/lib/rbs/substitution.rb +4 -3
  25. data/lib/rbs/type_name.rb +18 -1
  26. data/lib/rbs/type_name_resolver.rb +10 -3
  27. data/lib/rbs/types.rb +27 -21
  28. data/lib/rbs/variance_calculator.rb +9 -6
  29. data/lib/rbs/version.rb +1 -1
  30. data/lib/rbs/writer.rb +25 -15
  31. data/sig/annotation.rbs +26 -0
  32. data/sig/buffer.rbs +28 -0
  33. data/sig/builtin_names.rbs +41 -0
  34. data/sig/comment.rbs +26 -0
  35. data/sig/constant.rbs +21 -0
  36. data/sig/constant_table.rbs +30 -0
  37. data/sig/declarations.rbs +202 -0
  38. data/sig/definition.rbs +129 -0
  39. data/sig/definition_builder.rbs +94 -0
  40. data/sig/environment.rbs +94 -0
  41. data/sig/environment_loader.rbs +58 -0
  42. data/sig/location.rbs +52 -0
  43. data/sig/members.rbs +160 -0
  44. data/sig/method_types.rbs +40 -0
  45. data/sig/namespace.rbs +124 -0
  46. data/sig/polyfill.rbs +3 -0
  47. data/sig/rbs.rbs +3 -0
  48. data/sig/substitution.rbs +39 -0
  49. data/sig/type_name_resolver.rbs +24 -0
  50. data/sig/typename.rbs +70 -0
  51. data/sig/types.rbs +361 -0
  52. data/sig/util.rbs +13 -0
  53. data/sig/variance_calculator.rbs +35 -0
  54. data/sig/version.rbs +3 -0
  55. data/sig/writer.rbs +40 -0
  56. data/stdlib/bigdecimal/big_decimal.rbs +887 -0
  57. data/stdlib/bigdecimal/math/big_math.rbs +142 -0
  58. data/stdlib/builtin/builtin.rbs +0 -3
  59. data/stdlib/builtin/kernel.rbs +2 -0
  60. data/stdlib/builtin/math.rbs +26 -26
  61. data/stdlib/builtin/struct.rbs +9 -10
  62. data/stdlib/forwardable/forwardable.rbs +204 -0
  63. data/stdlib/pathname/pathname.rbs +2 -0
  64. data/stdlib/pty/pty.rbs +5 -29
  65. data/stdlib/set/set.rbs +1 -1
  66. data/stdlib/uri/file.rbs +167 -0
  67. data/stdlib/uri/generic.rbs +875 -0
  68. data/stdlib/uri/http.rbs +158 -0
  69. data/stdlib/uri/https.rbs +108 -0
  70. data/stdlib/uri/ldap.rbs +224 -0
  71. data/stdlib/uri/ldaps.rbs +108 -0
  72. data/steep/Gemfile +3 -0
  73. data/steep/Gemfile.lock +51 -0
  74. metadata +43 -5
@@ -0,0 +1,108 @@
1
+ # URI is a module providing classes to handle Uniform Resource Identifiers
2
+ # ([RFC2396](http://tools.ietf.org/html/rfc2396)).
3
+ #
4
+ # ## Features
5
+ #
6
+ # * Uniform way of handling URIs.
7
+ # * Flexibility to introduce custom URI schemes.
8
+ # * Flexibility to have an alternate URI::Parser (or just different patterns
9
+ # and regexp's).
10
+ #
11
+ #
12
+ # ## Basic example
13
+ #
14
+ # require 'uri'
15
+ #
16
+ # uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413")
17
+ # #=> #<URI::HTTP http://foo.com/posts?id=30&limit=5#time=1305298413>
18
+ #
19
+ # uri.scheme #=> "http"
20
+ # uri.host #=> "foo.com"
21
+ # uri.path #=> "/posts"
22
+ # uri.query #=> "id=30&limit=5"
23
+ # uri.fragment #=> "time=1305298413"
24
+ #
25
+ # uri.to_s #=> "http://foo.com/posts?id=30&limit=5#time=1305298413"
26
+ #
27
+ # ## Adding custom URIs
28
+ #
29
+ # module URI
30
+ # class RSYNC < Generic
31
+ # DEFAULT_PORT = 873
32
+ # end
33
+ # @@schemes['RSYNC'] = RSYNC
34
+ # end
35
+ # #=> URI::RSYNC
36
+ #
37
+ # URI.scheme_list
38
+ # #=> {"FILE"=>URI::File, "FTP"=>URI::FTP, "HTTP"=>URI::HTTP,
39
+ # # "HTTPS"=>URI::HTTPS, "LDAP"=>URI::LDAP, "LDAPS"=>URI::LDAPS,
40
+ # # "MAILTO"=>URI::MailTo, "RSYNC"=>URI::RSYNC}
41
+ #
42
+ # uri = URI("rsync://rsync.foo.com")
43
+ # #=> #<URI::RSYNC rsync://rsync.foo.com>
44
+ #
45
+ # ## RFC References
46
+ #
47
+ # A good place to view an RFC spec is http://www.ietf.org/rfc.html.
48
+ #
49
+ # Here is a list of all related RFC's:
50
+ # * [RFC822](http://tools.ietf.org/html/rfc822)
51
+ # * [RFC1738](http://tools.ietf.org/html/rfc1738)
52
+ # * [RFC2255](http://tools.ietf.org/html/rfc2255)
53
+ # * [RFC2368](http://tools.ietf.org/html/rfc2368)
54
+ # * [RFC2373](http://tools.ietf.org/html/rfc2373)
55
+ # * [RFC2396](http://tools.ietf.org/html/rfc2396)
56
+ # * [RFC2732](http://tools.ietf.org/html/rfc2732)
57
+ # * [RFC3986](http://tools.ietf.org/html/rfc3986)
58
+ #
59
+ #
60
+ # ## Class tree
61
+ #
62
+ # * URI::Generic (in uri/generic.rb)
63
+ # * URI::File - (in uri/file.rb)
64
+ # * URI::FTP - (in uri/ftp.rb)
65
+ # * URI::HTTP - (in uri/http.rb)
66
+ # * URI::HTTPS - (in uri/https.rb)
67
+ #
68
+ # * URI::LDAP - (in uri/ldap.rb)
69
+ # * URI::LDAPS - (in uri/ldaps.rb)
70
+ #
71
+ # * URI::MailTo - (in uri/mailto.rb)
72
+ #
73
+ # * URI::Parser - (in uri/common.rb)
74
+ # * URI::REGEXP - (in uri/common.rb)
75
+ # * URI::REGEXP::PATTERN - (in uri/common.rb)
76
+ #
77
+ # * URI::Util - (in uri/common.rb)
78
+ # * URI::Escape - (in uri/common.rb)
79
+ # * URI::Error - (in uri/common.rb)
80
+ # * URI::InvalidURIError - (in uri/common.rb)
81
+ # * URI::InvalidComponentError - (in uri/common.rb)
82
+ # * URI::BadURIError - (in uri/common.rb)
83
+ #
84
+ #
85
+ #
86
+ # ## Copyright Info
87
+ #
88
+ # Author
89
+ # : Akira Yamada <akira@ruby-lang.org>
90
+ # Documentation
91
+ # : Akira Yamada <akira@ruby-lang.org> Dmitry V. Sabanin <sdmitry@lrn.ru>
92
+ # Vincent Batts <vbatts@hashbangbash.com>
93
+ # License
94
+ # : Copyright (c) 2001 akira yamada <akira@ruby-lang.org> You can redistribute
95
+ # it and/or modify it under the same term as Ruby.
96
+ # Revision
97
+ # : $Id$
98
+ #
99
+ #
100
+ module URI
101
+ # The default port for LDAPS URIs is 636, and the scheme is 'ldaps:' rather
102
+ # than 'ldap:'. Other than that, LDAPS URIs are identical to LDAP URIs;
103
+ # see URI::LDAP.
104
+ class LDAPS < LDAP
105
+ # A Default port of 636 for URI::LDAPS
106
+ DEFAULT_PORT: Integer
107
+ end
108
+ end
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "steep"
@@ -0,0 +1,51 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ activesupport (6.0.3.3)
5
+ concurrent-ruby (~> 1.0, >= 1.0.2)
6
+ i18n (>= 0.7, < 2)
7
+ minitest (~> 5.1)
8
+ tzinfo (~> 1.1)
9
+ zeitwerk (~> 2.2, >= 2.2.2)
10
+ ast (2.4.1)
11
+ ast_utils (0.3.0)
12
+ parser (~> 2.4)
13
+ thor (>= 0.19)
14
+ concurrent-ruby (1.1.7)
15
+ ffi (1.13.1)
16
+ i18n (1.8.5)
17
+ concurrent-ruby (~> 1.0)
18
+ language_server-protocol (3.14.0.2)
19
+ listen (3.2.1)
20
+ rb-fsevent (~> 0.10, >= 0.10.3)
21
+ rb-inotify (~> 0.9, >= 0.9.10)
22
+ minitest (5.14.2)
23
+ parser (2.7.1.5)
24
+ ast (~> 2.4.1)
25
+ rainbow (3.0.0)
26
+ rb-fsevent (0.10.4)
27
+ rb-inotify (0.10.1)
28
+ ffi (~> 1.0)
29
+ rbs (0.12.2)
30
+ steep (0.28.0)
31
+ activesupport (>= 5.1)
32
+ ast_utils (~> 0.3.0)
33
+ language_server-protocol (~> 3.14.0.2)
34
+ listen (~> 3.1)
35
+ parser (~> 2.7.0)
36
+ rainbow (>= 2.2.2, < 4.0)
37
+ rbs (~> 0.12.0)
38
+ thor (1.0.1)
39
+ thread_safe (0.3.6)
40
+ tzinfo (1.2.7)
41
+ thread_safe (~> 0.1)
42
+ zeitwerk (2.4.0)
43
+
44
+ PLATFORMS
45
+ ruby
46
+
47
+ DEPENDENCIES
48
+ steep
49
+
50
+ BUNDLED WITH
51
+ 2.1.4
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-31 00:00:00.000000000 Z
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: RBS is the language for type signatures for Ruby and standard library
14
14
  definitions.
@@ -28,6 +28,7 @@ files:
28
28
  - Gemfile
29
29
  - README.md
30
30
  - Rakefile
31
+ - Steepfile
31
32
  - bin/annotate-with-rdoc
32
33
  - bin/console
33
34
  - bin/query-rdoc
@@ -35,6 +36,7 @@ files:
35
36
  - bin/run_in_md.rb
36
37
  - bin/setup
37
38
  - bin/sort
39
+ - bin/steep
38
40
  - bin/test_runner.rb
39
41
  - docs/CONTRIBUTING.md
40
42
  - docs/sigs.md
@@ -95,9 +97,36 @@ files:
95
97
  - schema/members.json
96
98
  - schema/methodType.json
97
99
  - schema/types.json
100
+ - sig/annotation.rbs
101
+ - sig/buffer.rbs
102
+ - sig/builtin_names.rbs
103
+ - sig/comment.rbs
104
+ - sig/constant.rbs
105
+ - sig/constant_table.rbs
106
+ - sig/declarations.rbs
107
+ - sig/definition.rbs
108
+ - sig/definition_builder.rbs
109
+ - sig/environment.rbs
110
+ - sig/environment_loader.rbs
111
+ - sig/location.rbs
112
+ - sig/members.rbs
113
+ - sig/method_types.rbs
114
+ - sig/namespace.rbs
115
+ - sig/polyfill.rbs
116
+ - sig/rbs.rbs
117
+ - sig/substitution.rbs
118
+ - sig/type_name_resolver.rbs
119
+ - sig/typename.rbs
120
+ - sig/types.rbs
121
+ - sig/util.rbs
122
+ - sig/variance_calculator.rbs
123
+ - sig/version.rbs
124
+ - sig/writer.rbs
98
125
  - stdlib/abbrev/abbrev.rbs
99
126
  - stdlib/base64/base64.rbs
100
127
  - stdlib/benchmark/benchmark.rbs
128
+ - stdlib/bigdecimal/big_decimal.rbs
129
+ - stdlib/bigdecimal/math/big_math.rbs
101
130
  - stdlib/builtin/array.rbs
102
131
  - stdlib/builtin/basic_object.rbs
103
132
  - stdlib/builtin/binding.rbs
@@ -161,6 +190,7 @@ files:
161
190
  - stdlib/erb/erb.rbs
162
191
  - stdlib/fiber/fiber.rbs
163
192
  - stdlib/find/find.rbs
193
+ - stdlib/forwardable/forwardable.rbs
164
194
  - stdlib/ipaddr/ipaddr.rbs
165
195
  - stdlib/json/json.rbs
166
196
  - stdlib/logger/formatter.rbs
@@ -176,7 +206,15 @@ files:
176
206
  - stdlib/securerandom/securerandom.rbs
177
207
  - stdlib/set/set.rbs
178
208
  - stdlib/tmpdir/tmpdir.rbs
209
+ - stdlib/uri/file.rbs
210
+ - stdlib/uri/generic.rbs
211
+ - stdlib/uri/http.rbs
212
+ - stdlib/uri/https.rbs
213
+ - stdlib/uri/ldap.rbs
214
+ - stdlib/uri/ldaps.rbs
179
215
  - stdlib/zlib/zlib.rbs
216
+ - steep/Gemfile
217
+ - steep/Gemfile.lock
180
218
  homepage: https://github.com/ruby/rbs
181
219
  licenses:
182
220
  - BSD-2-Clause
@@ -185,7 +223,7 @@ metadata:
185
223
  homepage_uri: https://github.com/ruby/rbs
186
224
  source_code_uri: https://github.com/ruby/rbs.git
187
225
  changelog_uri: https://github.com/ruby/rbs/blob/master/CHANGELOG.md
188
- post_install_message:
226
+ post_install_message:
189
227
  rdoc_options: []
190
228
  require_paths:
191
229
  - lib
@@ -201,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
239
  version: '0'
202
240
  requirements: []
203
241
  rubygems_version: 3.1.2
204
- signing_key:
242
+ signing_key:
205
243
  specification_version: 4
206
244
  summary: Type signature for Ruby.
207
245
  test_files: []