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

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.
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.