rbs 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a74db23528adc1dec1cf74a16e9d673ab7bba904e5f9dfb5d32fd48a9a55e5f
4
- data.tar.gz: 126f9160565fb35f91598376ef0d0ef7589a940c99399a983cbc35f6a9a355c5
3
+ metadata.gz: 96101c70eb61ad35fb0589861eb35f96a194b9de0e6e0f879237f3c5afea2a60
4
+ data.tar.gz: 8ca6a02529d655a6c4099b5f9da6ff63ec09159c8fcf2d4a43f60a615aa6b44d
5
5
  SHA512:
6
- metadata.gz: dda7d98e9e01acef22765c4683e081e93c871eb5280d294940685e736716050bf8b4f6cc9d546c987c5932238df9d0f349d04c1becc6bd48832ca202ff69331b
7
- data.tar.gz: 3d40ac86d0b6c044822b6e48af4c9c3414feab9ab6924f205c2e1163818301e0428895e62f8a2a55cb5dfd6e3175d2b556d2390a22de6533de998756949a99b0
6
+ metadata.gz: ffeed46652774774276a0efb9285b53b979fefa0bbf1fd6bdd8aba7fd76172f352313acdfaca64c89dd63332aa346d87785c56b8ff5e8911bf0228a22d8cf5c2
7
+ data.tar.gz: 4c6bce345c37c5b76b1563a204a7334cbaf99a1e4b34ac2fb88edcf143a1f67d91fef1f3fa16112faa403e644556c92154fa23a7f3c8bcdd45190fc4f042a369
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## master
4
4
 
5
+ ## 1.0.5 (2021-02-13)
6
+
7
+ * Signature Updates
8
+ * Enumerable ([\#596](https://github.com/ruby/rbs/pull/596))
9
+ * Set ([\#595](https://github.com/ruby/rbs/pull/595))
10
+ * `#to_json` ([\#592](https://github.com/ruby/rbs/pull/592))
11
+ * `<=>` ([\#593](https://github.com/ruby/rbs/pull/593))
12
+ * Timeout ([\#586](https://github.com/ruby/rbs/pull/586))
13
+ * URI::RFC2396_Parser ([\#587](https://github.com/ruby/rbs/pull/587))
14
+ * Rename generic class parameters on re-open ([\#594](https://github.com/ruby/rbs/pull/594))
15
+ * Make `refute_send_type` check that method call doesn't match with types in RBS ([\#588](https://github.com/ruby/rbs/pull/588))
16
+
5
17
  ## 1.0.4 (2021-01-31)
6
18
 
7
19
  * Unbundle `rr` to run test in `ruby/ruby` repo ([#585](https://github.com/ruby/rbs/pull/585))
data/core/array.rbs CHANGED
@@ -1736,7 +1736,7 @@ class Array[unchecked out Elem] < Object
1736
1736
  # See also Enumerable#sort_by.
1737
1737
  #
1738
1738
  def sort: () -> ::Array[Elem]
1739
- | () { (Elem a, Elem b) -> ::Integer? } -> ::Array[Elem]
1739
+ | () { (Elem a, Elem b) -> ::Integer } -> ::Array[Elem]
1740
1740
 
1741
1741
  # Sorts `self` in place.
1742
1742
  #
@@ -1757,7 +1757,7 @@ class Array[unchecked out Elem] < Object
1757
1757
  # See also Enumerable#sort_by.
1758
1758
  #
1759
1759
  def sort!: () -> self
1760
- | () { (Elem a, Elem b) -> ::Integer? } -> self
1760
+ | () { (Elem a, Elem b) -> ::Integer } -> self
1761
1761
 
1762
1762
  # Sorts `self` in place using a set of keys generated by mapping the values in
1763
1763
  # `self` through the given block.
data/core/complex.rbs CHANGED
@@ -121,7 +121,7 @@ class Complex < Numeric
121
121
  # Complex(2) <=> 2 #=> 0
122
122
  # Complex(2) <=> 3 #=> -1
123
123
  #
124
- def <=>: (Numeric) -> Integer?
124
+ def <=>: (untyped) -> Integer?
125
125
 
126
126
  # Returns true if cmp equals object numerically.
127
127
  #
data/core/enumerable.rbs CHANGED
@@ -286,8 +286,22 @@ module Enumerable[unchecked out Elem]: _Each[Elem]
286
286
  def sort_by: () { (Elem arg0) -> (Comparable | ::Array[untyped]) } -> ::Array[Elem]
287
287
  | () -> ::Enumerator[Elem, ::Array[Elem]]
288
288
 
289
- def take: (Integer n) -> ::Array[Elem]?
289
+ # Returns first n elements from *enum*.
290
+ #
291
+ # a = [1, 2, 3, 4, 5, 0]
292
+ # a.take(3) #=> [1, 2, 3]
293
+ # a.take(30) #=> [1, 2, 3, 4, 5, 0]
294
+ #
295
+ def take: (Integer n) -> ::Array[Elem]
290
296
 
297
+ # Passes elements to the block until the block returns `nil` or `false`, then
298
+ # stops iterating and returns an array of all prior elements.
299
+ #
300
+ # If no block is given, an enumerator is returned instead.
301
+ #
302
+ # a = [1, 2, 3, 4, 5, 0]
303
+ # a.take_while { |i| i < 3 } #=> [1, 2]
304
+ #
291
305
  def take_while: () { (Elem) -> boolish } -> ::Array[Elem]
292
306
  | () -> ::Enumerator[Elem, ::Array[Elem]]
293
307
 
data/core/file.rbs CHANGED
@@ -985,7 +985,8 @@ class File::Stat < Object
985
985
  include Comparable
986
986
 
987
987
  def initialize: (String file) -> Object
988
- def <=>: (File::Stat other) -> Integer?
988
+ def <=>: (File::Stat other) -> Integer
989
+ | (untyped) -> nil
989
990
 
990
991
  def atime: () -> Time
991
992
 
data/core/integer.rbs CHANGED
@@ -112,7 +112,8 @@ class Integer < Numeric
112
112
  #
113
113
  # `nil` is returned if the two values are incomparable.
114
114
  #
115
- def <=>: (Numeric) -> Integer?
115
+ def <=>: (Integer | Rational) -> Integer
116
+ | (untyped) -> Integer?
116
117
 
117
118
  # Returns `true` if `int` equals `other` numerically. Contrast this with
118
119
  # Integer#eql?, which requires `other` to be an Integer.
data/core/module.rbs CHANGED
@@ -90,7 +90,7 @@ class Module < Object
90
90
  # Returns `nil` if `module` has no relationship with `other_module`, if
91
91
  # `other_module` is not a module, or if the two values are incomparable.
92
92
  #
93
- def <=>: (Module other) -> Integer?
93
+ def <=>: (untyped other) -> Integer?
94
94
 
95
95
  # Equality --- At the Object level, #== returns `true` only if `obj` and `other`
96
96
  # are the same object. Typically, this method is overridden in descendant
data/core/rational.rbs CHANGED
@@ -125,7 +125,8 @@ class Rational < Numeric
125
125
  #
126
126
  # Rational(1, 3) <=> "0.3" #=> nil
127
127
  #
128
- def <=>: (Numeric) -> Integer?
128
+ def <=>: (Integer | Rational) -> Integer
129
+ | (untyped) -> Integer?
129
130
 
130
131
  # Returns `true` if `rat` equals `object` numerically.
131
132
  #
data/core/string.rbs CHANGED
@@ -91,7 +91,8 @@ class String
91
91
  # "abcdef" <=> "ABCDEF" #=> 1
92
92
  # "abcdef" <=> 1 #=> nil
93
93
  #
94
- def <=>: (untyped other) -> Integer?
94
+ def <=>: (string other) -> Integer
95
+ | (untyped other) -> Integer?
95
96
 
96
97
  # Equality---Returns whether `str` == `obj`, similar to Object#==.
97
98
  #
data/core/symbol.rbs CHANGED
@@ -47,7 +47,8 @@ class Symbol
47
47
  #
48
48
  # See String#<=> for more information.
49
49
  #
50
- def <=>: (untyped other) -> Integer?
50
+ def <=>: (Symbol other) -> Integer
51
+ | (untyped other) -> Integer?
51
52
 
52
53
  # Equality---If *sym* and *obj* are exactly the same symbol, returns `true`.
53
54
  #
data/core/time.rbs CHANGED
@@ -230,7 +230,8 @@ class Time < Object
230
230
  # t2 <=> t #=> 1
231
231
  # t <=> t #=> 0
232
232
  #
233
- def <=>: (Time other) -> Integer?
233
+ def <=>: (Time other) -> Integer
234
+ | (untyped other) -> Integer?
234
235
 
235
236
  def >: (Time arg0) -> bool
236
237
 
@@ -245,6 +245,19 @@ module RBS
245
245
  def hash
246
246
  self.class.hash ^ name.hash ^ type.hash ^ ivar_name.hash ^ kind.hash
247
247
  end
248
+
249
+ def update(name: self.name, type: self.type, ivar_name: self.ivar_name, kind: self.kind, annotations: self.annotations, location: self.location, comment: self.comment)
250
+ klass = _ = self.class
251
+ klass.new(
252
+ name: name,
253
+ type: type,
254
+ ivar_name: ivar_name,
255
+ kind: kind,
256
+ annotations: annotations,
257
+ location: location,
258
+ comment: comment
259
+ )
260
+ end
248
261
  end
249
262
 
250
263
  class AttrReader < Base
@@ -139,9 +139,8 @@ module RBS
139
139
  case entry
140
140
  when Environment::ClassEntry, Environment::ModuleEntry
141
141
  ancestors = ancestor_builder.instance_ancestors(type_name)
142
- self_type = Types::ClassInstance.new(name: type_name,
143
- args: Types::Variable.build(entry.type_params.each.map(&:name)),
144
- location: nil)
142
+ args = Types::Variable.build(entry.type_params.each.map(&:name))
143
+ self_type = Types::ClassInstance.new(name: type_name, args: args, location: nil)
145
144
 
146
145
  Definition.new(type_name: type_name, entry: entry, self_type: self_type, ancestors: ancestors).tap do |definition|
147
146
  one_ancestors = ancestor_builder.one_instance_ancestors(type_name)
@@ -217,6 +216,8 @@ module RBS
217
216
  super_interface_method: entry.is_a?(Environment::ModuleEntry))
218
217
 
219
218
  entry.decls.each do |d|
219
+ subst = Substitution.build(d.decl.type_params.each.map(&:name), args)
220
+
220
221
  d.decl.members.each do |member|
221
222
  case member
222
223
  when AST::Members::AttrReader, AST::Members::AttrAccessor, AST::Members::AttrWriter
@@ -229,12 +230,18 @@ module RBS
229
230
  end
230
231
 
231
232
  if ivar_name
232
- insert_variable(type_name, definition.instance_variables, name: ivar_name, type: member.type)
233
+ insert_variable(type_name,
234
+ definition.instance_variables,
235
+ name: ivar_name,
236
+ type: member.type.sub(subst))
233
237
  end
234
238
  end
235
239
 
236
240
  when AST::Members::InstanceVariable
237
- insert_variable(type_name, definition.instance_variables, name: member.name, type: member.type)
241
+ insert_variable(type_name,
242
+ definition.instance_variables,
243
+ name: member.name,
244
+ type: member.type.sub(subst))
238
245
 
239
246
  when AST::Members::ClassVariable
240
247
  insert_variable(type_name, definition.class_variables, name: member.name, type: member.type)
@@ -96,15 +96,22 @@ module RBS
96
96
  type = Types::ClassInstance.new(name: type_name, args: args, location: nil)
97
97
  Methods.new(type: type).tap do |methods|
98
98
  entry.decls.each do |d|
99
+ subst = Substitution.build(d.decl.type_params.each.map(&:name), args)
99
100
  each_member_with_accessibility(d.decl.members) do |member, accessibility|
100
101
  case member
101
102
  when AST::Members::MethodDefinition
102
103
  if member.instance?
103
- build_method(methods, type, member: member, accessibility: accessibility)
104
+ build_method(methods,
105
+ type,
106
+ member: member.update(types: member.types.map {|type| type.sub(subst) }),
107
+ accessibility: accessibility)
104
108
  end
105
109
  when AST::Members::AttrReader, AST::Members::AttrWriter, AST::Members::AttrAccessor
106
110
  if member.kind == :instance
107
- build_attribute(methods, type, member: member, accessibility: accessibility)
111
+ build_attribute(methods,
112
+ type,
113
+ member: member.update(type: member.type.sub(subst)),
114
+ accessibility: accessibility)
108
115
  end
109
116
  when AST::Members::Alias
110
117
  if member.kind == :instance
data/lib/rbs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RBS
2
- VERSION = "1.0.4"
2
+ VERSION = "1.0.5"
3
3
  end
data/sig/members.rbs CHANGED
@@ -104,6 +104,8 @@ module RBS
104
104
  def initialize: (name: Symbol, type: Types::t, ivar_name: Symbol | false | nil, kind: kind, annotations: Array[Annotation], location: Location?, comment: Comment?) -> void
105
105
 
106
106
  include _HashEqual
107
+
108
+ def update: (?name: Symbol, ?type: Types::t, ?ivar_name: Symbol | false | nil, ?kind: kind, ?annotations: Array[Annotation], ?location: Location?, ?comment: Comment?) -> instance
107
109
  end
108
110
 
109
111
  class AttrReader < Base
@@ -321,7 +321,7 @@ class BigDecimal < Numeric
321
321
 
322
322
  # The comparison operator. a <=> b is 0 if a == b, 1 if a > b, -1 if a < b.
323
323
  #
324
- def <=>: (Numeric) -> Integer?
324
+ def <=>: (untyped) -> Integer?
325
325
 
326
326
  # Tests for value equality; returns true if the values are equal.
327
327
  #
@@ -496,7 +496,7 @@ class Date
496
496
  #
497
497
  # See also Comparable.
498
498
  #
499
- def <=>: (Date | Rational | Object other) -> Integer?
499
+ def <=>: (untyped other) -> Integer?
500
500
 
501
501
  # Returns true if they are the same day.
502
502
  #
@@ -339,3 +339,67 @@ JSON::VERSION_BUILD: Integer
339
339
  JSON::VERSION_MAJOR: Integer
340
340
 
341
341
  JSON::VERSION_MINOR: Integer
342
+
343
+ class Object
344
+ # Converts this object to a string (calling #to_s), converts
345
+ # it to a JSON string, and returns the result. This is a fallback, if no
346
+ # special method #to_json was defined for some object.
347
+ #
348
+ def to_json: (?JSON::State state) -> String
349
+ end
350
+
351
+ class NilClass
352
+ # Returns a JSON string for nil: 'null'.
353
+ #
354
+ def to_json: (?JSON::State state) -> String
355
+ end
356
+
357
+ class TrueClass
358
+ # Returns a JSON string for true: 'true'.
359
+ #
360
+ def to_json: (?JSON::State state) -> String
361
+ end
362
+
363
+ class FalseClass
364
+ # Returns a JSON string for false: 'false'.
365
+ #
366
+ def to_json: (?JSON::State state) -> String
367
+ end
368
+
369
+ class String
370
+ # This string should be encoded with UTF-8 A call to this method
371
+ # returns a JSON string encoded with UTF16 big endian characters as
372
+ # \u????.
373
+ #
374
+ def to_json: (?JSON::State state) -> String
375
+ end
376
+
377
+ class Integer
378
+ # Returns a JSON string representation for this Integer number.
379
+ #
380
+ def to_json: (?JSON::State state) -> String
381
+ end
382
+
383
+ class Float
384
+ # Returns a JSON string representation for this Float number.
385
+ #
386
+ def to_json: (?JSON::State state) -> String
387
+ end
388
+
389
+ class Hash[unchecked out K, unchecked out V]
390
+ # Returns a JSON string containing a JSON object, that is generated from
391
+ # this Hash instance.
392
+ # _state_ is a JSON::State object, that can also be used to configure the
393
+ # produced JSON string output further.
394
+ #
395
+ def to_json: (?JSON::State state) -> String
396
+ end
397
+
398
+ class Array[unchecked out Elem]
399
+ # Returns a JSON string containing a JSON array, that is generated from
400
+ # this Array instance.
401
+ # _state_ is a JSON::State object, that can also be used to configure the
402
+ # produced JSON string output further.
403
+ #
404
+ def to_json: (?JSON::State state) -> String
405
+ end
@@ -240,7 +240,8 @@ class Pathname
240
240
  # relative to the right argument. Or it will return `nil` if the arguments are
241
241
  # not comparable.
242
242
  #
243
- def <=>: (untyped other) -> Integer?
243
+ def <=>: (Pathname other) -> Integer
244
+ | (untyped other) -> nil
244
245
 
245
246
  # Compare this pathname with `other`. The comparison is string-based. Be aware
246
247
  # that two different paths (`foo.txt` and `./foo.txt`) can refer to the same
data/stdlib/set/0/set.rbs CHANGED
@@ -299,3 +299,10 @@ class Set[A]
299
299
 
300
300
  include Enumerable[A]
301
301
  end
302
+
303
+ module Enumerable[unchecked out Elem]
304
+ # Makes a set from the enumerable object with given arguments.
305
+ # Needs to `require "set"` to use this method.
306
+ #
307
+ def to_set: () -> Set[Elem]
308
+ end
@@ -0,0 +1,57 @@
1
+ # Timeout long-running blocks
2
+ #
3
+ # ## Synopsis
4
+ #
5
+ # require 'timeout'
6
+ # status = Timeout::timeout(5) {
7
+ # # Something that should be interrupted if it takes more than 5 seconds...
8
+ # }
9
+ #
10
+ # ## Description
11
+ #
12
+ # Timeout provides a way to auto-terminate a potentially long-running operation
13
+ # if it hasn't finished in a fixed amount of time.
14
+ #
15
+ # Previous versions didn't use a module for namespacing, however #timeout is
16
+ # provided for backwards compatibility. You should prefer Timeout.timeout
17
+ # instead.
18
+ #
19
+ # ## Copyright
20
+ #
21
+ # Copyright
22
+ # : (C) 2000 Network Applied Communication Laboratory, Inc.
23
+ # Copyright
24
+ # : (C) 2000 Information-technology Promotion Agency, Japan
25
+ #
26
+ module Timeout
27
+ # Perform an operation in a block, raising an error if it takes longer than
28
+ # `sec` seconds to complete.
29
+ #
30
+ # `sec`
31
+ # : Number of seconds to wait for the block to terminate. Any number may be
32
+ # used, including Floats to specify fractional seconds. A value of 0 or
33
+ # `nil` will execute the block without any timeout.
34
+ # `klass`
35
+ # : Exception Class to raise if the block fails to terminate in `sec` seconds.
36
+ # Omitting will use the default, Timeout::Error
37
+ # `message`
38
+ # : Error message to raise with Exception Class. Omitting will use the
39
+ # default, "execution expired"
40
+ #
41
+ #
42
+ # Returns the result of the block **if** the block completed before `sec`
43
+ # seconds, otherwise throws an exception, based on the value of `klass`.
44
+ #
45
+ # The exception thrown to terminate the given block cannot be rescued inside the
46
+ # block unless `klass` is given explicitly. However, the block can use ensure to
47
+ # prevent the handling of the exception. For that reason, this method cannot be
48
+ # relied on to enforce timeouts for untrusted blocks.
49
+ #
50
+ # Note that this is both a method of module Timeout, so you can `include
51
+ # Timeout` into your classes so they have a #timeout method, as well as a module
52
+ # method, so you can call it directly as Timeout.timeout().
53
+ #
54
+ def self?.timeout: [T] (Numeric? sec, ?singleton(Exception) klass, ?String message) { (Numeric sec) -> T } -> T
55
+ end
56
+
57
+ Timeout::VERSION: String
@@ -1,9 +1,146 @@
1
- # Class that parses String's into URI's.
2
- #
3
- # It contains a Hash set of patterns and Regexp's that match and validate.
4
- class URI::RFC2396_Parser
5
- end
1
+ module URI
2
+ # Includes URI::REGEXP::PATTERN
3
+ #
4
+ module RFC2396_REGEXP
5
+ end
6
+
7
+ # Class that parses String's into URI's.
8
+ #
9
+ # It contains a Hash set of patterns and Regexp's that match and validate.
10
+ #
11
+ class RFC2396_Parser
12
+ include RFC2396_REGEXP
13
+
14
+ # The Hash of patterns.
15
+ #
16
+ # See also URI::Parser.initialize_pattern.
17
+ #
18
+ attr_reader pattern: Hash[Symbol, String]
19
+
20
+ # The Hash of Regexp.
21
+ #
22
+ # See also URI::Parser.initialize_regexp.
23
+ #
24
+ attr_reader regexp: Hash[Symbol, Regexp]
25
+
26
+ # == Synopsis
27
+ #
28
+ # URI::Parser.new([opts])
29
+ #
30
+ # == Args
31
+ #
32
+ # The constructor accepts a hash as options for parser.
33
+ # Keys of options are pattern names of URI components
34
+ # and values of options are pattern strings.
35
+ # The constructor generates set of regexps for parsing URIs.
36
+ #
37
+ # You can use the following keys:
38
+ #
39
+ # * :ESCAPED (URI::PATTERN::ESCAPED in default)
40
+ # * :UNRESERVED (URI::PATTERN::UNRESERVED in default)
41
+ # * :DOMLABEL (URI::PATTERN::DOMLABEL in default)
42
+ # * :TOPLABEL (URI::PATTERN::TOPLABEL in default)
43
+ # * :HOSTNAME (URI::PATTERN::HOSTNAME in default)
44
+ #
45
+ # == Examples
46
+ #
47
+ # p = URI::Parser.new(:ESCAPED => "(?:%[a-fA-F0-9]{2}|%u[a-fA-F0-9]{4})")
48
+ # u = p.parse("http://example.jp/%uABCD") #=> #<URI::HTTP http://example.jp/%uABCD>
49
+ # URI.parse(u.to_s) #=> raises URI::InvalidURIError
50
+ #
51
+ # s = "http://example.com/ABCD"
52
+ # u1 = p.parse(s) #=> #<URI::HTTP http://example.com/ABCD>
53
+ # u2 = URI.parse(s) #=> #<URI::HTTP http://example.com/ABCD>
54
+ # u1 == u2 #=> true
55
+ # u1.eql?(u2) #=> false
56
+ #
57
+ def initialize: (?Hash[Symbol, String] opts) -> void
58
+
59
+ # ## Args
60
+ #
61
+ # `str`
62
+ # : String to make safe
63
+ # `unsafe`
64
+ # : Regexp to apply. Defaults to [self.regexp](:UNSAFE)
65
+ #
66
+ #
67
+ # ## Description
68
+ #
69
+ # Constructs a safe String from `str`, removing unsafe characters, replacing
70
+ # them with codes.
71
+ #
72
+ def escape: (String str, ?Regexp unsafe) -> String
73
+
74
+ # ## Args
75
+ #
76
+ # `str`
77
+ # : String to search
78
+ # `schemes`
79
+ # : Patterns to apply to `str`
80
+ #
81
+ #
82
+ # ## Description
83
+ #
84
+ # Attempts to parse and merge a set of URIs. If no `block` given, then returns
85
+ # the result, else it calls `block` for each element in result.
86
+ #
87
+ # See also URI::Parser.make_regexp.
88
+ #
89
+ def extract: (String str, ?Array[String] schemes) -> Array[String]
90
+ | (String str, ?Array[String] schemes) { (String) -> untyped } -> nil
91
+
92
+ # ## Args
93
+ #
94
+ # `uris`
95
+ # : an Array of Strings
96
+ #
97
+ #
98
+ # ## Description
99
+ #
100
+ # Attempts to parse and merge a set of URIs.
101
+ #
102
+ def join: (*String uris) -> URI::Generic
103
+
104
+ # Returns Regexp that is default [self.regexp](:ABS_URI_REF), unless `schemes`
105
+ # is provided. Then it is a Regexp.union with [self.pattern](:X_ABS_URI).
106
+ #
107
+ def make_regexp: (?Array[String] schemes) -> Regexp
108
+
109
+ # ## Args
110
+ #
111
+ # `uri`
112
+ # : String
113
+ #
114
+ #
115
+ # ## Description
116
+ #
117
+ # Parses `uri` and constructs either matching URI scheme object (File, FTP,
118
+ # HTTP, HTTPS, LDAP, LDAPS, or MailTo) or URI::Generic.
119
+ #
120
+ # ## Usage
121
+ #
122
+ # p = URI::Parser.new
123
+ # p.parse("ldap://ldap.example.com/dc=example?user=john")
124
+ # #=> #<URI::LDAP ldap://ldap.example.com/dc=example?user=john>
125
+ #
126
+ def parse: (String uri) -> URI::Generic
127
+
128
+ # Returns a split URI against [regexp](:ABS_URI).
129
+ #
130
+ def split: (String uri) -> [ String?, String?, String?, String?, String?, String?, String?, String?, String? ]
6
131
 
7
- # Includes URI::REGEXP::PATTERN
8
- module URI::RFC2396_REGEXP
132
+ # ## Args
133
+ #
134
+ # `str`
135
+ # : String to remove escapes from
136
+ # `escaped`
137
+ # : Regexp to apply. Defaults to [self.regexp](:ESCAPED)
138
+ #
139
+ #
140
+ # ## Description
141
+ #
142
+ # Removes escapes from `str`.
143
+ #
144
+ def unescape: (String str, ?Regexp escaped) -> String
145
+ end
9
146
  end
data/steep/Gemfile.lock CHANGED
@@ -1,42 +1,40 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- activesupport (6.1.0)
4
+ activesupport (6.1.2.1)
5
5
  concurrent-ruby (~> 1.0, >= 1.0.2)
6
6
  i18n (>= 1.6, < 2)
7
7
  minitest (>= 5.1)
8
8
  tzinfo (~> 2.0)
9
9
  zeitwerk (~> 2.3)
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)
10
+ ast (2.4.2)
11
+ ast_utils (0.4.0)
12
+ parser (>= 2.7.0)
13
+ concurrent-ruby (1.1.8)
14
+ ffi (1.14.2)
15
+ i18n (1.8.8)
17
16
  concurrent-ruby (~> 1.0)
18
17
  language_server-protocol (3.15.0.1)
19
- listen (3.3.3)
18
+ listen (3.4.1)
20
19
  rb-fsevent (~> 0.10, >= 0.10.3)
21
20
  rb-inotify (~> 0.9, >= 0.9.10)
22
- minitest (5.14.2)
23
- parser (2.7.2.0)
21
+ minitest (5.14.3)
22
+ parser (3.0.0.0)
24
23
  ast (~> 2.4.1)
25
24
  rainbow (3.0.0)
26
25
  rb-fsevent (0.10.4)
27
26
  rb-inotify (0.10.1)
28
27
  ffi (~> 1.0)
29
- rbs (0.20.1)
30
- steep (0.38.0)
28
+ rbs (1.0.4)
29
+ steep (0.41.0)
31
30
  activesupport (>= 5.1)
32
- ast_utils (~> 0.3.0)
31
+ ast_utils (>= 0.4.0)
33
32
  language_server-protocol (~> 3.15.0.1)
34
33
  listen (~> 3.0)
35
- parser (~> 2.7.0)
34
+ parser (>= 2.7)
36
35
  rainbow (>= 2.2.2, < 4.0)
37
- rbs (>= 0.20.0)
38
- thor (1.0.1)
39
- tzinfo (2.0.3)
36
+ rbs (~> 1.0.3)
37
+ tzinfo (2.0.4)
40
38
  concurrent-ruby (~> 1.0)
41
39
  zeitwerk (2.4.2)
42
40
 
@@ -47,4 +45,4 @@ DEPENDENCIES
47
45
  steep
48
46
 
49
47
  BUNDLED WITH
50
- 2.2.0.rc.2
48
+ 2.2.3
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: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Soutaro Matsumoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-30 00:00:00.000000000 Z
11
+ date: 2021-02-12 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.
@@ -224,6 +224,7 @@ files:
224
224
  - stdlib/set/0/set.rbs
225
225
  - stdlib/singleton/0/singleton.rbs
226
226
  - stdlib/time/0/time.rbs
227
+ - stdlib/timeout/0/timeout.rbs
227
228
  - stdlib/tmpdir/0/tmpdir.rbs
228
229
  - stdlib/tsort/0/cyclic.rbs
229
230
  - stdlib/tsort/0/interfaces.rbs