rbs 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +5 -0
  3. data/CHANGELOG.md +23 -0
  4. data/README.md +6 -1
  5. data/core/array.rbs +2866 -1086
  6. data/core/basic_object.rbs +150 -30
  7. data/core/binding.rbs +33 -0
  8. data/core/builtin.rbs +4 -4
  9. data/core/class.rbs +43 -5
  10. data/core/comparable.rbs +57 -0
  11. data/core/complex.rbs +170 -4
  12. data/core/constants.rbs +51 -0
  13. data/core/deprecated.rbs +7 -0
  14. data/core/dir.rbs +305 -20
  15. data/core/encoding.rbs +472 -77
  16. data/core/enumerable.rbs +2173 -234
  17. data/core/enumerator.rbs +448 -182
  18. data/core/env.rbs +448 -1
  19. data/core/errno.rbs +1 -10
  20. data/core/errors.rbs +152 -2
  21. data/core/exception.rbs +201 -127
  22. data/core/false_class.rbs +27 -0
  23. data/core/fiber.rbs +118 -37
  24. data/core/fiber_error.rbs +8 -9
  25. data/core/file.rbs +1059 -139
  26. data/core/file_test.rbs +287 -32
  27. data/core/float.rbs +776 -300
  28. data/core/gc.rbs +185 -34
  29. data/core/global_variables.rbs +5 -1
  30. data/core/hash.rbs +1582 -649
  31. data/core/integer.rbs +974 -204
  32. data/core/io/buffer.rbs +710 -0
  33. data/core/io/wait.rbs +29 -8
  34. data/core/io.rbs +2438 -417
  35. data/core/kernel.rbs +2315 -316
  36. data/core/marshal.rbs +37 -2
  37. data/core/match_data.rbs +123 -6
  38. data/core/math.rbs +126 -6
  39. data/core/method.rbs +226 -102
  40. data/core/module.rbs +421 -45
  41. data/core/nil_class.rbs +64 -0
  42. data/core/numeric.rbs +620 -142
  43. data/core/object.rbs +453 -81
  44. data/core/object_space.rbs +92 -2
  45. data/core/proc.rbs +482 -285
  46. data/core/process.rbs +443 -34
  47. data/core/ractor.rbs +232 -9
  48. data/core/random.rbs +151 -52
  49. data/core/range.rbs +885 -160
  50. data/core/rational.rbs +122 -6
  51. data/core/rb_config.rbs +14 -4
  52. data/core/refinement.rbs +44 -0
  53. data/core/regexp.rbs +156 -14
  54. data/core/ruby_vm.rbs +42 -3
  55. data/core/signal.rbs +78 -39
  56. data/core/string.rbs +2123 -567
  57. data/core/string_io.rbs +204 -0
  58. data/core/struct.rbs +283 -28
  59. data/core/symbol.rbs +304 -30
  60. data/core/thread.rbs +1288 -688
  61. data/core/thread_group.rbs +66 -10
  62. data/core/time.rbs +643 -217
  63. data/core/trace_point.rbs +100 -12
  64. data/core/true_class.rbs +24 -0
  65. data/core/unbound_method.rbs +73 -7
  66. data/core/warning.rbs +37 -12
  67. data/docs/CONTRIBUTING.md +40 -34
  68. data/docs/stdlib.md +3 -102
  69. data/lib/rbs/annotate/annotations.rb +197 -0
  70. data/lib/rbs/annotate/formatter.rb +80 -0
  71. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  72. data/lib/rbs/annotate/rdoc_source.rb +120 -0
  73. data/lib/rbs/annotate.rb +6 -0
  74. data/lib/rbs/cli.rb +45 -1
  75. data/lib/rbs/definition_builder.rb +5 -1
  76. data/lib/rbs/location_aux.rb +12 -0
  77. data/lib/rbs/prototype/rb.rb +12 -0
  78. data/lib/rbs/version.rb +1 -1
  79. data/sig/annotate/annotations.rbs +102 -0
  80. data/sig/annotate/formatter.rbs +24 -0
  81. data/sig/annotate/rdoc_annotater.rbs +82 -0
  82. data/sig/annotate/rdoc_source.rbs +30 -0
  83. data/sig/cli.rbs +2 -0
  84. data/sig/collection/{collections.rbs → sources.rbs} +0 -0
  85. data/sig/location.rbs +6 -0
  86. data/sig/method_types.rbs +5 -1
  87. data/sig/polyfill.rbs +78 -0
  88. data/stdlib/abbrev/0/abbrev.rbs +6 -0
  89. data/stdlib/abbrev/0/array.rbs +26 -0
  90. data/stdlib/base64/0/base64.rbs +31 -0
  91. data/stdlib/benchmark/0/benchmark.rbs +74 -3
  92. data/stdlib/bigdecimal/0/big_decimal.rbs +614 -165
  93. data/stdlib/bigdecimal-math/0/big_math.rbs +41 -64
  94. data/stdlib/cgi/0/core.rbs +59 -0
  95. data/stdlib/coverage/0/coverage.rbs +164 -2
  96. data/stdlib/csv/0/csv.rbs +2862 -398
  97. data/stdlib/date/0/date.rbs +483 -25
  98. data/stdlib/date/0/date_time.rbs +187 -12
  99. data/stdlib/dbm/0/dbm.rbs +152 -17
  100. data/stdlib/digest/0/digest.rbs +146 -0
  101. data/stdlib/erb/0/erb.rbs +65 -245
  102. data/stdlib/fiber/0/fiber.rbs +73 -91
  103. data/stdlib/fileutils/0/fileutils.rbs +301 -1
  104. data/stdlib/find/0/find.rbs +9 -0
  105. data/stdlib/forwardable/0/forwardable.rbs +65 -1
  106. data/stdlib/io-console/0/io-console.rbs +227 -15
  107. data/stdlib/ipaddr/0/ipaddr.rbs +161 -0
  108. data/stdlib/json/0/json.rbs +1146 -144
  109. data/stdlib/logger/0/formatter.rbs +24 -0
  110. data/stdlib/logger/0/log_device.rbs +64 -0
  111. data/stdlib/logger/0/logger.rbs +165 -13
  112. data/stdlib/logger/0/period.rbs +10 -0
  113. data/stdlib/logger/0/severity.rbs +26 -0
  114. data/stdlib/monitor/0/monitor.rbs +163 -0
  115. data/stdlib/mutex_m/0/mutex_m.rbs +35 -6
  116. data/stdlib/net-http/0/net-http.rbs +1492 -683
  117. data/stdlib/nkf/0/nkf.rbs +372 -0
  118. data/stdlib/objspace/0/objspace.rbs +149 -90
  119. data/stdlib/openssl/0/openssl.rbs +8108 -71
  120. data/stdlib/optparse/0/optparse.rbs +487 -19
  121. data/stdlib/pathname/0/pathname.rbs +425 -124
  122. data/stdlib/prettyprint/0/prettyprint.rbs +120 -99
  123. data/stdlib/prime/0/integer-extension.rbs +20 -2
  124. data/stdlib/prime/0/prime.rbs +88 -21
  125. data/stdlib/pstore/0/pstore.rbs +102 -0
  126. data/stdlib/pty/0/pty.rbs +64 -14
  127. data/stdlib/resolv/0/resolv.rbs +420 -31
  128. data/stdlib/rubygems/0/basic_specification.rbs +4 -1
  129. data/stdlib/rubygems/0/config_file.rbs +33 -1
  130. data/stdlib/rubygems/0/dependency_installer.rbs +4 -3
  131. data/stdlib/rubygems/0/installer.rbs +13 -1
  132. data/stdlib/rubygems/0/path_support.rbs +4 -1
  133. data/stdlib/rubygems/0/platform.rbs +5 -1
  134. data/stdlib/rubygems/0/request_set.rbs +44 -2
  135. data/stdlib/rubygems/0/requirement.rbs +65 -2
  136. data/stdlib/rubygems/0/rubygems.rbs +407 -0
  137. data/stdlib/rubygems/0/source_list.rbs +13 -0
  138. data/stdlib/rubygems/0/specification.rbs +21 -1
  139. data/stdlib/rubygems/0/stream_ui.rbs +3 -1
  140. data/stdlib/rubygems/0/uninstaller.rbs +8 -1
  141. data/stdlib/rubygems/0/version.rbs +60 -157
  142. data/stdlib/securerandom/0/securerandom.rbs +44 -0
  143. data/stdlib/set/0/set.rbs +420 -106
  144. data/stdlib/shellwords/0/shellwords.rbs +55 -77
  145. data/stdlib/singleton/0/singleton.rbs +20 -0
  146. data/stdlib/socket/0/addrinfo.rbs +210 -9
  147. data/stdlib/socket/0/basic_socket.rbs +103 -11
  148. data/stdlib/socket/0/ip_socket.rbs +31 -9
  149. data/stdlib/socket/0/socket.rbs +586 -38
  150. data/stdlib/socket/0/tcp_server.rbs +22 -2
  151. data/stdlib/socket/0/tcp_socket.rbs +12 -1
  152. data/stdlib/socket/0/udp_socket.rbs +25 -2
  153. data/stdlib/socket/0/unix_server.rbs +22 -2
  154. data/stdlib/socket/0/unix_socket.rbs +45 -5
  155. data/stdlib/strscan/0/string_scanner.rbs +210 -9
  156. data/stdlib/tempfile/0/tempfile.rbs +58 -10
  157. data/stdlib/time/0/time.rbs +208 -116
  158. data/stdlib/timeout/0/timeout.rbs +10 -0
  159. data/stdlib/tmpdir/0/tmpdir.rbs +13 -4
  160. data/stdlib/tsort/0/cyclic.rbs +1 -0
  161. data/stdlib/tsort/0/interfaces.rbs +1 -0
  162. data/stdlib/tsort/0/tsort.rbs +42 -0
  163. data/stdlib/uri/0/common.rbs +57 -8
  164. data/stdlib/uri/0/file.rbs +55 -109
  165. data/stdlib/uri/0/ftp.rbs +6 -3
  166. data/stdlib/uri/0/generic.rbs +556 -327
  167. data/stdlib/uri/0/http.rbs +26 -115
  168. data/stdlib/uri/0/https.rbs +8 -102
  169. data/stdlib/uri/0/ldap.rbs +143 -137
  170. data/stdlib/uri/0/ldaps.rbs +8 -102
  171. data/stdlib/uri/0/mailto.rbs +3 -0
  172. data/stdlib/uri/0/rfc2396_parser.rbs +66 -26
  173. data/stdlib/uri/0/ws.rbs +6 -3
  174. data/stdlib/uri/0/wss.rbs +5 -3
  175. data/stdlib/yaml/0/dbm.rbs +151 -87
  176. data/stdlib/yaml/0/store.rbs +6 -0
  177. data/stdlib/zlib/0/zlib.rbs +90 -31
  178. metadata +17 -5
  179. data/lib/rbs/location.rb +0 -221
@@ -1,3 +1,4 @@
1
+ # <!-- rdoc-file=ext/strscan/strscan.c -->
1
2
  # StringScanner provides for lexical scanning operations on a String. Here is
2
3
  # an example of its usage:
3
4
  #
@@ -66,7 +67,7 @@
66
67
  #
67
68
  # ### Finding Where we Are
68
69
  #
69
- # * #beginning_of_line? (#bol?)
70
+ # * #beginning_of_line? (`#bol?`)
70
71
  # * #eos?
71
72
  # * #rest?
72
73
  # * #rest_size
@@ -85,16 +86,14 @@
85
86
  # * #matched
86
87
  # * #matched?
87
88
  # * #matched_size
88
- #
89
- #
90
- # :
89
+ # * `#[]`
91
90
  # * #pre_match
92
91
  # * #post_match
93
92
  #
94
93
  #
95
94
  # ### Miscellaneous
96
95
  #
97
- # * <<
96
+ # * `<<`
98
97
  # * #concat
99
98
  # * #string
100
99
  # * #string=
@@ -102,13 +101,19 @@
102
101
  #
103
102
  #
104
103
  # There are aliases to several of the methods.
104
+ #
105
105
  class StringScanner
106
+ # <!--
107
+ # rdoc-file=ext/strscan/strscan.c
108
+ # - StringScanner.must_C_version
109
+ # -->
106
110
  # This method is defined for backward compatibility.
107
111
  #
108
112
  def self.must_C_version: () -> self
109
113
 
110
114
  public
111
115
 
116
+ # <!-- rdoc-file=ext/strscan/strscan.c -->
112
117
  # Appends `str` to the string being scanned. This method does not affect scan
113
118
  # pointer.
114
119
  #
@@ -120,6 +125,10 @@ class StringScanner
120
125
  #
121
126
  def <<: (String) -> self
122
127
 
128
+ # <!--
129
+ # rdoc-file=ext/strscan/strscan.c
130
+ # - [](n)
131
+ # -->
123
132
  # Returns the n-th subgroup in the most recent match.
124
133
  #
125
134
  # s = StringScanner.new("Fri Dec 12 1975 14:39")
@@ -145,7 +154,12 @@ class StringScanner
145
154
  #
146
155
  def []: (Integer) -> String?
147
156
 
148
- # Returns `true` iff the scan pointer is at the beginning of the line.
157
+ # <!--
158
+ # rdoc-file=ext/strscan/strscan.c
159
+ # - beginning_of_line?()
160
+ # -->
161
+ # Returns `true` if and only if the scan pointer is at the beginning of the
162
+ # line.
149
163
  #
150
164
  # s = StringScanner.new("test\ntest\n")
151
165
  # s.bol? # => true
@@ -160,6 +174,10 @@ class StringScanner
160
174
 
161
175
  alias bol? beginning_of_line?
162
176
 
177
+ # <!--
178
+ # rdoc-file=ext/strscan/strscan.c
179
+ # - captures
180
+ # -->
163
181
  # Returns the subgroups in the most recent match (not including the full match).
164
182
  # If nothing was priorly matched, it returns nil.
165
183
  #
@@ -171,6 +189,10 @@ class StringScanner
171
189
  #
172
190
  def captures: () -> Array[String]?
173
191
 
192
+ # <!--
193
+ # rdoc-file=ext/strscan/strscan.c
194
+ # - charpos()
195
+ # -->
174
196
  # Returns the character position of the scan pointer. In the 'reset' position,
175
197
  # this value is zero. In the 'terminated' position (i.e. the string is
176
198
  # exhausted), this value is the size of the string.
@@ -185,6 +207,10 @@ class StringScanner
185
207
  #
186
208
  def charpos: () -> Integer
187
209
 
210
+ # <!--
211
+ # rdoc-file=ext/strscan/strscan.c
212
+ # - check(pattern)
213
+ # -->
188
214
  # This returns the value that #scan would return, without advancing the scan
189
215
  # pointer. The match register is affected, though.
190
216
  #
@@ -199,6 +225,10 @@ class StringScanner
199
225
  #
200
226
  def check: (Regexp) -> String?
201
227
 
228
+ # <!--
229
+ # rdoc-file=ext/strscan/strscan.c
230
+ # - check_until(pattern)
231
+ # -->
202
232
  # This returns the value that #scan_until would return, without advancing the
203
233
  # scan pointer. The match register is affected, though.
204
234
  #
@@ -211,16 +241,42 @@ class StringScanner
211
241
  #
212
242
  def check_until: (Regexp) -> String
213
243
 
244
+ # <!--
245
+ # rdoc-file=ext/strscan/strscan.c
246
+ # - clear()
247
+ # -->
214
248
  # Equivalent to #terminate. This method is obsolete; use #terminate instead.
215
249
  #
216
250
  def clear: () -> void
217
251
 
252
+ # <!--
253
+ # rdoc-file=ext/strscan/strscan.c
254
+ # - concat(str)
255
+ # - <<(str)
256
+ # -->
257
+ # Appends `str` to the string being scanned. This method does not affect scan
258
+ # pointer.
259
+ #
260
+ # s = StringScanner.new("Fri Dec 12 1975 14:39")
261
+ # s.scan(/Fri /)
262
+ # s << " +1000 GMT"
263
+ # s.string # -> "Fri Dec 12 1975 14:39 +1000 GMT"
264
+ # s.scan(/Dec/) # -> "Dec"
265
+ #
218
266
  alias concat <<
219
267
 
268
+ # <!--
269
+ # rdoc-file=ext/strscan/strscan.c
270
+ # - empty?()
271
+ # -->
220
272
  # Equivalent to #eos?. This method is obsolete, use #eos? instead.
221
273
  #
222
274
  def empty?: () -> bool
223
275
 
276
+ # <!--
277
+ # rdoc-file=ext/strscan/strscan.c
278
+ # - eos?()
279
+ # -->
224
280
  # Returns `true` if the scan pointer is at the end of the string.
225
281
  #
226
282
  # s = StringScanner.new('test string')
@@ -232,6 +288,10 @@ class StringScanner
232
288
  #
233
289
  def eos?: () -> bool
234
290
 
291
+ # <!--
292
+ # rdoc-file=ext/strscan/strscan.c
293
+ # - exist?(pattern)
294
+ # -->
235
295
  # Looks *ahead* to see if the `pattern` exists *anywhere* in the string, without
236
296
  # advancing the scan pointer. This predicates whether a #scan_until will return
237
297
  # a value.
@@ -244,6 +304,10 @@ class StringScanner
244
304
  #
245
305
  def exist?: (Regexp) -> Integer?
246
306
 
307
+ # <!--
308
+ # rdoc-file=ext/strscan/strscan.c
309
+ # - scanner.fixed_anchor? -> true or false
310
+ # -->
247
311
  # Whether `scanner` uses fixed anchor mode or not.
248
312
  #
249
313
  # If fixed anchor mode is used, `\A` always matches the beginning of the string.
@@ -251,6 +315,10 @@ class StringScanner
251
315
  #
252
316
  def fixed_anchor?: () -> bool
253
317
 
318
+ # <!--
319
+ # rdoc-file=ext/strscan/strscan.c
320
+ # - get_byte()
321
+ # -->
254
322
  # Scans one byte and returns it. This method is not multibyte character
255
323
  # sensitive. See also: #getch.
256
324
  #
@@ -266,10 +334,18 @@ class StringScanner
266
334
  #
267
335
  def get_byte: () -> String?
268
336
 
337
+ # <!--
338
+ # rdoc-file=ext/strscan/strscan.c
339
+ # - getbyte()
340
+ # -->
269
341
  # Equivalent to #get_byte. This method is obsolete; use #get_byte instead.
270
342
  #
271
343
  def getbyte: () -> String?
272
344
 
345
+ # <!--
346
+ # rdoc-file=ext/strscan/strscan.c
347
+ # - getch()
348
+ # -->
273
349
  # Scans one character and returns it. This method is multibyte character
274
350
  # sensitive.
275
351
  #
@@ -284,6 +360,10 @@ class StringScanner
284
360
  #
285
361
  def getch: () -> String?
286
362
 
363
+ # <!--
364
+ # rdoc-file=ext/strscan/strscan.c
365
+ # - inspect()
366
+ # -->
287
367
  # Returns a string that represents the StringScanner object, showing:
288
368
  # * the current position
289
369
  # * the size of the string
@@ -296,6 +376,10 @@ class StringScanner
296
376
  #
297
377
  def inspect: () -> String
298
378
 
379
+ # <!--
380
+ # rdoc-file=ext/strscan/strscan.c
381
+ # - match?(pattern)
382
+ # -->
299
383
  # Tests whether the given `pattern` is matched from the current scan pointer.
300
384
  # Returns the length of the match, or `nil`. The scan pointer is not advanced.
301
385
  #
@@ -307,6 +391,10 @@ class StringScanner
307
391
  #
308
392
  def match?: (Regexp) -> Integer?
309
393
 
394
+ # <!--
395
+ # rdoc-file=ext/strscan/strscan.c
396
+ # - matched()
397
+ # -->
310
398
  # Returns the last matched string.
311
399
  #
312
400
  # s = StringScanner.new('test string')
@@ -315,7 +403,11 @@ class StringScanner
315
403
  #
316
404
  def matched: () -> String?
317
405
 
318
- # Returns `true` iff the last match was successful.
406
+ # <!--
407
+ # rdoc-file=ext/strscan/strscan.c
408
+ # - matched?()
409
+ # -->
410
+ # Returns `true` if and only if the last match was successful.
319
411
  #
320
412
  # s = StringScanner.new('test string')
321
413
  # s.match?(/\w+/) # => 4
@@ -325,6 +417,10 @@ class StringScanner
325
417
  #
326
418
  def matched?: () -> bool
327
419
 
420
+ # <!--
421
+ # rdoc-file=ext/strscan/strscan.c
422
+ # - matched_size()
423
+ # -->
328
424
  # Returns the size of the most recent match in bytes, or `nil` if there was no
329
425
  # recent match. This is different than `matched.size`, which will return the
330
426
  # size in characters.
@@ -337,6 +433,10 @@ class StringScanner
337
433
  #
338
434
  def matched_size: () -> Integer?
339
435
 
436
+ # <!--
437
+ # rdoc-file=ext/strscan/strscan.c
438
+ # - peek(len)
439
+ # -->
340
440
  # Extracts a string corresponding to `string[pos,len]`, without advancing the
341
441
  # scan pointer.
342
442
  #
@@ -346,10 +446,15 @@ class StringScanner
346
446
  #
347
447
  def peek: (Integer) -> String
348
448
 
449
+ # <!--
450
+ # rdoc-file=ext/strscan/strscan.c
451
+ # - peep(p1)
452
+ # -->
349
453
  # Equivalent to #peek. This method is obsolete; use #peek instead.
350
454
  #
351
455
  def peep: (Integer) -> String
352
456
 
457
+ # <!-- rdoc-file=ext/strscan/strscan.c -->
353
458
  # Returns the byte position of the scan pointer. In the 'reset' position, this
354
459
  # value is zero. In the 'terminated' position (i.e. the string is exhausted),
355
460
  # this value is the bytesize of the string.
@@ -365,6 +470,7 @@ class StringScanner
365
470
  #
366
471
  def pointer: () -> Integer
367
472
 
473
+ # <!-- rdoc-file=ext/strscan/strscan.c -->
368
474
  # Sets the byte position of the scan pointer.
369
475
  #
370
476
  # s = StringScanner.new('test string')
@@ -373,6 +479,10 @@ class StringScanner
373
479
  #
374
480
  def pointer=: (Integer) -> Integer
375
481
 
482
+ # <!--
483
+ # rdoc-file=ext/strscan/strscan.c
484
+ # - pos()
485
+ # -->
376
486
  # Returns the byte position of the scan pointer. In the 'reset' position, this
377
487
  # value is zero. In the 'terminated' position (i.e. the string is exhausted),
378
488
  # this value is the bytesize of the string.
@@ -388,6 +498,10 @@ class StringScanner
388
498
  #
389
499
  def pos: () -> Integer
390
500
 
501
+ # <!--
502
+ # rdoc-file=ext/strscan/strscan.c
503
+ # - pos=(n)
504
+ # -->
391
505
  # Sets the byte position of the scan pointer.
392
506
  #
393
507
  # s = StringScanner.new('test string')
@@ -396,6 +510,10 @@ class StringScanner
396
510
  #
397
511
  def pos=: (Integer) -> Integer
398
512
 
513
+ # <!--
514
+ # rdoc-file=ext/strscan/strscan.c
515
+ # - post_match()
516
+ # -->
399
517
  # Returns the ***post**-match* (in the regular expression sense) of the last
400
518
  # scan.
401
519
  #
@@ -407,6 +525,10 @@ class StringScanner
407
525
  #
408
526
  def post_match: () -> String
409
527
 
528
+ # <!--
529
+ # rdoc-file=ext/strscan/strscan.c
530
+ # - pre_match()
531
+ # -->
410
532
  # Returns the ***pre**-match* (in the regular expression sense) of the last
411
533
  # scan.
412
534
  #
@@ -418,17 +540,29 @@ class StringScanner
418
540
  #
419
541
  def pre_match: () -> String
420
542
 
543
+ # <!--
544
+ # rdoc-file=ext/strscan/strscan.c
545
+ # - reset()
546
+ # -->
421
547
  # Reset the scan pointer (index 0) and clear matching data.
422
548
  #
423
549
  def reset: () -> void
424
550
 
551
+ # <!--
552
+ # rdoc-file=ext/strscan/strscan.c
553
+ # - rest()
554
+ # -->
425
555
  # Returns the "rest" of the string (i.e. everything after the scan pointer). If
426
556
  # there is no more data (eos? = true), it returns `""`.
427
557
  #
428
558
  def rest: () -> String
429
559
 
430
- # Returns true iff there is more data in the string. See #eos?. This method is
431
- # obsolete; use #eos? instead.
560
+ # <!--
561
+ # rdoc-file=ext/strscan/strscan.c
562
+ # - rest?()
563
+ # -->
564
+ # Returns true if and only if there is more data in the string. See #eos?. This
565
+ # method is obsolete; use #eos? instead.
432
566
  #
433
567
  # s = StringScanner.new('test string')
434
568
  # s.eos? # These two
@@ -436,15 +570,27 @@ class StringScanner
436
570
  #
437
571
  def rest?: () -> bool
438
572
 
573
+ # <!--
574
+ # rdoc-file=ext/strscan/strscan.c
575
+ # - rest_size()
576
+ # -->
439
577
  # `s.rest_size` is equivalent to `s.rest.size`.
440
578
  #
441
579
  def rest_size: () -> Integer
442
580
 
581
+ # <!--
582
+ # rdoc-file=ext/strscan/strscan.c
583
+ # - restsize()
584
+ # -->
443
585
  # `s.restsize` is equivalent to `s.rest_size`. This method is obsolete; use
444
586
  # #rest_size instead.
445
587
  #
446
588
  def restsize: () -> Integer
447
589
 
590
+ # <!--
591
+ # rdoc-file=ext/strscan/strscan.c
592
+ # - scan(pattern) => String
593
+ # -->
448
594
  # Tries to match with `pattern` at the current position. If there's a match, the
449
595
  # scanner advances the "scan pointer" and returns the matched string. Otherwise,
450
596
  # the scanner returns `nil`.
@@ -459,6 +605,10 @@ class StringScanner
459
605
  #
460
606
  def scan: (Regexp) -> String?
461
607
 
608
+ # <!--
609
+ # rdoc-file=ext/strscan/strscan.c
610
+ # - scan_full(pattern, advance_pointer_p, return_string_p)
611
+ # -->
462
612
  # Tests whether the given `pattern` is matched from the current scan pointer.
463
613
  # Advances the scan pointer if `advance_pointer_p` is true. Returns the matched
464
614
  # string if `return_string_p` is true. The match register is affected.
@@ -467,6 +617,10 @@ class StringScanner
467
617
  #
468
618
  def scan_full: (Regexp pattern, bool advance_pointer_p, bool return_string_p) -> untyped
469
619
 
620
+ # <!--
621
+ # rdoc-file=ext/strscan/strscan.c
622
+ # - scan_until(pattern)
623
+ # -->
470
624
  # Scans the string *until* the `pattern` is matched. Returns the substring up
471
625
  # to and including the end of the match, advancing the scan pointer to that
472
626
  # location. If there is no match, `nil` is returned.
@@ -478,6 +632,10 @@ class StringScanner
478
632
  #
479
633
  def scan_until: (Regexp) -> String?
480
634
 
635
+ # <!--
636
+ # rdoc-file=ext/strscan/strscan.c
637
+ # - search_full(pattern, advance_pointer_p, return_string_p)
638
+ # -->
481
639
  # Scans the string *until* the `pattern` is matched. Advances the scan pointer
482
640
  # if `advance_pointer_p`, otherwise not. Returns the matched string if
483
641
  # `return_string_p` is true, otherwise returns the number of bytes advanced.
@@ -485,6 +643,10 @@ class StringScanner
485
643
  #
486
644
  def search_full: (Regexp pattern, bool advance_pointer_p, bool return_string_p) -> untyped
487
645
 
646
+ # <!--
647
+ # rdoc-file=ext/strscan/strscan.c
648
+ # - size
649
+ # -->
488
650
  # Returns the amount of subgroups in the most recent match. The full match
489
651
  # counts as a subgroup.
490
652
  #
@@ -494,6 +656,10 @@ class StringScanner
494
656
  #
495
657
  def size: () -> Integer
496
658
 
659
+ # <!--
660
+ # rdoc-file=ext/strscan/strscan.c
661
+ # - skip(pattern)
662
+ # -->
497
663
  # Attempts to skip over the given `pattern` beginning with the scan pointer. If
498
664
  # it matches, the scan pointer is advanced to the end of the match, and the
499
665
  # length of the match is returned. Otherwise, `nil` is returned.
@@ -510,6 +676,10 @@ class StringScanner
510
676
  #
511
677
  def skip: (Regexp) -> Integer?
512
678
 
679
+ # <!--
680
+ # rdoc-file=ext/strscan/strscan.c
681
+ # - skip_until(pattern)
682
+ # -->
513
683
  # Advances the scan pointer until `pattern` is matched and consumed. Returns
514
684
  # the number of bytes advanced, or `nil` if no match was found.
515
685
  #
@@ -525,19 +695,36 @@ class StringScanner
525
695
  #
526
696
  def skip_until: (Regexp) -> Integer?
527
697
 
698
+ # <!--
699
+ # rdoc-file=ext/strscan/strscan.c
700
+ # - string()
701
+ # -->
528
702
  # Returns the string being scanned.
529
703
  #
530
704
  def string: () -> String
531
705
 
706
+ # <!--
707
+ # rdoc-file=ext/strscan/strscan.c
708
+ # - string=(str)
709
+ # -->
532
710
  # Changes the string being scanned to `str` and resets the scanner. Returns
533
711
  # `str`.
534
712
  #
535
713
  def string=: (String) -> String
536
714
 
715
+ # <!--
716
+ # rdoc-file=ext/strscan/strscan.c
717
+ # - terminate
718
+ # - clear
719
+ # -->
537
720
  # Sets the scan pointer to the end of the string and clear matching data.
538
721
  #
539
722
  def terminate: () -> void
540
723
 
724
+ # <!--
725
+ # rdoc-file=ext/strscan/strscan.c
726
+ # - unscan()
727
+ # -->
541
728
  # Sets the scan pointer to the previous position. Only one previous position is
542
729
  # remembered, and it changes with each scanning operation.
543
730
  #
@@ -550,6 +737,10 @@ class StringScanner
550
737
  #
551
738
  def unscan: () -> void
552
739
 
740
+ # <!--
741
+ # rdoc-file=ext/strscan/strscan.c
742
+ # - scanner.values_at( i1, i2, ... iN ) -> an_array
743
+ # -->
553
744
  # Returns the subgroups in the most recent match at the given indices. If
554
745
  # nothing was priorly matched, it returns nil.
555
746
  #
@@ -563,6 +754,11 @@ class StringScanner
563
754
 
564
755
  private
565
756
 
757
+ # <!--
758
+ # rdoc-file=ext/strscan/strscan.c
759
+ # - StringScanner.new(string, fixed_anchor: false)
760
+ # - StringScanner.new(string, dup = false)
761
+ # -->
566
762
  # Creates a new StringScanner object to scan over the given `string`.
567
763
  #
568
764
  # If `fixed_anchor` is `true`, `\A` always matches the beginning of the string.
@@ -572,6 +768,11 @@ class StringScanner
572
768
  #
573
769
  def initialize: (String, ?bool dup, ?fixed_anchor: bool) -> untyped
574
770
 
771
+ # <!--
772
+ # rdoc-file=ext/strscan/strscan.c
773
+ # - dup
774
+ # - clone
775
+ # -->
575
776
  # Duplicates a StringScanner object.
576
777
  #
577
778
  def initialize_copy: (StringScanner) -> void
@@ -1,3 +1,4 @@
1
+ # <!-- rdoc-file=lib/tempfile.rb -->
1
2
  # A utility class for managing temporary files. When you create a Tempfile
2
3
  # object, it will create a temporary file with a unique filename. A Tempfile
3
4
  # objects behaves just like a File object, and you can perform all the usual
@@ -25,12 +26,12 @@
25
26
  # ### Explicit close
26
27
  #
27
28
  # When a Tempfile object is garbage collected, or when the Ruby interpreter
28
- # exits, its associated temporary file is automatically deleted. This means
29
- # that's it's unnecessary to explicitly delete a Tempfile after use, though it's
30
- # good practice to do so: not explicitly deleting unused Tempfiles can
31
- # potentially leave behind large amounts of tempfiles on the filesystem until
32
- # they're garbage collected. The existence of these temp files can make it
33
- # harder to determine a new Tempfile filename.
29
+ # exits, its associated temporary file is automatically deleted. This means that
30
+ # it's unnecessary to explicitly delete a Tempfile after use, though it's a good
31
+ # practice to do so: not explicitly deleting unused Tempfiles can potentially
32
+ # leave behind a large number of temp files on the filesystem until they're
33
+ # garbage collected. The existence of these temp files can make it harder to
34
+ # determine a new Tempfile filename.
34
35
  #
35
36
  # Therefore, one should always call #unlink or close in an ensure block, like
36
37
  # this:
@@ -75,7 +76,12 @@
75
76
  # Tempfile itself however may not be entirely thread-safe. If you access the
76
77
  # same Tempfile object from multiple threads then you should protect it with a
77
78
  # mutex.
79
+ #
78
80
  class Tempfile < File
81
+ # <!--
82
+ # rdoc-file=lib/tempfile.rb
83
+ # - create(basename="", tmpdir=nil, mode: 0, **options) { |tmpfile| ... }
84
+ # -->
79
85
  # Creates a temporary file as a usual File object (not a Tempfile). It does not
80
86
  # use finalizer and delegation, which makes it more efficient and reliable.
81
87
  #
@@ -95,9 +101,13 @@ class Tempfile < File
95
101
  # # ... do something with f ...
96
102
  # end
97
103
  #
98
- def self.create: (?(String | [String, String]) basename, ?String? tmpdir, ?mode: Integer, **untyped) -> File
99
- | [A] (?(String | [String, String]) basename, ?String? tmpdir, ?mode: Integer, **untyped) { (File) -> A } -> A
104
+ def self.create: (?String | [ String, String ] basename, ?String? tmpdir, ?mode: Integer, **untyped) -> File
105
+ | [A] (?String | [ String, String ] basename, ?String? tmpdir, ?mode: Integer, **untyped) { (File) -> A } -> A
100
106
 
107
+ # <!--
108
+ # rdoc-file=lib/tempfile.rb
109
+ # - open(*args, **kw) { |tempfile| ... }
110
+ # -->
101
111
  # Creates a new Tempfile.
102
112
  #
103
113
  # This method is not recommended and exists mostly for backward compatibility.
@@ -140,6 +150,10 @@ class Tempfile < File
140
150
 
141
151
  public
142
152
 
153
+ # <!--
154
+ # rdoc-file=lib/tempfile.rb
155
+ # - close(unlink_now=false)
156
+ # -->
143
157
  # Closes the file. If `unlink_now` is true, then the file will be unlinked
144
158
  # (deleted) after closing. Of course, you can choose to later call #unlink if
145
159
  # you do not unlink it now.
@@ -149,31 +163,61 @@ class Tempfile < File
149
163
  #
150
164
  def close: (?boolish unlink_now) -> void
151
165
 
166
+ # <!--
167
+ # rdoc-file=lib/tempfile.rb
168
+ # - close!()
169
+ # -->
152
170
  # Closes and unlinks (deletes) the file. Has the same effect as called
153
171
  # `close(true)`.
154
172
  #
155
173
  def close!: () -> void
156
174
 
175
+ # <!--
176
+ # rdoc-file=lib/tempfile.rb
177
+ # - delete()
178
+ # -->
179
+ #
157
180
  alias delete unlink
158
181
 
159
182
  def inspect: () -> String
160
183
 
184
+ # <!--
185
+ # rdoc-file=lib/tempfile.rb
186
+ # - length()
187
+ # -->
188
+ #
161
189
  alias length size
162
190
 
191
+ # <!--
192
+ # rdoc-file=lib/tempfile.rb
193
+ # - open()
194
+ # -->
163
195
  # Opens or reopens the file with mode "r+".
164
196
  #
165
197
  def open: () -> File
166
198
 
199
+ # <!--
200
+ # rdoc-file=lib/tempfile.rb
201
+ # - path()
202
+ # -->
167
203
  # Returns the full path name of the temporary file. This will be nil if #unlink
168
204
  # has been called.
169
205
  #
170
206
  def path: () -> String?
171
207
 
208
+ # <!--
209
+ # rdoc-file=lib/tempfile.rb
210
+ # - size()
211
+ # -->
172
212
  # Returns the size of the temporary file. As a side effect, the IO buffer is
173
213
  # flushed before determining the size.
174
214
  #
175
215
  def size: () -> Integer
176
216
 
217
+ # <!--
218
+ # rdoc-file=lib/tempfile.rb
219
+ # - unlink()
220
+ # -->
177
221
  # Unlinks (deletes) the file from the filesystem. One should always unlink the
178
222
  # file after using it, as is explained in the "Explicit close" good practice
179
223
  # section in the Tempfile overview:
@@ -220,6 +264,10 @@ class Tempfile < File
220
264
  def initialize: (::Tempfile tmpfile) -> void
221
265
  end
222
266
 
267
+ # <!--
268
+ # rdoc-file=lib/tempfile.rb
269
+ # - new(basename="", tmpdir=nil, mode: 0, **options)
270
+ # -->
223
271
  # Creates a temporary file with permissions 0600 (= only readable and writable
224
272
  # by the owner) and opens it with mode "w+".
225
273
  #
@@ -263,6 +311,6 @@ class Tempfile < File
263
311
  # If Tempfile.new cannot find a unique filename within a limited number of
264
312
  # tries, then it will raise an exception.
265
313
  #
266
- def self.new: (?(String | [String, String]) basename, ?String? tmpdir, ?mode: Integer, **untyped) -> instance
267
- | [A] (?(String | [String, String]) basename, ?String? tmpdir, ?mode: Integer, **untyped) { (instance) -> A } -> A
314
+ def self.new: (?String | [ String, String ] basename, ?String? tmpdir, ?mode: Integer, **untyped) -> instance
315
+ | [A] (?String | [ String, String ] basename, ?String? tmpdir, ?mode: Integer, **untyped) { (instance) -> A } -> A
268
316
  end