sorbet-struct-comparable 1.0.0 → 1.3.0

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +47 -51
  3. data/.gitignore +3 -0
  4. data/CHANGELOG.md +13 -0
  5. data/Gemfile +3 -8
  6. data/README.md +2 -2
  7. data/lib/sorbet-struct-comparable/version.rb +1 -1
  8. data/lib/t/struct/acts_as_comparable.rb +17 -12
  9. data/nix/sources.json +14 -0
  10. data/nix/sources.nix +174 -0
  11. data/run_ci.sh +6 -0
  12. data/shell.nix +20 -0
  13. data/sorbet/config +2 -0
  14. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  15. data/sorbet/rbi/gems/byebug@11.1.3.rbi +1568 -0
  16. data/sorbet/rbi/gems/coderay@1.1.3.rbi +1005 -0
  17. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +8 -0
  18. data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
  19. data/sorbet/rbi/gems/method_source@1.0.0.rbi +72 -0
  20. data/sorbet/rbi/gems/parser@3.0.2.0.rbi +1188 -0
  21. data/sorbet/rbi/gems/pry-byebug@3.9.0.rbi +461 -0
  22. data/sorbet/rbi/gems/{pry.rbi → pry@0.13.1.rbi} +2308 -1706
  23. data/sorbet/rbi/gems/{rake.rbi → rake@13.0.6.rbi} +575 -424
  24. data/sorbet/rbi/gems/rbi@0.0.6.rbi +1405 -0
  25. data/sorbet/rbi/gems/{rspec-core.rbi → rspec-core@3.10.1.rbi} +2308 -1783
  26. data/sorbet/rbi/gems/{rspec-expectations.rbi → rspec-expectations@3.10.1.rbi} +1149 -698
  27. data/sorbet/rbi/gems/{rspec-mocks.rbi → rspec-mocks@3.10.2.rbi} +1299 -936
  28. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +509 -0
  29. data/sorbet/rbi/gems/rspec@3.10.0.rbi +38 -0
  30. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
  31. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
  32. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
  33. data/sorbet/rbi/gems/spoom@1.1.5.rbi +1241 -0
  34. data/sorbet/rbi/gems/tapioca@0.5.2.rbi +949 -0
  35. data/sorbet/rbi/gems/thor@1.1.0.rbi +839 -0
  36. data/sorbet/rbi/gems/unparser@0.6.0.rbi +8 -0
  37. data/sorbet-struct-comparable.gemspec +1 -1
  38. metadata +38 -30
  39. data/.ruby-version +0 -1
  40. data/sorbet/rbi/gems/byebug.rbi +0 -1041
  41. data/sorbet/rbi/gems/coderay.rbi +0 -92
  42. data/sorbet/rbi/gems/docile.rbi +0 -32
  43. data/sorbet/rbi/gems/listen.rbi +0 -324
  44. data/sorbet/rbi/gems/method_source.rbi +0 -64
  45. data/sorbet/rbi/gems/pry-byebug.rbi +0 -155
  46. data/sorbet/rbi/gems/rspec-support.rbi +0 -280
  47. data/sorbet/rbi/gems/rspec.rbi +0 -15
  48. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  49. data/sorbet/rbi/gems/simplecov.rbi +0 -361
  50. data/sorbet/rbi/hidden-definitions/errors.txt +0 -5231
  51. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -7739
  52. data/sorbet/rbi/todo.rbi +0 -6
@@ -0,0 +1,1241 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `spoom` gem.
3
+ # Please instead update this file by running `bin/tapioca gem spoom`.
4
+
5
+ # typed: true
6
+
7
+ module Spoom
8
+ class << self
9
+ sig { params(cmd: String, arg: String, path: String, capture_err: T::Boolean).returns([String, T::Boolean]) }
10
+ def exec(cmd, *arg, path: T.unsafe(nil), capture_err: T.unsafe(nil)); end
11
+ end
12
+ end
13
+
14
+ module Spoom::Cli; end
15
+
16
+ class Spoom::Cli::Bump < ::Thor
17
+ include ::Spoom::Colorize
18
+ include ::Spoom::Cli::Helper
19
+
20
+ sig { params(directory: String).void }
21
+ def bump(directory = T.unsafe(nil)); end
22
+
23
+ def config_files(path: T.unsafe(nil)); end
24
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
25
+ def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
26
+ def undo_changes(files, from_strictness); end
27
+ end
28
+
29
+ class Spoom::Cli::Config < ::Thor
30
+ include ::Spoom::Colorize
31
+ include ::Spoom::Cli::Helper
32
+
33
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
34
+ def show; end
35
+ end
36
+
37
+ class Spoom::Cli::Coverage < ::Thor
38
+ include ::Spoom::Colorize
39
+ include ::Spoom::Cli::Helper
40
+
41
+ def bundle_install(path, sha); end
42
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
43
+ def message_no_data(file); end
44
+ def open(file = T.unsafe(nil)); end
45
+ def parse_time(string, option); end
46
+ def report; end
47
+ def snapshot; end
48
+ def timeline; end
49
+ end
50
+
51
+ Spoom::Cli::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
52
+
53
+ module Spoom::Cli::Helper
54
+ include ::Spoom::Colorize
55
+
56
+ sig { params(string: String).returns(String) }
57
+ def blue(string); end
58
+
59
+ sig { returns(T::Boolean) }
60
+ def color?; end
61
+
62
+ sig { params(string: String, color: Spoom::Color).returns(String) }
63
+ def colorize(string, *color); end
64
+
65
+ sig { returns(String) }
66
+ def exec_path; end
67
+
68
+ sig { params(string: String).returns(String) }
69
+ def gray(string); end
70
+
71
+ sig { params(string: String).returns(String) }
72
+ def green(string); end
73
+
74
+ sig { params(string: String).returns(String) }
75
+ def highlight(string); end
76
+
77
+ sig { void }
78
+ def in_sorbet_project!; end
79
+
80
+ sig { returns(T::Boolean) }
81
+ def in_sorbet_project?; end
82
+
83
+ sig { params(string: String).returns(String) }
84
+ def red(string); end
85
+
86
+ sig { params(message: String).void }
87
+ def say(message); end
88
+
89
+ sig { params(message: String, status: T.nilable(String), nl: T::Boolean).void }
90
+ def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
91
+
92
+ sig { returns(Spoom::Sorbet::Config) }
93
+ def sorbet_config; end
94
+
95
+ sig { returns(String) }
96
+ def sorbet_config_file; end
97
+
98
+ sig { params(string: String).returns(String) }
99
+ def yellow(string); end
100
+ end
101
+
102
+ class Spoom::Cli::LSP < ::Thor
103
+ include ::Spoom::Colorize
104
+ include ::Spoom::Cli::Helper
105
+
106
+ def defs(file, line, col); end
107
+ def find(query); end
108
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
109
+ def hover(file, line, col); end
110
+ def list; end
111
+ def lsp_client; end
112
+ def refs(file, line, col); end
113
+ def run(&block); end
114
+ def show; end
115
+ def sigs(file, line, col); end
116
+ def symbol_printer; end
117
+ def symbols(file); end
118
+ def to_uri(path); end
119
+ def types(file, line, col); end
120
+ end
121
+
122
+ class Spoom::Cli::Main < ::Thor
123
+ include ::Spoom::Colorize
124
+ include ::Spoom::Cli::Helper
125
+
126
+ def __print_version; end
127
+ def bump(*args); end
128
+ def config(*args); end
129
+ def coverage(*args); end
130
+ def files; end
131
+ def lsp(*args); end
132
+ def tc(*args); end
133
+
134
+ class << self
135
+ def exit_on_failure?; end
136
+ end
137
+ end
138
+
139
+ class Spoom::Cli::Run < ::Thor
140
+ include ::Spoom::Colorize
141
+ include ::Spoom::Cli::Helper
142
+
143
+ def colorize_message(message); end
144
+ def format_error(error, format); end
145
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
146
+ def tc(*arg); end
147
+ end
148
+
149
+ Spoom::Cli::Run::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
150
+ Spoom::Cli::Run::SORT_CODE = T.let(T.unsafe(nil), String)
151
+ Spoom::Cli::Run::SORT_ENUM = T.let(T.unsafe(nil), Array)
152
+ Spoom::Cli::Run::SORT_LOC = T.let(T.unsafe(nil), String)
153
+
154
+ class Spoom::Color < ::T::Enum
155
+ enums do
156
+ CLEAR = new
157
+ BOLD = new
158
+ BLACK = new
159
+ RED = new
160
+ GREEN = new
161
+ YELLOW = new
162
+ BLUE = new
163
+ MAGENTA = new
164
+ CYAN = new
165
+ WHITE = new
166
+ LIGHT_BLACK = new
167
+ LIGHT_RED = new
168
+ LIGHT_GREEN = new
169
+ LIGHT_YELLOW = new
170
+ LIGHT_BLUE = new
171
+ LIGHT_MAGENTA = new
172
+ LIGHT_CYAN = new
173
+ LIGHT_WHITE = new
174
+ end
175
+
176
+ sig { returns(String) }
177
+ def ansi_code; end
178
+ end
179
+
180
+ module Spoom::Colorize
181
+ sig { params(string: String, color: Spoom::Color).returns(String) }
182
+ def set_color(string, *color); end
183
+ end
184
+
185
+ module Spoom::Coverage
186
+ class << self
187
+ sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], palette: Spoom::Coverage::D3::ColorPalette, path: String).returns(Spoom::Coverage::Report) }
188
+ def report(snapshots, palette:, path: T.unsafe(nil)); end
189
+
190
+ sig { params(path: String).returns(Spoom::FileTree) }
191
+ def sigils_tree(path: T.unsafe(nil)); end
192
+
193
+ sig { params(path: String, rbi: T::Boolean, sorbet_bin: T.nilable(String)).returns(Spoom::Coverage::Snapshot) }
194
+ def snapshot(path: T.unsafe(nil), rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
195
+
196
+ sig { params(path: String).returns(Spoom::Sorbet::Config) }
197
+ def sorbet_config(path: T.unsafe(nil)); end
198
+ end
199
+ end
200
+
201
+ module Spoom::Coverage::Cards; end
202
+
203
+ class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template
204
+ sig { params(template: String, title: T.nilable(String), body: T.nilable(String)).void }
205
+ def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end
206
+
207
+ def body; end
208
+
209
+ sig { returns(T.nilable(String)) }
210
+ def title; end
211
+ end
212
+
213
+ Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String)
214
+
215
+ class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
216
+ abstract!
217
+
218
+ sig { void }
219
+ def initialize; end
220
+
221
+ sig { abstract.returns(String) }
222
+ def erb; end
223
+
224
+ sig { override.returns(String) }
225
+ def html; end
226
+ end
227
+
228
+ class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card
229
+ sig { params(sigils_tree: Spoom::FileTree, title: String).void }
230
+ def initialize(sigils_tree:, title: T.unsafe(nil)); end
231
+ end
232
+
233
+ class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card
234
+ sig { params(snapshot: Spoom::Coverage::Snapshot, title: String).void }
235
+ def initialize(snapshot:, title: T.unsafe(nil)); end
236
+
237
+ sig { returns(Spoom::Coverage::D3::Pie::Calls) }
238
+ def pie_calls; end
239
+
240
+ sig { returns(Spoom::Coverage::D3::Pie::Sigils) }
241
+ def pie_sigils; end
242
+
243
+ sig { returns(Spoom::Coverage::D3::Pie::Sigs) }
244
+ def pie_sigs; end
245
+
246
+ sig { returns(Spoom::Coverage::Snapshot) }
247
+ def snapshot; end
248
+ end
249
+
250
+ Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String)
251
+
252
+ class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb
253
+ sig { params(sorbet_intro_commit: T.nilable(String), sorbet_intro_date: T.nilable(Time)).void }
254
+ def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
255
+
256
+ sig { override.returns(String) }
257
+ def erb; end
258
+ end
259
+
260
+ class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card
261
+ sig { params(title: String, timeline: Spoom::Coverage::D3::Timeline).void }
262
+ def initialize(title:, timeline:); end
263
+ end
264
+
265
+ class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline
266
+ sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
267
+ def initialize(snapshots:, title: T.unsafe(nil)); end
268
+ end
269
+
270
+ class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline
271
+ sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
272
+ def initialize(snapshots:, title: T.unsafe(nil)); end
273
+ end
274
+
275
+ class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline
276
+ sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
277
+ def initialize(snapshots:, title: T.unsafe(nil)); end
278
+ end
279
+
280
+ class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline
281
+ sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
282
+ def initialize(snapshots:, title: T.unsafe(nil)); end
283
+ end
284
+
285
+ class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline
286
+ sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
287
+ def initialize(snapshots:, title: T.unsafe(nil)); end
288
+ end
289
+
290
+ class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline
291
+ sig { params(snapshots: T::Array[Spoom::Coverage::Snapshot], title: String).void }
292
+ def initialize(snapshots:, title: T.unsafe(nil)); end
293
+ end
294
+
295
+ module Spoom::Coverage::D3
296
+ class << self
297
+ sig { params(palette: Spoom::Coverage::D3::ColorPalette).returns(String) }
298
+ def header_script(palette); end
299
+
300
+ sig { returns(String) }
301
+ def header_style; end
302
+ end
303
+ end
304
+
305
+ class Spoom::Coverage::D3::Base
306
+ abstract!
307
+
308
+ sig { params(id: String, data: T.untyped).void }
309
+ def initialize(id, data); end
310
+
311
+ sig { returns(String) }
312
+ def html; end
313
+
314
+ sig { returns(String) }
315
+ def id; end
316
+
317
+ sig { abstract.returns(String) }
318
+ def script; end
319
+
320
+ sig { returns(String) }
321
+ def tooltip; end
322
+
323
+ class << self
324
+ sig { returns(String) }
325
+ def header_script; end
326
+
327
+ sig { returns(String) }
328
+ def header_style; end
329
+ end
330
+ end
331
+
332
+ Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String)
333
+ Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String)
334
+ Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String)
335
+ Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String)
336
+ Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String)
337
+
338
+ class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base
339
+ sig { override.returns(String) }
340
+ def script; end
341
+
342
+ class << self
343
+ sig { returns(String) }
344
+ def header_script; end
345
+
346
+ sig { returns(String) }
347
+ def header_style; end
348
+ end
349
+ end
350
+
351
+ class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
352
+ sig { params(id: String, sigils_tree: Spoom::FileTree).void }
353
+ def initialize(id, sigils_tree); end
354
+
355
+ sig { params(node: Spoom::FileTree::Node).returns(Float) }
356
+ def tree_node_score(node); end
357
+
358
+ sig { params(node: Spoom::FileTree::Node).returns(T.nilable(String)) }
359
+ def tree_node_strictness(node); end
360
+
361
+ sig { params(node: Spoom::FileTree::Node).returns(T::Hash[Symbol, T.untyped]) }
362
+ def tree_node_to_json(node); end
363
+ end
364
+
365
+ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
366
+ prop :false, String
367
+ prop :ignore, String
368
+ prop :strict, String
369
+ prop :strong, String
370
+ prop :true, String
371
+
372
+ class << self
373
+ def inherited(s); end
374
+ end
375
+ end
376
+
377
+ class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
378
+ abstract!
379
+
380
+ sig { params(id: String, title: String, data: T.untyped).void }
381
+ def initialize(id, title, data); end
382
+
383
+ sig { override.returns(String) }
384
+ def script; end
385
+
386
+ class << self
387
+ sig { returns(String) }
388
+ def header_script; end
389
+
390
+ sig { returns(String) }
391
+ def header_style; end
392
+ end
393
+ end
394
+
395
+ class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie
396
+ sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void }
397
+ def initialize(id, title, snapshot); end
398
+
399
+ sig { override.returns(String) }
400
+ def tooltip; end
401
+ end
402
+
403
+ class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie
404
+ sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void }
405
+ def initialize(id, title, snapshot); end
406
+
407
+ sig { override.returns(String) }
408
+ def tooltip; end
409
+ end
410
+
411
+ class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie
412
+ sig { params(id: String, title: String, snapshot: Spoom::Coverage::Snapshot).void }
413
+ def initialize(id, title, snapshot); end
414
+
415
+ sig { override.returns(String) }
416
+ def tooltip; end
417
+ end
418
+
419
+ class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
420
+ abstract!
421
+
422
+ sig { params(id: String, data: T.untyped, keys: T::Array[String]).void }
423
+ def initialize(id, data, keys); end
424
+
425
+ sig { params(y: String, color: String, curve: String).returns(String) }
426
+ def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
427
+
428
+ sig { params(y: String, color: String, curve: String).returns(String) }
429
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
430
+
431
+ sig { abstract.returns(String) }
432
+ def plot; end
433
+
434
+ sig { params(y: String).returns(String) }
435
+ def points(y:); end
436
+
437
+ sig { override.returns(String) }
438
+ def script; end
439
+
440
+ sig { returns(String) }
441
+ def x_scale; end
442
+
443
+ sig { returns(String) }
444
+ def x_ticks; end
445
+
446
+ sig { params(min: String, max: String, ticks: String).returns(String) }
447
+ def y_scale(min:, max:, ticks:); end
448
+
449
+ sig { params(ticks: String, format: String, padding: Integer).returns(String) }
450
+ def y_ticks(ticks:, format:, padding:); end
451
+
452
+ class << self
453
+ sig { returns(String) }
454
+ def header_script; end
455
+
456
+ sig { returns(String) }
457
+ def header_style; end
458
+ end
459
+ end
460
+
461
+ class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked
462
+ sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
463
+ def initialize(id, snapshots); end
464
+
465
+ sig { override.returns(String) }
466
+ def tooltip; end
467
+ end
468
+
469
+ class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked
470
+ sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
471
+ def initialize(id, snapshots); end
472
+
473
+ sig { override.params(y: String, color: String, curve: String).returns(String) }
474
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
475
+
476
+ sig { override.returns(String) }
477
+ def plot; end
478
+
479
+ sig { override.returns(String) }
480
+ def script; end
481
+
482
+ sig { override.returns(String) }
483
+ def tooltip; end
484
+ end
485
+
486
+ class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline
487
+ sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
488
+ def initialize(id, snapshots); end
489
+
490
+ sig { override.returns(String) }
491
+ def plot; end
492
+
493
+ sig { override.returns(String) }
494
+ def tooltip; end
495
+ end
496
+
497
+ class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked
498
+ sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
499
+ def initialize(id, snapshots); end
500
+
501
+ sig { override.returns(String) }
502
+ def tooltip; end
503
+ end
504
+
505
+ class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked
506
+ sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
507
+ def initialize(id, snapshots); end
508
+
509
+ sig { override.returns(String) }
510
+ def tooltip; end
511
+ end
512
+
513
+ class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
514
+ abstract!
515
+
516
+ def initialize(*args, &blk); end
517
+
518
+ sig { override.params(y: String, color: String, curve: String).returns(String) }
519
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
520
+
521
+ sig { override.returns(String) }
522
+ def plot; end
523
+
524
+ sig { override.returns(String) }
525
+ def script; end
526
+ end
527
+
528
+ class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline
529
+ sig { params(id: String, snapshots: T::Array[Spoom::Coverage::Snapshot]).void }
530
+ def initialize(id, snapshots); end
531
+
532
+ sig { override.returns(String) }
533
+ def plot; end
534
+
535
+ sig { override.returns(String) }
536
+ def tooltip; end
537
+ end
538
+
539
+ class Spoom::Coverage::Page < ::Spoom::Coverage::Template
540
+ abstract!
541
+
542
+ sig { params(title: String, palette: Spoom::Coverage::D3::ColorPalette, template: String).void }
543
+ def initialize(title:, palette:, template: T.unsafe(nil)); end
544
+
545
+ sig { returns(String) }
546
+ def body_html; end
547
+
548
+ sig { abstract.returns(T::Array[Spoom::Coverage::Cards::Card]) }
549
+ def cards; end
550
+
551
+ sig { returns(String) }
552
+ def footer_html; end
553
+
554
+ sig { returns(String) }
555
+ def header_html; end
556
+
557
+ sig { returns(String) }
558
+ def header_script; end
559
+
560
+ sig { returns(String) }
561
+ def header_style; end
562
+
563
+ sig { returns(Spoom::Coverage::D3::ColorPalette) }
564
+ def palette; end
565
+
566
+ sig { returns(String) }
567
+ def title; end
568
+ end
569
+
570
+ Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String)
571
+
572
+ class Spoom::Coverage::Report < ::Spoom::Coverage::Page
573
+ sig { params(project_name: String, palette: Spoom::Coverage::D3::ColorPalette, snapshots: T::Array[Spoom::Coverage::Snapshot], sigils_tree: Spoom::FileTree, sorbet_intro_commit: T.nilable(String), sorbet_intro_date: T.nilable(Time)).void }
574
+ def initialize(project_name:, palette:, snapshots:, sigils_tree:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
575
+
576
+ sig { override.returns(T::Array[Spoom::Coverage::Cards::Card]) }
577
+ def cards; end
578
+
579
+ sig { override.returns(String) }
580
+ def header_html; end
581
+
582
+ sig { returns(String) }
583
+ def project_name; end
584
+
585
+ sig { returns(Spoom::FileTree) }
586
+ def sigils_tree; end
587
+
588
+ sig { returns(T::Array[Spoom::Coverage::Snapshot]) }
589
+ def snapshots; end
590
+
591
+ sig { returns(T.nilable(String)) }
592
+ def sorbet_intro_commit; end
593
+
594
+ sig { returns(T.nilable(Time)) }
595
+ def sorbet_intro_date; end
596
+ end
597
+
598
+ class Spoom::Coverage::Snapshot < ::T::Struct
599
+ prop :calls_typed, Integer, default: T.unsafe(nil)
600
+ prop :calls_untyped, Integer, default: T.unsafe(nil)
601
+ prop :classes, Integer, default: T.unsafe(nil)
602
+ prop :commit_sha, T.nilable(String), default: T.unsafe(nil)
603
+ prop :commit_timestamp, T.nilable(Integer), default: T.unsafe(nil)
604
+ prop :duration, Integer, default: T.unsafe(nil)
605
+ prop :files, Integer, default: T.unsafe(nil)
606
+ prop :methods_with_sig, Integer, default: T.unsafe(nil)
607
+ prop :methods_without_sig, Integer, default: T.unsafe(nil)
608
+ prop :modules, Integer, default: T.unsafe(nil)
609
+ prop :rbi_files, Integer, default: T.unsafe(nil)
610
+ prop :sigils, T::Hash[String, Integer], default: T.unsafe(nil)
611
+ prop :singleton_classes, Integer, default: T.unsafe(nil)
612
+ prop :timestamp, Integer, default: T.unsafe(nil)
613
+ prop :version_runtime, T.nilable(String), default: T.unsafe(nil)
614
+ prop :version_static, T.nilable(String), default: T.unsafe(nil)
615
+
616
+ sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer).void }
617
+ def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
618
+
619
+ sig { params(arg: T.untyped).returns(String) }
620
+ def to_json(*arg); end
621
+
622
+ class << self
623
+ sig { params(json: String).returns(Spoom::Coverage::Snapshot) }
624
+ def from_json(json); end
625
+
626
+ sig { params(obj: T::Hash[String, T.untyped]).returns(Spoom::Coverage::Snapshot) }
627
+ def from_obj(obj); end
628
+
629
+ def inherited(s); end
630
+ end
631
+ end
632
+
633
+ Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array)
634
+
635
+ class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer
636
+ sig { params(snapshot: Spoom::Coverage::Snapshot).void }
637
+ def print_snapshot(snapshot); end
638
+
639
+ private
640
+
641
+ sig { params(value: T.nilable(Integer), total: T.nilable(Integer)).returns(String) }
642
+ def percent(value, total); end
643
+
644
+ sig { params(hash: T::Hash[String, Integer], total: Integer).void }
645
+ def print_map(hash, total); end
646
+ end
647
+
648
+ class Spoom::Coverage::Template
649
+ abstract!
650
+
651
+ sig { params(template: String).void }
652
+ def initialize(template:); end
653
+
654
+ sig { returns(String) }
655
+ def erb; end
656
+
657
+ sig { returns(Binding) }
658
+ def get_binding; end
659
+
660
+ sig { returns(String) }
661
+ def html; end
662
+ end
663
+
664
+ class Spoom::Error < ::StandardError; end
665
+
666
+ class Spoom::FileTree
667
+ sig { params(paths: T::Enumerable[String], strip_prefix: T.nilable(String)).void }
668
+ def initialize(paths = T.unsafe(nil), strip_prefix: T.unsafe(nil)); end
669
+
670
+ sig { params(path: String).returns(Spoom::FileTree::Node) }
671
+ def add_path(path); end
672
+
673
+ sig { params(paths: T::Enumerable[String]).void }
674
+ def add_paths(paths); end
675
+
676
+ sig { returns(T::Array[Spoom::FileTree::Node]) }
677
+ def nodes; end
678
+
679
+ sig { returns(T::Array[String]) }
680
+ def paths; end
681
+
682
+ sig { params(out: T.any(IO, StringIO), show_strictness: T::Boolean, colors: T::Boolean, indent_level: Integer).void }
683
+ def print(out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
684
+
685
+ sig { returns(T::Array[Spoom::FileTree::Node]) }
686
+ def roots; end
687
+
688
+ sig { returns(T.nilable(String)) }
689
+ def strip_prefix; end
690
+
691
+ private
692
+
693
+ sig { params(node: Spoom::FileTree::Node, collected_nodes: T::Array[Spoom::FileTree::Node]).returns(T::Array[Spoom::FileTree::Node]) }
694
+ def collect_nodes(node, collected_nodes = T.unsafe(nil)); end
695
+ end
696
+
697
+ class Spoom::FileTree::Node < ::T::Struct
698
+ const :children, T::Hash[String, Spoom::FileTree::Node], default: T.unsafe(nil)
699
+ const :name, String
700
+ const :parent, T.nilable(Spoom::FileTree::Node)
701
+
702
+ sig { returns(String) }
703
+ def path; end
704
+
705
+ class << self
706
+ def inherited(s); end
707
+ end
708
+ end
709
+
710
+ class Spoom::FileTree::TreePrinter < ::Spoom::Printer
711
+ sig { params(tree: Spoom::FileTree, out: T.any(IO, StringIO), show_strictness: T::Boolean, colors: T::Boolean, indent_level: Integer).void }
712
+ def initialize(tree:, out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
713
+
714
+ sig { params(node: Spoom::FileTree::Node).void }
715
+ def print_node(node); end
716
+
717
+ sig { params(nodes: T::Array[Spoom::FileTree::Node]).void }
718
+ def print_nodes(nodes); end
719
+
720
+ sig { void }
721
+ def print_tree; end
722
+
723
+ sig { returns(Spoom::FileTree) }
724
+ def tree; end
725
+
726
+ private
727
+
728
+ sig { params(node: Spoom::FileTree::Node).returns(T.nilable(String)) }
729
+ def node_strictness(node); end
730
+
731
+ sig { params(strictness: T.nilable(String)).returns(Spoom::Color) }
732
+ def strictness_color(strictness); end
733
+ end
734
+
735
+ module Spoom::Git
736
+ class << self
737
+ sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
738
+ def checkout(*arg, path: T.unsafe(nil)); end
739
+
740
+ sig { params(sha: String, path: String).returns(T.nilable(Time)) }
741
+ def commit_time(sha, path: T.unsafe(nil)); end
742
+
743
+ sig { params(sha: String, path: String).returns(T.nilable(Integer)) }
744
+ def commit_timestamp(sha, path: T.unsafe(nil)); end
745
+
746
+ sig { params(path: String).returns(T.nilable(String)) }
747
+ def current_branch(path: T.unsafe(nil)); end
748
+
749
+ sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
750
+ def diff(*arg, path: T.unsafe(nil)); end
751
+
752
+ sig { params(timestamp: String).returns(Time) }
753
+ def epoch_to_time(timestamp); end
754
+
755
+ sig { params(command: String, arg: String, path: String).returns([String, String, T::Boolean]) }
756
+ def exec(command, *arg, path: T.unsafe(nil)); end
757
+
758
+ sig { params(path: String).returns(T.nilable(String)) }
759
+ def last_commit(path: T.unsafe(nil)); end
760
+
761
+ sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
762
+ def log(*arg, path: T.unsafe(nil)); end
763
+
764
+ sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
765
+ def rev_parse(*arg, path: T.unsafe(nil)); end
766
+
767
+ sig { params(arg: String, path: String).returns([String, String, T::Boolean]) }
768
+ def show(*arg, path: T.unsafe(nil)); end
769
+
770
+ sig { params(path: String).returns(T.nilable(String)) }
771
+ def sorbet_intro_commit(path: T.unsafe(nil)); end
772
+
773
+ sig { params(path: String).returns(T.nilable(String)) }
774
+ def sorbet_removal_commit(path: T.unsafe(nil)); end
775
+
776
+ sig { params(path: String).returns(T::Boolean) }
777
+ def workdir_clean?(path: T.unsafe(nil)); end
778
+ end
779
+ end
780
+
781
+ module Spoom::LSP; end
782
+
783
+ class Spoom::LSP::Client
784
+ def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end
785
+
786
+ def close; end
787
+ def definitions(uri, line, column); end
788
+ def document_symbols(uri); end
789
+ def hover(uri, line, column); end
790
+ def next_id; end
791
+ def open(workspace_path); end
792
+ def read; end
793
+ def read_raw; end
794
+ def references(uri, line, column, include_decl = T.unsafe(nil)); end
795
+ def send(message); end
796
+ def send_raw(json_string); end
797
+ def signatures(uri, line, column); end
798
+ def symbols(query); end
799
+ def type_definitions(uri, line, column); end
800
+ end
801
+
802
+ class Spoom::LSP::Diagnostic < ::T::Struct
803
+ include ::Spoom::LSP::PrintableSymbol
804
+
805
+ const :code, Integer
806
+ const :informations, Object
807
+ const :message, String
808
+ const :range, Spoom::LSP::Range
809
+
810
+ sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
811
+ def accept_printer(printer); end
812
+
813
+ def to_s; end
814
+
815
+ class << self
816
+ def from_json(json); end
817
+ def inherited(s); end
818
+ end
819
+ end
820
+
821
+ class Spoom::LSP::DocumentSymbol < ::T::Struct
822
+ include ::Spoom::LSP::PrintableSymbol
823
+
824
+ const :children, T::Array[Spoom::LSP::DocumentSymbol]
825
+ const :detail, T.nilable(String)
826
+ const :kind, Integer
827
+ const :location, T.nilable(Spoom::LSP::Location)
828
+ const :name, String
829
+ const :range, T.nilable(Spoom::LSP::Range)
830
+
831
+ sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
832
+ def accept_printer(printer); end
833
+
834
+ def kind_string; end
835
+ def to_s; end
836
+
837
+ class << self
838
+ def from_json(json); end
839
+ def inherited(s); end
840
+ end
841
+ end
842
+
843
+ Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
844
+ class Spoom::LSP::Error < ::StandardError; end
845
+ class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end
846
+ class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end
847
+
848
+ class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
849
+ def initialize(uri, diagnostics); end
850
+
851
+ def diagnostics; end
852
+ def uri; end
853
+
854
+ class << self
855
+ def from_json(json); end
856
+ end
857
+ end
858
+
859
+ class Spoom::LSP::Hover < ::T::Struct
860
+ include ::Spoom::LSP::PrintableSymbol
861
+
862
+ const :contents, String
863
+ const :range, T.nilable(T::Range[T.untyped])
864
+
865
+ sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
866
+ def accept_printer(printer); end
867
+
868
+ def to_s; end
869
+
870
+ class << self
871
+ def from_json(json); end
872
+ def inherited(s); end
873
+ end
874
+ end
875
+
876
+ class Spoom::LSP::Location < ::T::Struct
877
+ include ::Spoom::LSP::PrintableSymbol
878
+
879
+ const :range, Spoom::LSP::Range
880
+ const :uri, String
881
+
882
+ sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
883
+ def accept_printer(printer); end
884
+
885
+ def to_s; end
886
+
887
+ class << self
888
+ def from_json(json); end
889
+ def inherited(s); end
890
+ end
891
+ end
892
+
893
+ class Spoom::LSP::Message
894
+ def initialize; end
895
+
896
+ def as_json; end
897
+ def jsonrpc; end
898
+ def to_json(*args); end
899
+ end
900
+
901
+ class Spoom::LSP::Notification < ::Spoom::LSP::Message
902
+ def initialize(method, params); end
903
+
904
+ def method; end
905
+ def params; end
906
+ end
907
+
908
+ class Spoom::LSP::Position < ::T::Struct
909
+ include ::Spoom::LSP::PrintableSymbol
910
+
911
+ const :char, Integer
912
+ const :line, Integer
913
+
914
+ sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
915
+ def accept_printer(printer); end
916
+
917
+ def to_s; end
918
+
919
+ class << self
920
+ def from_json(json); end
921
+ def inherited(s); end
922
+ end
923
+ end
924
+
925
+ module Spoom::LSP::PrintableSymbol
926
+ interface!
927
+
928
+ sig { abstract.params(printer: Spoom::LSP::SymbolPrinter).void }
929
+ def accept_printer(printer); end
930
+ end
931
+
932
+ class Spoom::LSP::Range < ::T::Struct
933
+ include ::Spoom::LSP::PrintableSymbol
934
+
935
+ const :end, Spoom::LSP::Position
936
+ const :start, Spoom::LSP::Position
937
+
938
+ sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
939
+ def accept_printer(printer); end
940
+
941
+ def to_s; end
942
+
943
+ class << self
944
+ def from_json(json); end
945
+ def inherited(s); end
946
+ end
947
+ end
948
+
949
+ class Spoom::LSP::Request < ::Spoom::LSP::Message
950
+ def initialize(id, method, params); end
951
+
952
+ def id; end
953
+ def method; end
954
+ def params; end
955
+ end
956
+
957
+ class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
958
+ def initialize(code, message, data); end
959
+
960
+ def code; end
961
+ def data; end
962
+ def message; end
963
+
964
+ class << self
965
+ def from_json(json); end
966
+ end
967
+ end
968
+
969
+ class Spoom::LSP::SignatureHelp < ::T::Struct
970
+ include ::Spoom::LSP::PrintableSymbol
971
+
972
+ const :doc, Object
973
+ const :label, T.nilable(String)
974
+ const :params, T::Array[T.untyped]
975
+
976
+ sig { override.params(printer: Spoom::LSP::SymbolPrinter).void }
977
+ def accept_printer(printer); end
978
+
979
+ def to_s; end
980
+
981
+ class << self
982
+ def from_json(json); end
983
+ def inherited(s); end
984
+ end
985
+ end
986
+
987
+ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
988
+ sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer, prefix: T.nilable(String)).void }
989
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end
990
+
991
+ sig { params(uri: String).returns(String) }
992
+ def clean_uri(uri); end
993
+
994
+ def prefix; end
995
+ def prefix=(_arg0); end
996
+
997
+ sig { params(objects: T::Array[Spoom::LSP::PrintableSymbol]).void }
998
+ def print_list(objects); end
999
+
1000
+ sig { params(object: T.nilable(Spoom::LSP::PrintableSymbol)).void }
1001
+ def print_object(object); end
1002
+
1003
+ sig { params(objects: T::Array[Spoom::LSP::PrintableSymbol]).void }
1004
+ def print_objects(objects); end
1005
+
1006
+ def seen; end
1007
+ def seen=(_arg0); end
1008
+ end
1009
+
1010
+ class Spoom::Printer
1011
+ include ::Spoom::Colorize
1012
+
1013
+ abstract!
1014
+
1015
+ sig { params(out: T.any(IO, StringIO), colors: T::Boolean, indent_level: Integer).void }
1016
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1017
+
1018
+ sig { params(string: String, color: Spoom::Color).returns(String) }
1019
+ def colorize(string, *color); end
1020
+
1021
+ sig { void }
1022
+ def dedent; end
1023
+
1024
+ sig { void }
1025
+ def indent; end
1026
+
1027
+ sig { returns(T.any(IO, StringIO)) }
1028
+ def out; end
1029
+
1030
+ def out=(_arg0); end
1031
+
1032
+ sig { params(string: T.nilable(String)).void }
1033
+ def print(string); end
1034
+
1035
+ sig { params(string: T.nilable(String), color: Spoom::Color).void }
1036
+ def print_colored(string, *color); end
1037
+
1038
+ sig { params(string: T.nilable(String)).void }
1039
+ def printl(string); end
1040
+
1041
+ sig { void }
1042
+ def printn; end
1043
+
1044
+ sig { void }
1045
+ def printt; end
1046
+ end
1047
+
1048
+ Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
1049
+
1050
+ module Spoom::Sorbet
1051
+ class << self
1052
+ sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns([String, T::Boolean]) }
1053
+ def srb(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1054
+
1055
+ sig { params(config: Spoom::Sorbet::Config, path: String).returns(T::Array[String]) }
1056
+ def srb_files(config, path: T.unsafe(nil)); end
1057
+
1058
+ sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns(T.nilable(T::Hash[String, Integer])) }
1059
+ def srb_metrics(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1060
+
1061
+ sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns([String, T::Boolean]) }
1062
+ def srb_tc(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1063
+
1064
+ sig { params(arg: String, path: String, capture_err: T::Boolean, sorbet_bin: T.nilable(String)).returns(T.nilable(String)) }
1065
+ def srb_version(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
1066
+
1067
+ sig { params(gem: String, path: String).returns(T.nilable(String)) }
1068
+ def version_from_gemfile_lock(gem: T.unsafe(nil), path: T.unsafe(nil)); end
1069
+ end
1070
+ end
1071
+
1072
+ Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
1073
+ Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
1074
+
1075
+ class Spoom::Sorbet::Config
1076
+ sig { void }
1077
+ def initialize; end
1078
+
1079
+ def allowed_extensions; end
1080
+
1081
+ sig { returns(Spoom::Sorbet::Config) }
1082
+ def copy; end
1083
+
1084
+ def ignore; end
1085
+
1086
+ sig { returns(T::Boolean) }
1087
+ def no_stdlib; end
1088
+
1089
+ def no_stdlib=(_arg0); end
1090
+
1091
+ sig { returns(String) }
1092
+ def options_string; end
1093
+
1094
+ sig { returns(T::Array[String]) }
1095
+ def paths; end
1096
+
1097
+ class << self
1098
+ sig { params(sorbet_config_path: String).returns(Spoom::Sorbet::Config) }
1099
+ def parse_file(sorbet_config_path); end
1100
+
1101
+ sig { params(sorbet_config: String).returns(Spoom::Sorbet::Config) }
1102
+ def parse_string(sorbet_config); end
1103
+
1104
+ private
1105
+
1106
+ sig { params(line: String).returns(String) }
1107
+ def parse_option(line); end
1108
+ end
1109
+ end
1110
+
1111
+ module Spoom::Sorbet::Errors
1112
+ class << self
1113
+ sig { params(errors: T::Array[Spoom::Sorbet::Errors::Error]).returns(T::Array[Spoom::Sorbet::Errors::Error]) }
1114
+ def sort_errors_by_code(errors); end
1115
+ end
1116
+ end
1117
+
1118
+ class Spoom::Sorbet::Errors::Error
1119
+ include ::Comparable
1120
+
1121
+ sig { params(file: T.nilable(String), line: T.nilable(Integer), message: T.nilable(String), code: T.nilable(Integer), more: T::Array[String]).void }
1122
+ def initialize(file, line, message, code, more = T.unsafe(nil)); end
1123
+
1124
+ sig { params(other: T.untyped).returns(Integer) }
1125
+ def <=>(other); end
1126
+
1127
+ def code; end
1128
+
1129
+ sig { returns(T.nilable(String)) }
1130
+ def file; end
1131
+
1132
+ sig { returns(T.nilable(Integer)) }
1133
+ def line; end
1134
+
1135
+ def message; end
1136
+
1137
+ sig { returns(T::Array[String]) }
1138
+ def more; end
1139
+
1140
+ sig { returns(String) }
1141
+ def to_s; end
1142
+ end
1143
+
1144
+ class Spoom::Sorbet::Errors::Parser
1145
+ sig { void }
1146
+ def initialize; end
1147
+
1148
+ sig { params(output: String).returns(T::Array[Spoom::Sorbet::Errors::Error]) }
1149
+ def parse(output); end
1150
+
1151
+ private
1152
+
1153
+ sig { params(line: String).void }
1154
+ def append_error(line); end
1155
+
1156
+ sig { void }
1157
+ def close_error; end
1158
+
1159
+ sig { params(line: String).returns(T.nilable(Spoom::Sorbet::Errors::Error)) }
1160
+ def match_error_line(line); end
1161
+
1162
+ sig { params(error: Spoom::Sorbet::Errors::Error).void }
1163
+ def open_error(error); end
1164
+
1165
+ class << self
1166
+ sig { params(output: String).returns(T::Array[Spoom::Sorbet::Errors::Error]) }
1167
+ def parse_string(output); end
1168
+ end
1169
+ end
1170
+
1171
+ Spoom::Sorbet::Errors::Parser::ERROR_LINE_MATCH_REGEX = T.let(T.unsafe(nil), Regexp)
1172
+ Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
1173
+ Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
1174
+
1175
+ module Spoom::Sorbet::MetricsParser
1176
+ class << self
1177
+ sig { params(path: String, prefix: String).returns(T::Hash[String, Integer]) }
1178
+ def parse_file(path, prefix = T.unsafe(nil)); end
1179
+
1180
+ sig { params(obj: T::Hash[String, T.untyped], prefix: String).returns(T::Hash[String, Integer]) }
1181
+ def parse_hash(obj, prefix = T.unsafe(nil)); end
1182
+
1183
+ sig { params(string: String, prefix: String).returns(T::Hash[String, Integer]) }
1184
+ def parse_string(string, prefix = T.unsafe(nil)); end
1185
+ end
1186
+ end
1187
+
1188
+ Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
1189
+
1190
+ module Spoom::Sorbet::Sigils
1191
+ class << self
1192
+ sig { params(path: T.any(Pathname, String), new_strictness: String).returns(T::Boolean) }
1193
+ def change_sigil_in_file(path, new_strictness); end
1194
+
1195
+ sig { params(path_list: T::Array[String], new_strictness: String).returns(T::Array[String]) }
1196
+ def change_sigil_in_files(path_list, new_strictness); end
1197
+
1198
+ sig { params(path: T.any(Pathname, String)).returns(T.nilable(String)) }
1199
+ def file_strictness(path); end
1200
+
1201
+ sig { params(directory: T.any(Pathname, String), strictness: String, extension: String).returns(T::Array[String]) }
1202
+ def files_with_sigil_strictness(directory, strictness, extension: T.unsafe(nil)); end
1203
+
1204
+ sig { params(strictness: String).returns(String) }
1205
+ def sigil_string(strictness); end
1206
+
1207
+ sig { params(content: String).returns(T.nilable(String)) }
1208
+ def strictness_in_content(content); end
1209
+
1210
+ sig { params(content: String, new_strictness: String).returns(String) }
1211
+ def update_sigil(content, new_strictness); end
1212
+
1213
+ sig { params(strictness: String).returns(T::Boolean) }
1214
+ def valid_strictness?(strictness); end
1215
+ end
1216
+ end
1217
+
1218
+ Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp)
1219
+ Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String)
1220
+ Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String)
1221
+ Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String)
1222
+ Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String)
1223
+ Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
1224
+ Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
1225
+ Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
1226
+
1227
+ class Spoom::Timeline
1228
+ sig { params(from: Time, to: Time, path: String).void }
1229
+ def initialize(from, to, path: T.unsafe(nil)); end
1230
+
1231
+ sig { params(dates: T::Array[Time]).returns(T::Array[String]) }
1232
+ def commits_for_dates(dates); end
1233
+
1234
+ sig { returns(T::Array[Time]) }
1235
+ def months; end
1236
+
1237
+ sig { returns(T::Array[String]) }
1238
+ def ticks; end
1239
+ end
1240
+
1241
+ Spoom::VERSION = T.let(T.unsafe(nil), String)