rbs 3.0.0.dev.2 → 3.0.0.dev.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -1
  3. data/.github/workflows/ruby.yml +4 -0
  4. data/Gemfile.lock +11 -11
  5. data/Rakefile +2 -2
  6. data/Steepfile +1 -1
  7. data/core/array.rbs +573 -423
  8. data/core/basic_object.rbs +11 -39
  9. data/core/binding.rbs +1 -1
  10. data/core/builtin.rbs +8 -0
  11. data/core/class.rbs +37 -0
  12. data/core/comparable.rbs +7 -18
  13. data/core/complex.rbs +2 -2
  14. data/core/data.rbs +419 -0
  15. data/core/dir.rbs +52 -104
  16. data/core/encoding.rbs +22 -181
  17. data/core/enumerable.rbs +212 -175
  18. data/core/enumerator/product.rbs +96 -0
  19. data/core/enumerator.rbs +57 -8
  20. data/core/errors.rbs +8 -2
  21. data/core/exception.rbs +41 -0
  22. data/core/fiber.rbs +95 -12
  23. data/core/file.rbs +840 -275
  24. data/core/file_test.rbs +34 -19
  25. data/core/float.rbs +40 -96
  26. data/core/gc.rbs +15 -3
  27. data/core/hash.rbs +113 -175
  28. data/core/integer.rbs +85 -145
  29. data/core/io/buffer.rbs +187 -60
  30. data/core/io/wait.rbs +28 -16
  31. data/core/io.rbs +1859 -1389
  32. data/core/kernel.rbs +525 -961
  33. data/core/match_data.rbs +306 -142
  34. data/core/math.rbs +506 -234
  35. data/core/method.rbs +0 -24
  36. data/core/module.rbs +110 -17
  37. data/core/nil_class.rbs +2 -0
  38. data/core/numeric.rbs +76 -144
  39. data/core/object.rbs +88 -212
  40. data/core/proc.rbs +17 -5
  41. data/core/process.rbs +22 -5
  42. data/core/ractor.rbs +1 -1
  43. data/core/random.rbs +20 -3
  44. data/core/range.rbs +91 -89
  45. data/core/rational.rbs +2 -3
  46. data/core/rbs/unnamed/argf.rbs +177 -120
  47. data/core/rbs/unnamed/env_class.rbs +89 -163
  48. data/core/rbs/unnamed/random.rbs +36 -12
  49. data/core/refinement.rbs +8 -0
  50. data/core/regexp.rbs +462 -272
  51. data/core/ruby_vm.rbs +210 -0
  52. data/{stdlib/set/0 → core}/set.rbs +43 -47
  53. data/core/string.rbs +1403 -1332
  54. data/core/string_io.rbs +191 -107
  55. data/core/struct.rbs +67 -63
  56. data/core/symbol.rbs +187 -201
  57. data/core/thread.rbs +40 -35
  58. data/core/time.rbs +902 -826
  59. data/core/trace_point.rbs +55 -6
  60. data/core/unbound_method.rbs +48 -24
  61. data/docs/collection.md +4 -0
  62. data/docs/syntax.md +55 -0
  63. data/ext/rbs_extension/parser.c +5 -6
  64. data/lib/rbs/cli.rb +6 -1
  65. data/lib/rbs/collection/cleaner.rb +8 -1
  66. data/lib/rbs/collection/config/lockfile.rb +3 -1
  67. data/lib/rbs/collection/config/lockfile_generator.rb +16 -14
  68. data/lib/rbs/collection/config.rb +1 -1
  69. data/lib/rbs/collection/sources/git.rb +9 -2
  70. data/lib/rbs/collection/sources/local.rb +79 -0
  71. data/lib/rbs/collection/sources.rb +8 -1
  72. data/lib/rbs/environment.rb +6 -5
  73. data/lib/rbs/environment_loader.rb +3 -2
  74. data/lib/rbs/errors.rb +18 -0
  75. data/lib/rbs/locator.rb +26 -7
  76. data/lib/rbs/sorter.rb +2 -2
  77. data/lib/rbs/version.rb +1 -1
  78. data/sig/collection/sources.rbs +32 -3
  79. data/sig/environment.rbs +2 -3
  80. data/sig/locator.rbs +14 -2
  81. data/sig/shims/{abstract_syntax_tree.rbs → _abstract_syntax_tree.rbs} +0 -0
  82. data/stdlib/bigdecimal/0/big_decimal.rbs +16 -13
  83. data/stdlib/cgi/0/core.rbs +16 -0
  84. data/stdlib/coverage/0/coverage.rbs +50 -8
  85. data/stdlib/csv/0/csv.rbs +1 -1
  86. data/stdlib/date/0/date.rbs +856 -726
  87. data/stdlib/date/0/date_time.rbs +83 -210
  88. data/stdlib/erb/0/erb.rbs +13 -36
  89. data/stdlib/etc/0/etc.rbs +127 -20
  90. data/stdlib/fileutils/0/fileutils.rbs +1290 -381
  91. data/stdlib/logger/0/logger.rbs +466 -316
  92. data/stdlib/net-http/0/net-http.rbs +2211 -534
  93. data/stdlib/nkf/0/nkf.rbs +5 -5
  94. data/stdlib/objspace/0/objspace.rbs +31 -14
  95. data/stdlib/openssl/0/openssl.rbs +11 -7
  96. data/stdlib/optparse/0/optparse.rbs +20 -17
  97. data/stdlib/pathname/0/pathname.rbs +21 -4
  98. data/stdlib/pstore/0/pstore.rbs +378 -154
  99. data/stdlib/pty/0/pty.rbs +24 -8
  100. data/stdlib/ripper/0/ripper.rbs +1650 -0
  101. data/stdlib/socket/0/addrinfo.rbs +9 -15
  102. data/stdlib/socket/0/socket.rbs +36 -3
  103. data/stdlib/strscan/0/string_scanner.rbs +7 -5
  104. data/stdlib/tempfile/0/tempfile.rbs +104 -44
  105. data/stdlib/time/0/time.rbs +2 -2
  106. data/stdlib/uri/0/file.rbs +5 -0
  107. data/stdlib/uri/0/generic.rbs +2 -2
  108. data/stdlib/yaml/0/yaml.rbs +2 -2
  109. data/stdlib/zlib/0/zlib.rbs +1 -1
  110. metadata +8 -6
  111. data/core/deprecated.rbs +0 -9
  112. data/sig/shims/ripper.rbs +0 -8
data/core/integer.rbs CHANGED
@@ -3,13 +3,12 @@
3
3
  #
4
4
  # You can create an Integer object explicitly with:
5
5
  #
6
- # * An [integer
7
- # literal](doc/syntax/literals_rdoc.html#label-Integer+Literals).
6
+ # * An [integer literal](rdoc-ref:syntax/literals.rdoc@Integer+Literals).
8
7
  #
9
8
  #
10
9
  # You can convert certain objects to Integers with:
11
10
  #
12
- # * Method [Integer](Kernel.html#method-i-Integer).
11
+ # * Method #Integer.
13
12
  #
14
13
  #
15
14
  # An attempt to add a singleton method to an instance of this class causes an
@@ -19,161 +18,84 @@
19
18
  #
20
19
  # First, what's elsewhere. Class Integer:
21
20
  #
22
- # * Inherits from [class
23
- # Numeric](Numeric.html#class-Numeric-label-What-27s+Here).
21
+ # * Inherits from [class Numeric](rdoc-ref:Numeric@What-27s+Here).
24
22
  #
25
23
  #
26
24
  # Here, class Integer provides methods for:
27
25
  #
28
- # * [Querying](#class-Integer-label-Querying)
29
- # * [Comparing](#class-Integer-label-Comparing)
30
- # * [Converting](#class-Integer-label-Converting)
31
- # * [Other](#class-Integer-label-Other)
26
+ # * [Querying](rdoc-ref:Integer@Querying)
27
+ # * [Comparing](rdoc-ref:Integer@Comparing)
28
+ # * [Converting](rdoc-ref:Integer@Converting)
29
+ # * [Other](rdoc-ref:Integer@Other)
32
30
  #
33
31
  #
34
32
  # ### Querying
35
33
  #
36
- # #allbits?
37
- # : Returns whether all bits in `self` are set.
38
- #
39
- # #anybits?
40
- # : Returns whether any bits in `self` are set.
41
- #
42
- # #nobits?
43
- # : Returns whether no bits in `self` are set.
44
- #
34
+ # * #allbits?: Returns whether all bits in `self` are set.
35
+ # * #anybits?: Returns whether any bits in `self` are set.
36
+ # * #nobits?: Returns whether no bits in `self` are set.
45
37
  #
46
38
  #
47
39
  # ### Comparing
48
40
  #
49
- # [<](#method-i-3C)
50
- # : Returns whether `self` is less than the given value.
51
- #
52
- # [<=](#method-i-3C-3D)
53
- # : Returns whether `self` is less than or equal to the given value.
54
- #
55
- # [<=>](#method-i-3C-3D-3E)
56
- # : Returns a number indicating whether `self` is less than, equal to, or
57
- # greater than the given value.
58
- #
59
- # [==](#method-i-3D-3D) (aliased as #===)
60
- # : Returns whether `self` is equal to the given value.
61
- #
62
- # [>](#method-i-3E)
63
- # : Returns whether `self` is greater than the given value.
64
- #
65
- # [>=](#method-i-3E-3D)
66
- # : Returns whether `self` is greater than or equal to the given value.
41
+ # * #<: Returns whether `self` is less than the given value.
42
+ # * #<=: Returns whether `self` is less than or equal to the given value.
43
+ # * #<=>: Returns a number indicating whether `self` is less than, equal to,
44
+ # or greater than the given value.
45
+ # * #== (aliased as #===): Returns whether `self` is equal to the given
46
+ # value.
67
47
  #
48
+ # * #>: Returns whether `self` is greater than the given value.
49
+ # * #>=: Returns whether `self` is greater than or equal to the given value.
68
50
  #
69
51
  #
70
52
  # ### Converting
71
53
  #
72
- # ::sqrt
73
- # : Returns the integer square root of the given value.
74
- #
75
- # ::try_convert
76
- # : Returns the given value converted to an Integer.
77
- #
78
- # #% (aliased as #modulo)
79
- # : Returns `self` modulo the given value.
80
- #
81
- # [&](#method-i-26)
82
- # : Returns the bitwise AND of `self` and the given value.
83
- #
84
- # #*
85
- # : Returns the product of `self` and the given value.
86
- #
87
- # [**](#method-i-2A-2A)
88
- # : Returns the value of `self` raised to the power of the given value.
89
- #
90
- # #+
91
- # : Returns the sum of `self` and the given value.
92
- #
93
- # #-
94
- # : Returns the difference of `self` and the given value.
95
- #
96
- # [/](#method-i-2F)
97
- # : Returns the quotient of `self` and the given value.
98
- #
99
- # #<<
100
- # : Returns the value of `self` after a leftward bit-shift.
101
- #
102
- # #>>
103
- # : Returns the value of `self` after a rightward bit-shift.
104
- #
105
- # #[]
106
- # : Returns a slice of bits from `self`.
107
- #
108
- # [^](#method-i-5E)
109
- # : Returns the bitwise EXCLUSIVE OR of `self` and the given value.
110
- #
111
- # #ceil
112
- # : Returns the smallest number greater than or equal to `self`.
113
- #
114
- # #chr
115
- # : Returns a 1-character string containing the character represented by
116
- # the value of `self`.
117
- #
118
- # #digits
119
- # : Returns an array of integers representing the base-radix digits of
120
- # `self`.
121
- #
122
- # #div
123
- # : Returns the integer result of dividing `self` by the given value.
124
- #
125
- # #divmod
126
- # : Returns a 2-element array containing the quotient and remainder
127
- # results of dividing `self` by the given value.
128
- #
129
- # #fdiv
130
- # : Returns the Float result of dividing `self` by the given value.
131
- #
132
- # #floor
133
- # : Returns the greatest number smaller than or equal to `self`.
134
- #
135
- # #pow
136
- # : Returns the modular exponentiation of `self`.
137
- #
138
- # #pred
139
- # : Returns the integer predecessor of `self`.
140
- #
141
- # #remainder
142
- # : Returns the remainder after dividing `self` by the given value.
143
- #
144
- # #round
145
- # : Returns `self` rounded to the nearest value with the given precision.
146
- #
147
- # #succ (aliased as #next)
148
- # : Returns the integer successor of `self`.
149
- #
150
- # #to_f
151
- # : Returns `self` converted to a Float.
152
- #
153
- # #to_s (aliased as #inspect)
154
- # : Returns a string containing the place-value representation of `self`
155
- # in the given radix.
156
- #
157
- # #truncate
158
- # : Returns `self` truncated to the given precision.
159
- #
160
- # [/](#method-i-7C)
161
- # : Returns the bitwise OR of `self` and the given value.
162
- #
54
+ # * ::sqrt: Returns the integer square root of the given value.
55
+ # * ::try_convert: Returns the given value converted to an Integer.
56
+ # * #% (aliased as #modulo): Returns `self` modulo the given value.
57
+ # * #&: Returns the bitwise AND of `self` and the given value.
58
+ # * #*: Returns the product of `self` and the given value.
59
+ # * #**: Returns the value of `self` raised to the power of the given value.
60
+ # * #+: Returns the sum of `self` and the given value.
61
+ # * #-: Returns the difference of `self` and the given value.
62
+ # * #/: Returns the quotient of `self` and the given value.
63
+ # * #<<: Returns the value of `self` after a leftward bit-shift.
64
+ # * #>>: Returns the value of `self` after a rightward bit-shift.
65
+ # * #[]: Returns a slice of bits from `self`.
66
+ # * #^: Returns the bitwise EXCLUSIVE OR of `self` and the given value.
67
+ # * #ceil: Returns the smallest number greater than or equal to `self`.
68
+ # * #chr: Returns a 1-character string containing the character represented by
69
+ # the value of `self`.
70
+ # * #digits: Returns an array of integers representing the base-radix digits
71
+ # of `self`.
72
+ # * #div: Returns the integer result of dividing `self` by the given value.
73
+ # * #divmod: Returns a 2-element array containing the quotient and remainder
74
+ # results of dividing `self` by the given value.
75
+ # * #fdiv: Returns the Float result of dividing `self` by the given value.
76
+ # * #floor: Returns the greatest number smaller than or equal to `self`.
77
+ # * #pow: Returns the modular exponentiation of `self`.
78
+ # * #pred: Returns the integer predecessor of `self`.
79
+ # * #remainder: Returns the remainder after dividing `self` by the given
80
+ # value.
81
+ # * #round: Returns `self` rounded to the nearest value with the given
82
+ # precision.
83
+ # * #succ (aliased as #next): Returns the integer successor of `self`.
84
+ # * #to_f: Returns `self` converted to a Float.
85
+ # * #to_s (aliased as #inspect): Returns a string containing the place-value
86
+ # representation of `self` in the given radix.
87
+ # * #truncate: Returns `self` truncated to the given precision.
88
+ # * #|: Returns the bitwise OR of `self` and the given value.
163
89
  #
164
90
  #
165
91
  # ### Other
166
92
  #
167
- # #downto
168
- # : Calls the given block with each integer value from `self` down to the
169
- # given value.
170
- #
171
- # #times
172
- # : Calls the given block `self` times with each integer in `(0..self-1)`.
173
- #
174
- # #upto
175
- # : Calls the given block with each integer value from `self` up to the
176
- # given value.
93
+ # * #downto: Calls the given block with each integer value from `self` down to
94
+ # the given value.
95
+ # * #times: Calls the given block `self` times with each integer in
96
+ # `(0..self-1)`.
97
+ # * #upto: Calls the given block with each integer value from `self` up to the
98
+ # given value.
177
99
  #
178
100
  class Integer < Numeric
179
101
  # <!--
@@ -731,6 +653,24 @@ class Integer < Numeric
731
653
  def ceil: () -> Integer
732
654
  | (int digits) -> (Integer | Float)
733
655
 
656
+ # <!--
657
+ # rdoc-file=numeric.rb
658
+ # - ceildiv(other) -> integer
659
+ # -->
660
+ # Returns the result of division `self` by `other`. The result is rounded up to
661
+ # the nearest integer.
662
+ #
663
+ # 3.ceildiv(3) # => 1
664
+ # 4.ceildiv(3) # => 2
665
+ #
666
+ # 4.ceildiv(-3) # => -1
667
+ # -4.ceildiv(3) # => -1
668
+ # -4.ceildiv(-3) # => 2
669
+ #
670
+ # 3.ceildiv(1.2) # => 3
671
+ #
672
+ def ceildiv: (Numeric other) -> Integer
673
+
734
674
  # <!--
735
675
  # rdoc-file=numeric.c
736
676
  # - chr -> string
@@ -740,7 +680,7 @@ class Integer < Numeric
740
680
  # of `self`, according to the given `encoding`.
741
681
  #
742
682
  # 65.chr # => "A"
743
- # 0..chr # => "\x00"
683
+ # 0.chr # => "\x00"
744
684
  # 255.chr # => "\xFF"
745
685
  # string = 255.chr(Encoding::UTF_8)
746
686
  # string.encoding # => Encoding::UTF_8
@@ -753,14 +693,14 @@ class Integer < Numeric
753
693
 
754
694
  # <!--
755
695
  # rdoc-file=bignum.c
756
- # - big.coerce(numeric) -> array
696
+ # - int.coerce(numeric) -> array
757
697
  # -->
758
- # Returns an array with both a `numeric` and a `big` represented as Bignum
759
- # objects.
698
+ # Returns an array with both a `numeric` and a `int` represented as Integer
699
+ # objects or Float objects.
760
700
  #
761
- # This is achieved by converting `numeric` to a Bignum.
701
+ # This is achieved by converting `numeric` to an Integer or a Float.
762
702
  #
763
- # A TypeError is raised if the `numeric` is not a Fixnum or Bignum type.
703
+ # A TypeError is raised if the `numeric` is not an Integer or a Float type.
764
704
  #
765
705
  # (0x3FFFFFFFFFFFFFFF+1).coerce(42) #=> [42, 4611686018427387904]
766
706
  #
@@ -771,7 +711,7 @@ class Integer < Numeric
771
711
  def conjugate: () -> Integer
772
712
 
773
713
  # <!--
774
- # rdoc-file=rational.c
714
+ # rdoc-file=numeric.rb
775
715
  # - int.denominator -> 1
776
716
  # -->
777
717
  # Returns 1.
@@ -1065,7 +1005,7 @@ class Integer < Numeric
1065
1005
  def nonzero?: () -> self?
1066
1006
 
1067
1007
  # <!--
1068
- # rdoc-file=rational.c
1008
+ # rdoc-file=numeric.rb
1069
1009
  # - int.numerator -> self
1070
1010
  # -->
1071
1011
  # Returns self.