rigortype 0.3.0 → 0.3.1

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/data/builtins/ruby_core/array.yml +416 -392
  4. data/data/builtins/ruby_core/file.yml +42 -42
  5. data/data/builtins/ruby_core/hash.yml +302 -302
  6. data/data/builtins/ruby_core/io.yml +191 -191
  7. data/data/builtins/ruby_core/numeric.yml +321 -366
  8. data/data/builtins/ruby_core/proc.yml +124 -124
  9. data/data/builtins/ruby_core/range.yml +21 -21
  10. data/data/builtins/ruby_core/rational.yml +39 -39
  11. data/data/builtins/ruby_core/re.yml +65 -65
  12. data/data/builtins/ruby_core/set.yml +106 -106
  13. data/data/builtins/ruby_core/struct.yml +14 -14
  14. data/data/core_overlay/string_scanner.rbs +6 -5
  15. data/docs/handbook/01-getting-started.md +22 -34
  16. data/docs/handbook/06-classes.md +1 -1
  17. data/docs/handbook/07-rbs-and-extended.md +76 -101
  18. data/docs/handbook/08-understanding-errors.md +114 -247
  19. data/docs/handbook/09-plugins.md +54 -144
  20. data/docs/handbook/README.md +5 -3
  21. data/docs/handbook/appendix-liskov.md +4 -2
  22. data/docs/handbook/appendix-phpstan.md +14 -7
  23. data/docs/handbook/appendix-steep.md +4 -2
  24. data/docs/handbook/appendix-type-theory.md +3 -1
  25. data/docs/manual/02-cli-reference.md +32 -0
  26. data/docs/manual/04-diagnostics.md +36 -4
  27. data/docs/manual/06-baseline.md +35 -1
  28. data/docs/manual/08-skills.md +6 -1
  29. data/docs/manual/09-editor-integration.md +3 -2
  30. data/docs/manual/plugins/rigor-actioncable.md +32 -0
  31. data/docs/manual/plugins/rigor-devise.md +4 -2
  32. data/lib/rigor/analysis/check_rules/void_value_use_collector.rb +21 -2
  33. data/lib/rigor/analysis/check_rules.rb +34 -13
  34. data/lib/rigor/analysis/run_cache_key.rb +10 -0
  35. data/lib/rigor/analysis/runner.rb +2 -1
  36. data/lib/rigor/cache/rbs_cache_producer.rb +11 -1
  37. data/lib/rigor/cache/rbs_environment_marshal_patch.rb +38 -0
  38. data/lib/rigor/cache/store.rb +99 -24
  39. data/lib/rigor/cli/check_command.rb +12 -6
  40. data/lib/rigor/cli/check_invocation.rb +84 -0
  41. data/lib/rigor/cli/doctor_command.rb +6 -8
  42. data/lib/rigor/cli/skill_command.rb +21 -1
  43. data/lib/rigor/cli/skill_deep_probe.rb +172 -0
  44. data/lib/rigor/cli/skill_describe.rb +75 -9
  45. data/lib/rigor/environment/default_libraries.rb +5 -4
  46. data/lib/rigor/environment.rb +10 -1
  47. data/lib/rigor/inference/method_dispatcher/overload_selector.rb +6 -1
  48. data/lib/rigor/language_server/buffer_resolution.rb +6 -3
  49. data/lib/rigor/language_server/buffer_table.rb +46 -6
  50. data/lib/rigor/language_server/diagnostic_publisher.rb +4 -0
  51. data/lib/rigor/language_server/incremental_sync.rb +159 -0
  52. data/lib/rigor/language_server/server.rb +19 -9
  53. data/lib/rigor/language_server.rb +1 -0
  54. data/lib/rigor/plugin/base.rb +29 -2
  55. data/lib/rigor/sig_gen/writer.rb +183 -47
  56. data/lib/rigor/version.rb +1 -1
  57. data/plugins/rigor-actioncable/lib/rigor/plugin/actioncable.rb +51 -1
  58. data/sig/rigor/cache.rbs +6 -0
  59. data/sig/rigor/inference/void_origin.rbs +18 -0
  60. data/sig/rigor/plugin/base.rbs +4 -3
  61. metadata +7 -3
@@ -57,7 +57,7 @@ classes:
57
57
  purity: leaf
58
58
  rbs:
59
59
  - "() -> (File::Stat | nil)"
60
- rbs_at: references/rbs/core/file.rbs:1951
60
+ rbs_at: references/rbs/core/file.rbs:1975
61
61
  atime:
62
62
  source: c
63
63
  cfunc: rb_file_atime
@@ -68,7 +68,7 @@ classes:
68
68
  purity: leaf
69
69
  rbs:
70
70
  - "() -> Time"
71
- rbs_at: references/rbs/core/file.rbs:1848
71
+ rbs_at: references/rbs/core/file.rbs:1872
72
72
  mtime:
73
73
  source: c
74
74
  cfunc: rb_file_mtime
@@ -79,7 +79,7 @@ classes:
79
79
  purity: leaf
80
80
  rbs:
81
81
  - "() -> Time"
82
- rbs_at: references/rbs/core/file.rbs:1961
82
+ rbs_at: references/rbs/core/file.rbs:1985
83
83
  ctime:
84
84
  source: c
85
85
  cfunc: rb_file_ctime
@@ -90,7 +90,7 @@ classes:
90
90
  purity: leaf
91
91
  rbs:
92
92
  - "() -> Time"
93
- rbs_at: references/rbs/core/file.rbs:1901
93
+ rbs_at: references/rbs/core/file.rbs:1925
94
94
  birthtime:
95
95
  source: c
96
96
  cfunc: rb_file_birthtime
@@ -100,7 +100,7 @@ classes:
100
100
  c_body_at: not_found
101
101
  rbs:
102
102
  - "() -> Time"
103
- rbs_at: references/rbs/core/file.rbs:1860
103
+ rbs_at: references/rbs/core/file.rbs:1884
104
104
  size:
105
105
  source: c
106
106
  cfunc: file_size
@@ -111,7 +111,7 @@ classes:
111
111
  purity: leaf
112
112
  rbs:
113
113
  - "() -> Integer"
114
- rbs_at: references/rbs/core/file.rbs:1990
114
+ rbs_at: references/rbs/core/file.rbs:2014
115
115
  chmod:
116
116
  source: c
117
117
  cfunc: rb_file_chmod
@@ -122,7 +122,7 @@ classes:
122
122
  purity: leaf
123
123
  rbs:
124
124
  - "(int mode) -> (0 | nil)"
125
- rbs_at: references/rbs/core/file.rbs:1874
125
+ rbs_at: references/rbs/core/file.rbs:1898
126
126
  chown:
127
127
  source: c
128
128
  cfunc: rb_file_chown
@@ -133,7 +133,7 @@ classes:
133
133
  purity: leaf
134
134
  rbs:
135
135
  - "(int? owner, int? group) -> (0 | nil)"
136
- rbs_at: references/rbs/core/file.rbs:1888
136
+ rbs_at: references/rbs/core/file.rbs:1912
137
137
  truncate:
138
138
  source: c
139
139
  cfunc: rb_file_truncate
@@ -143,7 +143,7 @@ classes:
143
143
  c_body_at: not_found
144
144
  rbs:
145
145
  - "(int length) -> 0"
146
- rbs_at: references/rbs/core/file.rbs:2020
146
+ rbs_at: references/rbs/core/file.rbs:2044
147
147
  flock:
148
148
  source: c
149
149
  cfunc: rb_file_flock
@@ -154,7 +154,7 @@ classes:
154
154
  purity: leaf
155
155
  rbs:
156
156
  - "(int locking_constant) -> (0 | false)"
157
- rbs_at: references/rbs/core/file.rbs:1937
157
+ rbs_at: references/rbs/core/file.rbs:1961
158
158
  singleton_methods:
159
159
  stat:
160
160
  source: c
@@ -166,7 +166,7 @@ classes:
166
166
  purity: leaf
167
167
  rbs:
168
168
  - "(path file_name) -> File::Stat"
169
- rbs_at: references/rbs/core/file.rbs:1681
169
+ rbs_at: references/rbs/core/file.rbs:1705
170
170
  lstat:
171
171
  source: c
172
172
  cfunc: rb_file_s_lstat
@@ -177,7 +177,7 @@ classes:
177
177
  purity: leaf
178
178
  rbs:
179
179
  - "(path file_name) -> File::Stat"
180
- rbs_at: references/rbs/core/file.rbs:1387
180
+ rbs_at: references/rbs/core/file.rbs:1411
181
181
  ftype:
182
182
  source: c
183
183
  cfunc: rb_file_s_ftype
@@ -188,7 +188,7 @@ classes:
188
188
  purity: leaf
189
189
  rbs:
190
190
  - "(path file_name) -> String"
191
- rbs_at: references/rbs/core/file.rbs:1300
191
+ rbs_at: references/rbs/core/file.rbs:1324
192
192
  atime:
193
193
  source: c
194
194
  cfunc: rb_file_s_atime
@@ -199,7 +199,7 @@ classes:
199
199
  purity: leaf
200
200
  rbs:
201
201
  - "(path | IO file_name) -> Time"
202
- rbs_at: references/rbs/core/file.rbs:910
202
+ rbs_at: references/rbs/core/file.rbs:934
203
203
  mtime:
204
204
  source: c
205
205
  cfunc: rb_file_s_mtime
@@ -210,7 +210,7 @@ classes:
210
210
  purity: leaf
211
211
  rbs:
212
212
  - "(path | IO file_name) -> Time"
213
- rbs_at: references/rbs/core/file.rbs:1420
213
+ rbs_at: references/rbs/core/file.rbs:1444
214
214
  ctime:
215
215
  source: c
216
216
  cfunc: rb_file_s_ctime
@@ -221,7 +221,7 @@ classes:
221
221
  purity: leaf
222
222
  rbs:
223
223
  - "(path | IO file_name) -> Time"
224
- rbs_at: references/rbs/core/file.rbs:1004
224
+ rbs_at: references/rbs/core/file.rbs:1028
225
225
  birthtime:
226
226
  source: c
227
227
  cfunc: rb_file_s_birthtime
@@ -231,7 +231,7 @@ classes:
231
231
  c_body_at: not_found
232
232
  rbs:
233
233
  - "(path | IO file_name) -> Time"
234
- rbs_at: references/rbs/core/file.rbs:940
234
+ rbs_at: references/rbs/core/file.rbs:964
235
235
  utime:
236
236
  source: c
237
237
  cfunc: rb_file_s_utime
@@ -242,7 +242,7 @@ classes:
242
242
  purity: leaf
243
243
  rbs:
244
244
  - "(Time | Numeric atime, Time | Numeric mtime, *path file_name) -> Integer"
245
- rbs_at: references/rbs/core/file.rbs:1771
245
+ rbs_at: references/rbs/core/file.rbs:1795
246
246
  chmod:
247
247
  source: c
248
248
  cfunc: rb_file_s_chmod
@@ -253,7 +253,7 @@ classes:
253
253
  purity: leaf
254
254
  rbs:
255
255
  - "(int mode, *path file_name) -> Integer"
256
- rbs_at: references/rbs/core/file.rbs:975
256
+ rbs_at: references/rbs/core/file.rbs:999
257
257
  chown:
258
258
  source: c
259
259
  cfunc: rb_file_s_chown
@@ -264,7 +264,7 @@ classes:
264
264
  purity: leaf
265
265
  rbs:
266
266
  - "(int? owner, int? group, *path file_name) -> Integer"
267
- rbs_at: references/rbs/core/file.rbs:989
267
+ rbs_at: references/rbs/core/file.rbs:1013
268
268
  lchmod:
269
269
  source: c
270
270
  cfunc: rb_file_s_lchmod
@@ -274,7 +274,7 @@ classes:
274
274
  c_body_at: not_found
275
275
  rbs:
276
276
  - "(int mode, *path file_name) -> Integer"
277
- rbs_at: references/rbs/core/file.rbs:1351
277
+ rbs_at: references/rbs/core/file.rbs:1375
278
278
  lchown:
279
279
  source: c
280
280
  cfunc: rb_file_s_lchown
@@ -284,7 +284,7 @@ classes:
284
284
  c_body_at: not_found
285
285
  rbs:
286
286
  - "(int? owner, int? group, *path file_name) -> Integer"
287
- rbs_at: references/rbs/core/file.rbs:1361
287
+ rbs_at: references/rbs/core/file.rbs:1385
288
288
  lutime:
289
289
  source: c
290
290
  cfunc: rb_file_s_lutime
@@ -294,7 +294,7 @@ classes:
294
294
  c_body_at: not_found
295
295
  rbs:
296
296
  - "(Time | Numeric atime, Time | Numeric mtime, *path file_name) -> Integer"
297
- rbs_at: references/rbs/core/file.rbs:1398
297
+ rbs_at: references/rbs/core/file.rbs:1422
298
298
  link:
299
299
  source: c
300
300
  cfunc: rb_file_s_link
@@ -304,7 +304,7 @@ classes:
304
304
  c_body_at: not_found
305
305
  rbs:
306
306
  - "(path old_name, path new_name) -> 0"
307
- rbs_at: references/rbs/core/file.rbs:1374
307
+ rbs_at: references/rbs/core/file.rbs:1398
308
308
  symlink:
309
309
  source: c
310
310
  cfunc: rb_file_s_symlink
@@ -314,7 +314,7 @@ classes:
314
314
  c_body_at: not_found
315
315
  rbs:
316
316
  - "(path old_name, path new_name) -> 0"
317
- rbs_at: references/rbs/core/file.rbs:1703
317
+ rbs_at: references/rbs/core/file.rbs:1727
318
318
  readlink:
319
319
  source: c
320
320
  cfunc: rb_file_s_readlink
@@ -324,7 +324,7 @@ classes:
324
324
  c_body_at: not_found
325
325
  rbs:
326
326
  - "(path link_name) -> String"
327
- rbs_at: references/rbs/core/file.rbs:1568
327
+ rbs_at: references/rbs/core/file.rbs:1592
328
328
  unlink:
329
329
  source: c
330
330
  cfunc: rb_file_s_unlink
@@ -335,7 +335,7 @@ classes:
335
335
  purity: leaf
336
336
  rbs:
337
337
  - "(*path file_name) -> Integer"
338
- rbs_at: references/rbs/core/file.rbs:1760
338
+ rbs_at: references/rbs/core/file.rbs:1784
339
339
  delete:
340
340
  source: c
341
341
  cfunc: rb_file_s_unlink
@@ -354,7 +354,7 @@ classes:
354
354
  purity: leaf
355
355
  rbs:
356
356
  - "(path old_name, path new_name) -> 0"
357
- rbs_at: references/rbs/core/file.rbs:1607
357
+ rbs_at: references/rbs/core/file.rbs:1631
358
358
  umask:
359
359
  source: c
360
360
  cfunc: rb_file_s_umask
@@ -365,7 +365,7 @@ classes:
365
365
  purity: leaf
366
366
  rbs:
367
367
  - "(?int umask) -> Integer"
368
- rbs_at: references/rbs/core/file.rbs:1745
368
+ rbs_at: references/rbs/core/file.rbs:1769
369
369
  truncate:
370
370
  source: c
371
371
  cfunc: rb_file_s_truncate
@@ -375,7 +375,7 @@ classes:
375
375
  c_body_at: not_found
376
376
  rbs:
377
377
  - "(path file_name, int length) -> 0"
378
- rbs_at: references/rbs/core/file.rbs:1730
378
+ rbs_at: references/rbs/core/file.rbs:1754
379
379
  mkfifo:
380
380
  source: c
381
381
  cfunc: rb_file_s_mkfifo
@@ -385,7 +385,7 @@ classes:
385
385
  c_body_at: not_found
386
386
  rbs:
387
387
  - "(path file_name, ?int mode) -> 0"
388
- rbs_at: references/rbs/core/file.rbs:1408
388
+ rbs_at: references/rbs/core/file.rbs:1432
389
389
  expand_path:
390
390
  source: c
391
391
  cfunc: s_expand_path
@@ -396,7 +396,7 @@ classes:
396
396
  purity: leaf
397
397
  rbs:
398
398
  - "(path file_name, ?path dir_string) -> String"
399
- rbs_at: references/rbs/core/file.rbs:1136
399
+ rbs_at: references/rbs/core/file.rbs:1160
400
400
  absolute_path:
401
401
  source: c
402
402
  cfunc: s_absolute_path
@@ -407,7 +407,7 @@ classes:
407
407
  purity: leaf
408
408
  rbs:
409
409
  - "(path file_name, ?path dir_string) -> String"
410
- rbs_at: references/rbs/core/file.rbs:888
410
+ rbs_at: references/rbs/core/file.rbs:912
411
411
  absolute_path?:
412
412
  source: c
413
413
  cfunc: s_absolute_path_p
@@ -418,7 +418,7 @@ classes:
418
418
  purity: leaf
419
419
  rbs:
420
420
  - "(path file_name) -> bool"
421
- rbs_at: references/rbs/core/file.rbs:898
421
+ rbs_at: references/rbs/core/file.rbs:922
422
422
  realpath:
423
423
  source: c
424
424
  cfunc: rb_file_s_realpath
@@ -429,7 +429,7 @@ classes:
429
429
  purity: leaf
430
430
  rbs:
431
431
  - "(path pathname, ?path dir_string) -> String"
432
- rbs_at: references/rbs/core/file.rbs:1596
432
+ rbs_at: references/rbs/core/file.rbs:1620
433
433
  realdirpath:
434
434
  source: c
435
435
  cfunc: rb_file_s_realdirpath
@@ -440,7 +440,7 @@ classes:
440
440
  purity: leaf
441
441
  rbs:
442
442
  - "(path pathname, ?path dir_string) -> String"
443
- rbs_at: references/rbs/core/file.rbs:1582
443
+ rbs_at: references/rbs/core/file.rbs:1606
444
444
  basename:
445
445
  source: c
446
446
  cfunc: rb_file_s_basename
@@ -451,7 +451,7 @@ classes:
451
451
  purity: leaf
452
452
  rbs:
453
453
  - "(path file_name, ?string suffix) -> String"
454
- rbs_at: references/rbs/core/file.rbs:926
454
+ rbs_at: references/rbs/core/file.rbs:950
455
455
  dirname:
456
456
  source: c
457
457
  cfunc: rb_file_s_dirname
@@ -462,7 +462,7 @@ classes:
462
462
  purity: leaf
463
463
  rbs:
464
464
  - "(path file_name, ?Integer level) -> String"
465
- rbs_at: references/rbs/core/file.rbs:1055
465
+ rbs_at: references/rbs/core/file.rbs:1079
466
466
  extname:
467
467
  source: c
468
468
  cfunc: rb_file_s_extname
@@ -473,7 +473,7 @@ classes:
473
473
  purity: leaf
474
474
  rbs:
475
475
  - "(path path) -> String"
476
- rbs_at: references/rbs/core/file.rbs:1162
476
+ rbs_at: references/rbs/core/file.rbs:1186
477
477
  path:
478
478
  source: c
479
479
  cfunc: rb_file_s_path
@@ -484,7 +484,7 @@ classes:
484
484
  purity: leaf
485
485
  rbs:
486
486
  - "(path path) -> String"
487
- rbs_at: references/rbs/core/file.rbs:1520
487
+ rbs_at: references/rbs/core/file.rbs:1544
488
488
  split:
489
489
  source: c
490
490
  cfunc: rb_file_s_split
@@ -495,7 +495,7 @@ classes:
495
495
  purity: leaf
496
496
  rbs:
497
497
  - "(path file_name) -> [ String, String ]"
498
- rbs_at: references/rbs/core/file.rbs:1671
498
+ rbs_at: references/rbs/core/file.rbs:1695
499
499
  join:
500
500
  source: c
501
501
  cfunc: rb_file_s_join
@@ -506,5 +506,5 @@ classes:
506
506
  purity: leaf
507
507
  rbs:
508
508
  - "(*path) -> String"
509
- rbs_at: references/rbs/core/file.rbs:1341
509
+ rbs_at: references/rbs/core/file.rbs:1365
510
510
  undefined: []