mootool 0.1.1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.github/workflows/ci.yml +14 -14
  4. data/.github/workflows/gem-push.yml +26 -28
  5. data/.overcommit.yml +79 -0
  6. data/.rubocop.yml +147 -0
  7. data/.ruby-version +1 -1
  8. data/.run/All Specs.run.xml +46 -0
  9. data/CODE_OF_CONDUCT.md +2 -1
  10. data/Gemfile +14 -11
  11. data/Gemfile.lock +92 -31
  12. data/README.md +12 -6
  13. data/bin/tapioca +27 -0
  14. data/lib/mootool/command.rb +1 -0
  15. data/lib/mootool/controller_base.rb +4 -1
  16. data/lib/mootool/controllers/dwarf.rb +8 -0
  17. data/lib/mootool/controllers/dyld_linker.rb +8 -0
  18. data/lib/mootool/controllers/dyld_shared_cache.rb +8 -0
  19. data/lib/mootool/controllers/fat_binary.rb +8 -0
  20. data/lib/mootool/controllers/kernel_collection.rb +21 -15
  21. data/lib/mootool/controllers/sections.rb +8 -0
  22. data/lib/mootool/core_extensions.rb +26 -0
  23. data/lib/mootool/models/device_tree.rb +85 -0
  24. data/lib/mootool/models/img4.rb +49 -0
  25. data/lib/mootool/models/ipsw.rb +19 -0
  26. data/lib/mootool/version.rb +1 -1
  27. data/lib/mootool/views/sections.full.erb +2 -2
  28. data/lib/mootool.rb +10 -3
  29. data/mootool.gemspec +17 -12
  30. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  31. data/sorbet/rbi/gems/ast@2.4.2.rbi +618 -0
  32. data/sorbet/rbi/gems/childprocess@4.1.0.rbi +447 -0
  33. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  34. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1219 -0
  35. data/sorbet/rbi/gems/iniparse@1.5.0.rbi +1007 -0
  36. data/sorbet/rbi/gems/json@2.6.2.rbi +1650 -0
  37. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  38. data/sorbet/rbi/gems/netrc@0.11.0.rbi +186 -0
  39. data/sorbet/rbi/gems/overcommit@0.59.1.rbi +2747 -0
  40. data/sorbet/rbi/gems/parallel@1.22.1.rbi +353 -0
  41. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +6198 -0
  42. data/sorbet/rbi/gems/plist@3.6.0.rbi +212 -0
  43. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  44. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +452 -0
  45. data/sorbet/rbi/gems/rake@13.0.6.rbi +3587 -0
  46. data/sorbet/rbi/gems/rbi@0.0.15.rbi +3619 -0
  47. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3927 -0
  48. data/sorbet/rbi/gems/rexml@3.2.5.rbi +5238 -0
  49. data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +12834 -0
  50. data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +9151 -0
  51. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +6506 -0
  52. data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +2040 -0
  53. data/sorbet/rbi/gems/rspec@3.11.0.rbi +120 -0
  54. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +7990 -0
  55. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +413 -0
  56. data/sorbet/rbi/gems/rubocop-rspec@2.12.1.rbi +7604 -0
  57. data/sorbet/rbi/gems/rubocop@1.35.0.rbi +62260 -0
  58. data/sorbet/rbi/gems/ruby-macho@3.0.0.rbi +5039 -0
  59. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1445 -0
  60. data/sorbet/rbi/gems/rubyzip@2.3.2.rbi +2868 -0
  61. data/sorbet/rbi/gems/spoom@1.1.12.rbi +2829 -0
  62. data/sorbet/rbi/gems/tapioca@0.9.3.rbi +2151 -0
  63. data/sorbet/rbi/gems/thor@1.2.1.rbi +4532 -0
  64. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +60 -0
  65. data/sorbet/rbi/gems/unparser@0.6.5.rbi +8 -0
  66. data/sorbet/rbi/gems/webrick@1.7.0.rbi +3075 -0
  67. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +458 -0
  68. data/sorbet/rbi/gems/yard@0.9.28.rbi +20844 -0
  69. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +72 -24
  70. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +1697 -385
  71. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +30 -7
  72. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +3 -1
  73. data/sorbet/rbi/todo.rbi +7 -0
  74. data/sorbet/tapioca/config.yml +13 -0
  75. data/sorbet/tapioca/require.rb +4 -0
  76. metadata +89 -9
@@ -0,0 +1,2829 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `spoom` gem.
5
+ # Please instead update this file by running `bin/tapioca gem spoom`.
6
+
7
+ # source://spoom-1.1.12/lib/spoom.rb:7
8
+ module Spoom
9
+ class << self
10
+ # source://spoom-1.1.12/lib/spoom.rb:45
11
+ sig { params(cmd: ::String, arg: ::String, path: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) }
12
+ def exec(cmd, *arg, path: T.unsafe(nil), capture_err: T.unsafe(nil))
13
+ ;
14
+ end
15
+ end
16
+ end
17
+
18
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:9
19
+ module Spoom::Cli
20
+ ;
21
+ end
22
+
23
+ # source://spoom-1.1.12/lib/spoom/cli/bump.rb:9
24
+ class Spoom::Cli::Bump < ::Thor
25
+ include ::Spoom::Colorize
26
+ include ::Spoom::Cli::Helper
27
+
28
+ # source://spoom-1.1.12/lib/spoom/cli/bump.rb:32
29
+ sig { params(directory: ::String).void }
30
+ def bump(directory = T.unsafe(nil))
31
+ ;
32
+ end
33
+
34
+ # source://spoom-1.1.12/lib/spoom/cli/bump.rb:159
35
+ def config_files(path: T.unsafe(nil))
36
+ ;
37
+ end
38
+
39
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil))
40
+ ;
41
+ end
42
+
43
+ # source://spoom-1.1.12/lib/spoom/cli/bump.rb:134
44
+ def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil))
45
+ ;
46
+ end
47
+
48
+ # source://spoom-1.1.12/lib/spoom/cli/bump.rb:155
49
+ def undo_changes(files, from_strictness)
50
+ ;
51
+ end
52
+ end
53
+
54
+ # source://spoom-1.1.12/lib/spoom/cli/config.rb:9
55
+ class Spoom::Cli::Config < ::Thor
56
+ include ::Spoom::Colorize
57
+ include ::Spoom::Cli::Helper
58
+
59
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil))
60
+ ;
61
+ end
62
+
63
+ # source://spoom-1.1.12/lib/spoom/cli/config.rb:15
64
+ def show; end
65
+ end
66
+
67
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:9
68
+ class Spoom::Cli::Coverage < ::Thor
69
+ include ::Spoom::Colorize
70
+ include ::Spoom::Cli::Helper
71
+
72
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:187
73
+ def bundle_install(path, sha)
74
+ ;
75
+ end
76
+
77
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil))
78
+ ;
79
+ end
80
+
81
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:199
82
+ def message_no_data(file)
83
+ ;
84
+ end
85
+
86
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:162
87
+ def open(file = T.unsafe(nil))
88
+ ;
89
+ end
90
+
91
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:178
92
+ def parse_time(string, option)
93
+ ;
94
+ end
95
+
96
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:131
97
+ def report; end
98
+
99
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:20
100
+ def snapshot; end
101
+
102
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:43
103
+ def timeline; end
104
+ end
105
+
106
+ # source://spoom-1.1.12/lib/spoom/cli/coverage.rb:12
107
+ Spoom::Cli::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
108
+
109
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:10
110
+ module Spoom::Cli::Helper
111
+ include ::Spoom::Colorize
112
+
113
+ requires_ancestor { Thor }
114
+
115
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:143
116
+ sig { params(string: ::String).returns(::String) }
117
+ def blue(string)
118
+ ;
119
+ end
120
+
121
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:87
122
+ sig { params(exit_code: ::Integer, block: T.nilable(T.proc.void)).void }
123
+ def check_sorbet_segfault(exit_code, &block)
124
+ ;
125
+ end
126
+
127
+ # Is the `--color` option true?
128
+ #
129
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:107
130
+ sig { returns(T::Boolean) }
131
+ def color?; end
132
+
133
+ # Colorize a string if `color?`
134
+ #
135
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:136
136
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
137
+ def colorize(string, *color)
138
+ ;
139
+ end
140
+
141
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:148
142
+ sig { params(string: ::String).returns(::String) }
143
+ def cyan(string)
144
+ ;
145
+ end
146
+
147
+ # Return the path specified through `--path`
148
+ #
149
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:72
150
+ sig { returns(::String) }
151
+ def exec_path; end
152
+
153
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:153
154
+ sig { params(string: ::String).returns(::String) }
155
+ def gray(string)
156
+ ;
157
+ end
158
+
159
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:158
160
+ sig { params(string: ::String).returns(::String) }
161
+ def green(string)
162
+ ;
163
+ end
164
+
165
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:112
166
+ sig { params(string: ::String).returns(::String) }
167
+ def highlight(string)
168
+ ;
169
+ end
170
+
171
+ # Enforce that `spoom` is ran inside a project with a `sorbet/config` file
172
+ #
173
+ # Display an error message and exit otherwise.
174
+ #
175
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:59
176
+ sig { void }
177
+ def in_sorbet_project!; end
178
+
179
+ # Is `spoom` ran inside a project with a `sorbet/config` file?
180
+ #
181
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:51
182
+ sig { returns(T::Boolean) }
183
+ def in_sorbet_project?; end
184
+
185
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:163
186
+ sig { params(string: ::String).returns(::String) }
187
+ def red(string)
188
+ ;
189
+ end
190
+
191
+ # Print `message` on `$stdout`
192
+ #
193
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:20
194
+ sig { params(message: ::String).void }
195
+ def say(message)
196
+ ;
197
+ end
198
+
199
+ # Print `message` on `$stderr`
200
+ #
201
+ # The message is prefixed by a status (default: `Error`).
202
+ #
203
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:39
204
+ sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
205
+ def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil))
206
+ ;
207
+ end
208
+
209
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:82
210
+ sig { returns(::Spoom::Sorbet::Config) }
211
+ def sorbet_config; end
212
+
213
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:77
214
+ sig { returns(::String) }
215
+ def sorbet_config_file; end
216
+
217
+ # source://spoom-1.1.12/lib/spoom/cli/helper.rb:168
218
+ sig { params(string: ::String).returns(::String) }
219
+ def yellow(string)
220
+ ;
221
+ end
222
+ end
223
+
224
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:10
225
+ class Spoom::Cli::LSP < ::Thor
226
+ include ::Spoom::Colorize
227
+ include ::Spoom::Cli::Helper
228
+
229
+ # TODO: options, filter, limit, kind etc.. filter rbi
230
+ #
231
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:54
232
+ def defs(file, line, col)
233
+ ;
234
+ end
235
+
236
+ # TODO: options, filter, limit, kind etc.. filter rbi
237
+ #
238
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:64
239
+ def find(query)
240
+ ;
241
+ end
242
+
243
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil))
244
+ ;
245
+ end
246
+
247
+ # TODO: options, filter, limit, kind etc.. filter rbi
248
+ #
249
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:40
250
+ def hover(file, line, col)
251
+ ;
252
+ end
253
+
254
+ # TODO: options, filter, limit, kind etc.. filter rbi
255
+ #
256
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:25
257
+ def list; end
258
+
259
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:113
260
+ def lsp_client; end
261
+
262
+ # TODO: options, filter, limit, kind etc.. filter rbi
263
+ #
264
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:84
265
+ def refs(file, line, col)
266
+ ;
267
+ end
268
+
269
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:135
270
+ def run(&block)
271
+ ;
272
+ end
273
+
274
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:16
275
+ def show; end
276
+
277
+ # TODO: options, filter, limit, kind etc.. filter rbi
278
+ #
279
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:94
280
+ def sigs(file, line, col)
281
+ ;
282
+ end
283
+
284
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:127
285
+ def symbol_printer; end
286
+
287
+ # TODO: options, filter, limit, kind etc.. filter rbi
288
+ #
289
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:74
290
+ def symbols(file)
291
+ ;
292
+ end
293
+
294
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:160
295
+ def to_uri(path)
296
+ ;
297
+ end
298
+
299
+ # TODO: options, filter, limit, kind etc.. filter rbi
300
+ #
301
+ # source://spoom-1.1.12/lib/spoom/cli/lsp.rb:104
302
+ def types(file, line, col)
303
+ ;
304
+ end
305
+ end
306
+
307
+ # source://spoom-1.1.12/lib/spoom/cli.rb:16
308
+ class Spoom::Cli::Main < ::Thor
309
+ include ::Spoom::Colorize
310
+ include ::Spoom::Cli::Helper
311
+
312
+ # source://spoom-1.1.12/lib/spoom/cli.rb:68
313
+ def __print_version; end
314
+
315
+ # source://thor-1.2.1/lib/thor.rb:239
316
+ def bump(*args)
317
+ ;
318
+ end
319
+
320
+ # source://thor-1.2.1/lib/thor.rb:239
321
+ def config(*args)
322
+ ;
323
+ end
324
+
325
+ # source://thor-1.2.1/lib/thor.rb:239
326
+ def coverage(*args)
327
+ ;
328
+ end
329
+
330
+ # source://spoom-1.1.12/lib/spoom/cli.rb:43
331
+ def files; end
332
+
333
+ # source://thor-1.2.1/lib/thor.rb:239
334
+ def lsp(*args)
335
+ ;
336
+ end
337
+
338
+ # source://thor-1.2.1/lib/thor.rb:239
339
+ def tc(*args)
340
+ ;
341
+ end
342
+
343
+ class << self
344
+ # @return [Boolean]
345
+ #
346
+ # source://spoom-1.1.12/lib/spoom/cli.rb:75
347
+ def exit_on_failure?; end
348
+ end
349
+ end
350
+
351
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:6
352
+ class Spoom::Cli::Run < ::Thor
353
+ include ::Spoom::Colorize
354
+ include ::Spoom::Cli::Helper
355
+
356
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:117
357
+ def colorize_message(message)
358
+ ;
359
+ end
360
+
361
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:108
362
+ def format_error(error, format)
363
+ ;
364
+ end
365
+
366
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil))
367
+ ;
368
+ end
369
+
370
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:26
371
+ def tc(*paths_to_select)
372
+ ;
373
+ end
374
+ end
375
+
376
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:15
377
+ Spoom::Cli::Run::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
378
+
379
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:11
380
+ Spoom::Cli::Run::SORT_CODE = T.let(T.unsafe(nil), String)
381
+
382
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:13
383
+ Spoom::Cli::Run::SORT_ENUM = T.let(T.unsafe(nil), Array)
384
+
385
+ # source://spoom-1.1.12/lib/spoom/cli/run.rb:12
386
+ Spoom::Cli::Run::SORT_LOC = T.let(T.unsafe(nil), String)
387
+
388
+ # source://spoom-1.1.12/lib/spoom/colors.rb:5
389
+ class Spoom::Color < ::T::Enum
390
+ enums do
391
+ CLEAR = new
392
+ BOLD = new
393
+ BLACK = new
394
+ RED = new
395
+ GREEN = new
396
+ YELLOW = new
397
+ BLUE = new
398
+ MAGENTA = new
399
+ CYAN = new
400
+ WHITE = new
401
+ LIGHT_BLACK = new
402
+ LIGHT_RED = new
403
+ LIGHT_GREEN = new
404
+ LIGHT_YELLOW = new
405
+ LIGHT_BLUE = new
406
+ LIGHT_MAGENTA = new
407
+ LIGHT_CYAN = new
408
+ LIGHT_WHITE = new
409
+ end
410
+
411
+ # source://spoom-1.1.12/lib/spoom/colors.rb:32
412
+ sig { returns(::String) }
413
+ def ansi_code; end
414
+ end
415
+
416
+ # source://spoom-1.1.12/lib/spoom/colors.rb:37
417
+ module Spoom::Colorize
418
+ # source://spoom-1.1.12/lib/spoom/colors.rb:41
419
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
420
+ def set_color(string, *color)
421
+ ;
422
+ end
423
+ end
424
+
425
+ # An abstraction to a Ruby project context
426
+ #
427
+ # A context maps to a directory in the file system.
428
+ # It is used to manipulate files and run commands in the context of this directory.
429
+ #
430
+ # source://spoom-1.1.12/lib/spoom/context.rb:12
431
+ class Spoom::Context
432
+ # Create a new context about `absolute_path`
433
+ #
434
+ # The directory will not be created if it doesn't exist.
435
+ # Call `#make!` to create it.
436
+ #
437
+ # source://spoom-1.1.12/lib/spoom/context.rb:37
438
+ sig { params(absolute_path: ::String).void }
439
+ def initialize(absolute_path)
440
+ ;
441
+ end
442
+
443
+ # The absolute path to the directory this context is about
444
+ #
445
+ # source://spoom-1.1.12/lib/spoom/context.rb:17
446
+ sig { returns(::String) }
447
+ def absolute_path; end
448
+
449
+ # Returns the absolute path to `relative_path` in the context's directory
450
+ #
451
+ # source://spoom-1.1.12/lib/spoom/context.rb:43
452
+ sig { params(relative_path: ::String).returns(::String) }
453
+ def absolute_path_to(relative_path)
454
+ ;
455
+ end
456
+
457
+ # Run a command with `bundle` in this context directory
458
+ #
459
+ # source://spoom-1.1.12/lib/spoom/context.rb:150
460
+ sig { params(command: ::String, version: T.nilable(::String)).returns(::Spoom::ExecResult) }
461
+ def bundle(command, version: T.unsafe(nil))
462
+ ;
463
+ end
464
+
465
+ # Run a command `bundle exec` in this context directory
466
+ #
467
+ # source://spoom-1.1.12/lib/spoom/context.rb:163
468
+ sig { params(command: ::String, version: T.nilable(::String)).returns(::Spoom::ExecResult) }
469
+ def bundle_exec(command, version: T.unsafe(nil))
470
+ ;
471
+ end
472
+
473
+ # Run `bundle install` in this context directory
474
+ #
475
+ # source://spoom-1.1.12/lib/spoom/context.rb:157
476
+ sig { params(version: T.nilable(::String)).returns(::Spoom::ExecResult) }
477
+ def bundle_install!(version: T.unsafe(nil))
478
+ ;
479
+ end
480
+
481
+ # Delete this context and its content
482
+ #
483
+ # Warning: it will `rm -rf` the context directory on the file system.
484
+ #
485
+ # source://spoom-1.1.12/lib/spoom/context.rb:112
486
+ sig { void }
487
+ def destroy!; end
488
+
489
+ # Run a command in this context directory
490
+ #
491
+ # source://spoom-1.1.12/lib/spoom/context.rb:120
492
+ sig { params(command: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) }
493
+ def exec(command, capture_err: T.unsafe(nil))
494
+ ;
495
+ end
496
+
497
+ # Does `relative_path` point to an existing file in this context directory?
498
+ #
499
+ # source://spoom-1.1.12/lib/spoom/context.rb:72
500
+ sig { params(relative_path: ::String).returns(T::Boolean) }
501
+ def file?(relative_path)
502
+ ;
503
+ end
504
+
505
+ # Run a command prefixed by `git` in this context directory
506
+ #
507
+ # source://spoom-1.1.12/lib/spoom/context.rb:171
508
+ sig { params(command: ::String).returns(::Spoom::ExecResult) }
509
+ def git(command)
510
+ ;
511
+ end
512
+
513
+ # Run `git checkout` in this context directory
514
+ #
515
+ # source://spoom-1.1.12/lib/spoom/context.rb:183
516
+ sig { params(ref: ::String).returns(::Spoom::ExecResult) }
517
+ def git_checkout!(ref: T.unsafe(nil))
518
+ ;
519
+ end
520
+
521
+ # Get the current git branch in this context directory
522
+ #
523
+ # source://spoom-1.1.12/lib/spoom/context.rb:189
524
+ sig { returns(T.nilable(::String)) }
525
+ def git_current_branch; end
526
+
527
+ # Run `git init` in this context directory
528
+ #
529
+ # source://spoom-1.1.12/lib/spoom/context.rb:177
530
+ sig { params(branch: ::String).void }
531
+ def git_init!(branch: T.unsafe(nil))
532
+ ;
533
+ end
534
+
535
+ # List all files in this context matching `pattern`
536
+ #
537
+ # source://spoom-1.1.12/lib/spoom/context.rb:58
538
+ sig { params(pattern: ::String).returns(T::Array[::String]) }
539
+ def glob(pattern = T.unsafe(nil))
540
+ ;
541
+ end
542
+
543
+ # List all files at the top level of this context directory
544
+ #
545
+ # source://spoom-1.1.12/lib/spoom/context.rb:66
546
+ sig { returns(T::Array[::String]) }
547
+ def list; end
548
+
549
+ # Create the context directory at `absolute_path`
550
+ #
551
+ # source://spoom-1.1.12/lib/spoom/context.rb:51
552
+ sig { void }
553
+ def mkdir!; end
554
+
555
+ # Move the file or directory from `from_relative_path` to `to_relative_path`
556
+ #
557
+ # source://spoom-1.1.12/lib/spoom/context.rb:102
558
+ sig { params(from_relative_path: ::String, to_relative_path: ::String).void }
559
+ def move!(from_relative_path, to_relative_path)
560
+ ;
561
+ end
562
+
563
+ # Return the contents of the file at `relative_path` in this context directory
564
+ #
565
+ # Will raise if the file doesn't exist.
566
+ #
567
+ # source://spoom-1.1.12/lib/spoom/context.rb:80
568
+ sig { params(relative_path: ::String).returns(::String) }
569
+ def read(relative_path)
570
+ ;
571
+ end
572
+
573
+ # Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil)
574
+ #
575
+ # source://spoom-1.1.12/lib/spoom/context.rb:215
576
+ sig { params(relative_path: ::String).returns(T.nilable(::String)) }
577
+ def read_file_strictness(relative_path)
578
+ ;
579
+ end
580
+
581
+ # Read the `contents` of the Gemfile in this context directory
582
+ #
583
+ # source://spoom-1.1.12/lib/spoom/context.rb:138
584
+ sig { returns(T.nilable(::String)) }
585
+ def read_gemfile; end
586
+
587
+ # Read the contents of `sorbet/config` in this context directory
588
+ #
589
+ # source://spoom-1.1.12/lib/spoom/context.rb:203
590
+ sig { returns(::String) }
591
+ def read_sorbet_config; end
592
+
593
+ # Remove the path at `relative_path` (recursive + force) in this context directory
594
+ #
595
+ # source://spoom-1.1.12/lib/spoom/context.rb:96
596
+ sig { params(relative_path: ::String).void }
597
+ def remove!(relative_path)
598
+ ;
599
+ end
600
+
601
+ # Run `bundle exec srb` in this context directory
602
+ #
603
+ # source://spoom-1.1.12/lib/spoom/context.rb:197
604
+ sig { params(command: ::String).returns(::Spoom::ExecResult) }
605
+ def srb(command)
606
+ ;
607
+ end
608
+
609
+ # Write `contents` in the file at `relative_path` in this context directory
610
+ #
611
+ # Append to the file if `append` is true.
612
+ #
613
+ # source://spoom-1.1.12/lib/spoom/context.rb:88
614
+ sig { params(relative_path: ::String, contents: ::String, append: T::Boolean).void }
615
+ def write!(relative_path, contents = T.unsafe(nil), append: T.unsafe(nil))
616
+ ;
617
+ end
618
+
619
+ # Set the `contents` of the Gemfile in this context directory
620
+ #
621
+ # source://spoom-1.1.12/lib/spoom/context.rb:144
622
+ sig { params(contents: ::String, append: T::Boolean).void }
623
+ def write_gemfile!(contents, append: T.unsafe(nil))
624
+ ;
625
+ end
626
+
627
+ # Set the `contents` of `sorbet/config` in this context directory
628
+ #
629
+ # source://spoom-1.1.12/lib/spoom/context.rb:209
630
+ sig { params(contents: ::String, append: T::Boolean).void }
631
+ def write_sorbet_config!(contents, append: T.unsafe(nil))
632
+ ;
633
+ end
634
+
635
+ class << self
636
+ # Create a new context in the system's temporary directory
637
+ #
638
+ # `name` is used as prefix to the temporary directory name.
639
+ # The directory will be created if it doesn't exist.
640
+ #
641
+ # source://spoom-1.1.12/lib/spoom/context.rb:27
642
+ sig { params(name: T.nilable(::String)).returns(T.attached_class) }
643
+ def mktmp!(name = T.unsafe(nil))
644
+ ;
645
+ end
646
+ end
647
+ end
648
+
649
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:5
650
+ module Spoom::Coverage
651
+ class << self
652
+ # source://spoom-1.1.12/lib/spoom/coverage.rb:69
653
+ sig do
654
+ params(
655
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
656
+ palette: ::Spoom::Coverage::D3::ColorPalette,
657
+ path: ::String
658
+ ).returns(::Spoom::Coverage::Report)
659
+ end
660
+ def report(snapshots, palette:, path: T.unsafe(nil))
661
+ ;
662
+ end
663
+
664
+ # source://spoom-1.1.12/lib/spoom/coverage.rb:89
665
+ sig { params(path: ::String).returns(::Spoom::FileTree) }
666
+ def sigils_tree(path: T.unsafe(nil))
667
+ ;
668
+ end
669
+
670
+ # source://spoom-1.1.12/lib/spoom/coverage.rb:16
671
+ sig do
672
+ params(
673
+ path: ::String,
674
+ rbi: T::Boolean,
675
+ sorbet_bin: T.nilable(::String)
676
+ ).returns(::Spoom::Coverage::Snapshot)
677
+ end
678
+ def snapshot(path: T.unsafe(nil), rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil))
679
+ ;
680
+ end
681
+
682
+ # source://spoom-1.1.12/lib/spoom/coverage.rb:84
683
+ sig { params(path: ::String).returns(::Spoom::Sorbet::Config) }
684
+ def sorbet_config(path: T.unsafe(nil))
685
+ ;
686
+ end
687
+ end
688
+ end
689
+
690
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:88
691
+ module Spoom::Coverage::Cards
692
+ ;
693
+ end
694
+
695
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:89
696
+ class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template
697
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:98
698
+ sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void }
699
+ def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil))
700
+ ;
701
+ end
702
+
703
+ # @return [String, nil]
704
+ #
705
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:95
706
+ def body; end
707
+
708
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:95
709
+ sig { returns(T.nilable(::String)) }
710
+ def title; end
711
+ end
712
+
713
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:92
714
+ Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String)
715
+
716
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
717
+ #
718
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:105
719
+ class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
720
+ abstract!
721
+
722
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:112
723
+ sig { void }
724
+ def initialize; end
725
+
726
+ # @abstract
727
+ #
728
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:120
729
+ sig { abstract.returns(::String) }
730
+ def erb; end
731
+
732
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:115
733
+ sig { override.returns(::String) }
734
+ def html; end
735
+ end
736
+
737
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:153
738
+ class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card
739
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:157
740
+ sig { params(sigils_tree: ::Spoom::FileTree, title: ::String).void }
741
+ def initialize(sigils_tree:, title: T.unsafe(nil))
742
+ ;
743
+ end
744
+ end
745
+
746
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:123
747
+ class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card
748
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:132
749
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void }
750
+ def initialize(snapshot:, title: T.unsafe(nil))
751
+ ;
752
+ end
753
+
754
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:143
755
+ sig { returns(::Spoom::Coverage::D3::Pie::Calls) }
756
+ def pie_calls; end
757
+
758
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:138
759
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigils) }
760
+ def pie_sigils; end
761
+
762
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:148
763
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigs) }
764
+ def pie_sigs; end
765
+
766
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:129
767
+ sig { returns(::Spoom::Coverage::Snapshot) }
768
+ def snapshot; end
769
+ end
770
+
771
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:126
772
+ Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String)
773
+
774
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:225
775
+ class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb
776
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:229
777
+ sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void }
778
+ def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil))
779
+ ;
780
+ end
781
+
782
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:235
783
+ sig { override.returns(::String) }
784
+ def erb; end
785
+ end
786
+
787
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:162
788
+ class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card
789
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:166
790
+ sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void }
791
+ def initialize(title:, timeline:)
792
+ ;
793
+ end
794
+ end
795
+
796
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:179
797
+ class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline
798
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:183
799
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
800
+ def initialize(snapshots:, title: T.unsafe(nil))
801
+ ;
802
+ end
803
+ end
804
+
805
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:197
806
+ class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline
807
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:201
808
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
809
+ def initialize(snapshots:, title: T.unsafe(nil))
810
+ ;
811
+ end
812
+ end
813
+
814
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:215
815
+ class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline
816
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:219
817
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
818
+ def initialize(snapshots:, title: T.unsafe(nil))
819
+ ;
820
+ end
821
+ end
822
+
823
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:170
824
+ class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline
825
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:174
826
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
827
+ def initialize(snapshots:, title: T.unsafe(nil))
828
+ ;
829
+ end
830
+ end
831
+
832
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:188
833
+ class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline
834
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:192
835
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
836
+ def initialize(snapshots:, title: T.unsafe(nil))
837
+ ;
838
+ end
839
+ end
840
+
841
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:206
842
+ class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline
843
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:210
844
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
845
+ def initialize(snapshots:, title: T.unsafe(nil))
846
+ ;
847
+ end
848
+ end
849
+
850
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:6
851
+ module Spoom::Coverage::D3
852
+ class << self
853
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:61
854
+ sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) }
855
+ def header_script(palette)
856
+ ;
857
+ end
858
+
859
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:21
860
+ sig { returns(::String) }
861
+ def header_style; end
862
+ end
863
+ end
864
+
865
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
866
+ #
867
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:7
868
+ class Spoom::Coverage::D3::Base
869
+ abstract!
870
+
871
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:17
872
+ sig { params(id: ::String, data: T.untyped).void }
873
+ def initialize(id, data)
874
+ ;
875
+ end
876
+
877
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:37
878
+ sig { returns(::String) }
879
+ def html; end
880
+
881
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:14
882
+ sig { returns(::String) }
883
+ def id; end
884
+
885
+ # @abstract
886
+ #
887
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:50
888
+ sig { abstract.returns(::String) }
889
+ def script; end
890
+
891
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:45
892
+ sig { returns(::String) }
893
+ def tooltip; end
894
+
895
+ class << self
896
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:31
897
+ sig { returns(::String) }
898
+ def header_script; end
899
+
900
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/base.rb:26
901
+ sig { returns(::String) }
902
+ def header_style; end
903
+ end
904
+ end
905
+
906
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:12
907
+ Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String)
908
+
909
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:11
910
+ Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String)
911
+
912
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:14
913
+ Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String)
914
+
915
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:15
916
+ Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String)
917
+
918
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:13
919
+ Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String)
920
+
921
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:9
922
+ class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base
923
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:59
924
+ sig { override.returns(::String) }
925
+ def script; end
926
+
927
+ class << self
928
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:40
929
+ sig { returns(::String) }
930
+ def header_script; end
931
+
932
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:14
933
+ sig { returns(::String) }
934
+ def header_style; end
935
+ end
936
+ end
937
+
938
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:148
939
+ class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
940
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:152
941
+ sig { params(id: ::String, sigils_tree: ::Spoom::FileTree).void }
942
+ def initialize(id, sigils_tree)
943
+ ;
944
+ end
945
+
946
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:181
947
+ sig { params(node: ::Spoom::FileTree::Node).returns(::Float) }
948
+ def tree_node_score(node)
949
+ ;
950
+ end
951
+
952
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:173
953
+ sig { params(node: ::Spoom::FileTree::Node).returns(T.nilable(::String)) }
954
+ def tree_node_strictness(node)
955
+ ;
956
+ end
957
+
958
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/circle_map.rb:160
959
+ sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) }
960
+ def tree_node_to_json(node)
961
+ ;
962
+ end
963
+ end
964
+
965
+ # source://spoom-1.1.12/lib/spoom/coverage/d3.rb:103
966
+ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
967
+ prop :false, ::String
968
+ prop :ignore, ::String
969
+ prop :strict, ::String
970
+ prop :strong, ::String
971
+ prop :true, ::String
972
+
973
+ class << self
974
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
975
+ def inherited(s)
976
+ ;
977
+ end
978
+ end
979
+ end
980
+
981
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
982
+ #
983
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:9
984
+ class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
985
+ abstract!
986
+
987
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:16
988
+ sig { params(id: ::String, title: ::String, data: T.untyped).void }
989
+ def initialize(id, title, data)
990
+ ;
991
+ end
992
+
993
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:56
994
+ sig { override.returns(::String) }
995
+ def script; end
996
+
997
+ class << self
998
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:43
999
+ sig { returns(::String) }
1000
+ def header_script; end
1001
+
1002
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:25
1003
+ sig { returns(::String) }
1004
+ def header_style; end
1005
+ end
1006
+ end
1007
+
1008
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:141
1009
+ class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie
1010
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:145
1011
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
1012
+ def initialize(id, title, snapshot)
1013
+ ;
1014
+ end
1015
+
1016
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:150
1017
+ sig { override.returns(::String) }
1018
+ def tooltip; end
1019
+ end
1020
+
1021
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:123
1022
+ class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie
1023
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:127
1024
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
1025
+ def initialize(id, title, snapshot)
1026
+ ;
1027
+ end
1028
+
1029
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:132
1030
+ sig { override.returns(::String) }
1031
+ def tooltip; end
1032
+ end
1033
+
1034
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:159
1035
+ class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie
1036
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:163
1037
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
1038
+ def initialize(id, title, snapshot)
1039
+ ;
1040
+ end
1041
+
1042
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/pie.rb:168
1043
+ sig { override.returns(::String) }
1044
+ def tooltip; end
1045
+ end
1046
+
1047
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
1048
+ #
1049
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:9
1050
+ class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
1051
+ abstract!
1052
+
1053
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:16
1054
+ sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void }
1055
+ def initialize(id, data, keys)
1056
+ ;
1057
+ end
1058
+
1059
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:187
1060
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1061
+ def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil))
1062
+ ;
1063
+ end
1064
+
1065
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:203
1066
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1067
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil))
1068
+ ;
1069
+ end
1070
+
1071
+ # @abstract
1072
+ #
1073
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:126
1074
+ sig { abstract.returns(::String) }
1075
+ def plot; end
1076
+
1077
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:217
1078
+ sig { params(y: ::String).returns(::String) }
1079
+ def points(y:)
1080
+ ;
1081
+ end
1082
+
1083
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:101
1084
+ sig { override.returns(::String) }
1085
+ def script; end
1086
+
1087
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:129
1088
+ sig { returns(::String) }
1089
+ def x_scale; end
1090
+
1091
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:145
1092
+ sig { returns(::String) }
1093
+ def x_ticks; end
1094
+
1095
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:158
1096
+ sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) }
1097
+ def y_scale(min:, max:, ticks:)
1098
+ ;
1099
+ end
1100
+
1101
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:174
1102
+ sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) }
1103
+ def y_ticks(ticks:, format:, padding:)
1104
+ ;
1105
+ end
1106
+
1107
+ class << self
1108
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:79
1109
+ sig { returns(::String) }
1110
+ def header_script; end
1111
+
1112
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:25
1113
+ sig { returns(::String) }
1114
+ def header_style; end
1115
+ end
1116
+ end
1117
+
1118
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:448
1119
+ class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked
1120
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:452
1121
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1122
+ def initialize(id, snapshots)
1123
+ ;
1124
+ end
1125
+
1126
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:466
1127
+ sig { override.returns(::String) }
1128
+ def tooltip; end
1129
+ end
1130
+
1131
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:502
1132
+ class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked
1133
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:506
1134
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1135
+ def initialize(id, snapshots)
1136
+ ;
1137
+ end
1138
+
1139
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:574
1140
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1141
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil))
1142
+ ;
1143
+ end
1144
+
1145
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:614
1146
+ sig { override.returns(::String) }
1147
+ def plot; end
1148
+
1149
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:534
1150
+ sig { override.returns(::String) }
1151
+ def script; end
1152
+
1153
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:520
1154
+ sig { override.returns(::String) }
1155
+ def tooltip; end
1156
+ end
1157
+
1158
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:282
1159
+ class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline
1160
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:286
1161
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1162
+ def initialize(id, snapshots)
1163
+ ;
1164
+ end
1165
+
1166
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:311
1167
+ sig { override.returns(::String) }
1168
+ def plot; end
1169
+
1170
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:298
1171
+ sig { override.returns(::String) }
1172
+ def tooltip; end
1173
+ end
1174
+
1175
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:421
1176
+ class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked
1177
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:425
1178
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1179
+ def initialize(id, snapshots)
1180
+ ;
1181
+ end
1182
+
1183
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:439
1184
+ sig { override.returns(::String) }
1185
+ def tooltip; end
1186
+ end
1187
+
1188
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:475
1189
+ class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked
1190
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:479
1191
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1192
+ def initialize(id, snapshots)
1193
+ ;
1194
+ end
1195
+
1196
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:493
1197
+ sig { override.returns(::String) }
1198
+ def tooltip; end
1199
+ end
1200
+
1201
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
1202
+ #
1203
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:329
1204
+ class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
1205
+ abstract!
1206
+
1207
+ # source://sorbet-runtime-0.5.10346/lib/types/private/abstract/declare.rb:37
1208
+ def initialize(*args, **_arg1, &blk)
1209
+ ;
1210
+ end
1211
+
1212
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:388
1213
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1214
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil))
1215
+ ;
1216
+ end
1217
+
1218
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:377
1219
+ sig { override.returns(::String) }
1220
+ def plot; end
1221
+
1222
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:336
1223
+ sig { override.returns(::String) }
1224
+ def script; end
1225
+ end
1226
+
1227
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:232
1228
+ class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline
1229
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:236
1230
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1231
+ def initialize(id, snapshots)
1232
+ ;
1233
+ end
1234
+
1235
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:263
1236
+ sig { override.returns(::String) }
1237
+ def plot; end
1238
+
1239
+ # source://spoom-1.1.12/lib/spoom/coverage/d3/timeline.rb:249
1240
+ sig { override.returns(::String) }
1241
+ def tooltip; end
1242
+ end
1243
+
1244
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
1245
+ #
1246
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:38
1247
+ class Spoom::Coverage::Page < ::Spoom::Coverage::Template
1248
+ abstract!
1249
+
1250
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:53
1251
+ sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void }
1252
+ def initialize(title:, palette:, template: T.unsafe(nil))
1253
+ ;
1254
+ end
1255
+
1256
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:75
1257
+ sig { returns(::String) }
1258
+ def body_html; end
1259
+
1260
+ # @abstract
1261
+ #
1262
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:80
1263
+ sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1264
+ def cards; end
1265
+
1266
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:83
1267
+ sig { returns(::String) }
1268
+ def footer_html; end
1269
+
1270
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:70
1271
+ sig { returns(::String) }
1272
+ def header_html; end
1273
+
1274
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:65
1275
+ sig { returns(::String) }
1276
+ def header_script; end
1277
+
1278
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:60
1279
+ sig { returns(::String) }
1280
+ def header_style; end
1281
+
1282
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:50
1283
+ sig { returns(::Spoom::Coverage::D3::ColorPalette) }
1284
+ def palette; end
1285
+
1286
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:47
1287
+ sig { returns(::String) }
1288
+ def title; end
1289
+ end
1290
+
1291
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:44
1292
+ Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String)
1293
+
1294
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:246
1295
+ class Spoom::Coverage::Report < ::Spoom::Coverage::Page
1296
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:274
1297
+ sig do
1298
+ params(
1299
+ project_name: ::String,
1300
+ palette: ::Spoom::Coverage::D3::ColorPalette,
1301
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
1302
+ sigils_tree: ::Spoom::FileTree,
1303
+ sorbet_intro_commit: T.nilable(::String),
1304
+ sorbet_intro_date: T.nilable(::Time)
1305
+ ).void
1306
+ end
1307
+ def initialize(project_name:, palette:, snapshots:, sigils_tree:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil))
1308
+ ;
1309
+ end
1310
+
1311
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:302
1312
+ sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1313
+ def cards; end
1314
+
1315
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:291
1316
+ sig { override.returns(::String) }
1317
+ def header_html; end
1318
+
1319
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:250
1320
+ sig { returns(::String) }
1321
+ def project_name; end
1322
+
1323
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:262
1324
+ sig { returns(::Spoom::FileTree) }
1325
+ def sigils_tree; end
1326
+
1327
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:259
1328
+ sig { returns(T::Array[::Spoom::Coverage::Snapshot]) }
1329
+ def snapshots; end
1330
+
1331
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:253
1332
+ sig { returns(T.nilable(::String)) }
1333
+ def sorbet_intro_commit; end
1334
+
1335
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:256
1336
+ sig { returns(T.nilable(::Time)) }
1337
+ def sorbet_intro_date; end
1338
+ end
1339
+
1340
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:6
1341
+ class Spoom::Coverage::Snapshot < ::T::Struct
1342
+ prop :calls_typed, ::Integer, default: T.unsafe(nil)
1343
+ prop :calls_untyped, ::Integer, default: T.unsafe(nil)
1344
+ prop :classes, ::Integer, default: T.unsafe(nil)
1345
+ prop :commit_sha, T.nilable(::String), default: T.unsafe(nil)
1346
+ prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil)
1347
+ prop :duration, ::Integer, default: T.unsafe(nil)
1348
+ prop :files, ::Integer, default: T.unsafe(nil)
1349
+ prop :methods_with_sig, ::Integer, default: T.unsafe(nil)
1350
+ prop :methods_without_sig, ::Integer, default: T.unsafe(nil)
1351
+ prop :modules, ::Integer, default: T.unsafe(nil)
1352
+ prop :rbi_files, ::Integer, default: T.unsafe(nil)
1353
+ prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil)
1354
+ prop :singleton_classes, ::Integer, default: T.unsafe(nil)
1355
+ prop :timestamp, ::Integer, default: T.unsafe(nil)
1356
+ prop :version_runtime, T.nilable(::String), default: T.unsafe(nil)
1357
+ prop :version_static, T.nilable(::String), default: T.unsafe(nil)
1358
+
1359
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:30
1360
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
1361
+ def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil))
1362
+ ;
1363
+ end
1364
+
1365
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:36
1366
+ sig { params(arg: T.untyped).returns(::String) }
1367
+ def to_json(*arg)
1368
+ ;
1369
+ end
1370
+
1371
+ class << self
1372
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:44
1373
+ sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) }
1374
+ def from_json(json)
1375
+ ;
1376
+ end
1377
+
1378
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:49
1379
+ sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
1380
+ def from_obj(obj)
1381
+ ;
1382
+ end
1383
+
1384
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
1385
+ def inherited(s)
1386
+ ;
1387
+ end
1388
+ end
1389
+ end
1390
+
1391
+ # The strictness name as found in the Sorbet metrics file
1392
+ #
1393
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:27
1394
+ Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array)
1395
+
1396
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:81
1397
+ class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer
1398
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:85
1399
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot).void }
1400
+ def print_snapshot(snapshot)
1401
+ ;
1402
+ end
1403
+
1404
+ private
1405
+
1406
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:134
1407
+ sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) }
1408
+ def percent(value, total)
1409
+ ;
1410
+ end
1411
+
1412
+ # source://spoom-1.1.12/lib/spoom/coverage/snapshot.rb:123
1413
+ sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void }
1414
+ def print_map(hash, total)
1415
+ ;
1416
+ end
1417
+ end
1418
+
1419
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
1420
+ #
1421
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:10
1422
+ class Spoom::Coverage::Template
1423
+ abstract!
1424
+
1425
+ # Create a new template from an Erb file path
1426
+ #
1427
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:18
1428
+ sig { params(template: ::String).void }
1429
+ def initialize(template:)
1430
+ ;
1431
+ end
1432
+
1433
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:23
1434
+ sig { returns(::String) }
1435
+ def erb; end
1436
+
1437
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:33
1438
+ sig { returns(::Binding) }
1439
+ def get_binding; end
1440
+
1441
+ # source://spoom-1.1.12/lib/spoom/coverage/report.rb:28
1442
+ sig { returns(::String) }
1443
+ def html; end
1444
+ end
1445
+
1446
+ # source://spoom-1.1.12/lib/spoom.rb:12
1447
+ class Spoom::Error < ::StandardError; end
1448
+
1449
+ # source://spoom-1.1.12/lib/spoom.rb:14
1450
+ class Spoom::ExecResult < ::T::Struct
1451
+ const :err, ::String
1452
+ const :exit_code, ::Integer
1453
+ const :out, ::String
1454
+ const :status, T::Boolean
1455
+
1456
+ # source://spoom-1.1.12/lib/spoom.rb:23
1457
+ sig { returns(::String) }
1458
+ def to_s; end
1459
+
1460
+ class << self
1461
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
1462
+ def inherited(s)
1463
+ ;
1464
+ end
1465
+ end
1466
+ end
1467
+
1468
+ # Build a file hierarchy from a set of file paths.
1469
+ #
1470
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:6
1471
+ class Spoom::FileTree
1472
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:13
1473
+ sig { params(paths: T::Enumerable[::String], strip_prefix: T.nilable(::String)).void }
1474
+ def initialize(paths = T.unsafe(nil), strip_prefix: T.unsafe(nil))
1475
+ ;
1476
+ end
1477
+
1478
+ # Add a `path` to the tree
1479
+ #
1480
+ # This will create all nodes until the root of `path`.
1481
+ #
1482
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:29
1483
+ sig { params(path: ::String).returns(::Spoom::FileTree::Node) }
1484
+ def add_path(path)
1485
+ ;
1486
+ end
1487
+
1488
+ # Add all `paths` to the tree
1489
+ #
1490
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:21
1491
+ sig { params(paths: T::Enumerable[::String]).void }
1492
+ def add_paths(paths)
1493
+ ;
1494
+ end
1495
+
1496
+ # All the nodes in this tree
1497
+ #
1498
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:51
1499
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
1500
+ def nodes; end
1501
+
1502
+ # All the paths in this tree
1503
+ #
1504
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:59
1505
+ sig { returns(T::Array[::String]) }
1506
+ def paths; end
1507
+
1508
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:71
1509
+ sig do
1510
+ params(
1511
+ out: T.any(::IO, ::StringIO),
1512
+ show_strictness: T::Boolean,
1513
+ colors: T::Boolean,
1514
+ indent_level: ::Integer
1515
+ ).void
1516
+ end
1517
+ def print(out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil))
1518
+ ;
1519
+ end
1520
+
1521
+ # All root nodes
1522
+ #
1523
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:45
1524
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
1525
+ def roots; end
1526
+
1527
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:10
1528
+ sig { returns(T.nilable(::String)) }
1529
+ def strip_prefix; end
1530
+
1531
+ private
1532
+
1533
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:85
1534
+ sig do
1535
+ params(
1536
+ node: ::Spoom::FileTree::Node,
1537
+ collected_nodes: T::Array[::Spoom::FileTree::Node]
1538
+ ).returns(T::Array[::Spoom::FileTree::Node])
1539
+ end
1540
+ def collect_nodes(node, collected_nodes = T.unsafe(nil))
1541
+ ;
1542
+ end
1543
+ end
1544
+
1545
+ # A node representing either a file or a directory inside a FileTree
1546
+ #
1547
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:92
1548
+ class Spoom::FileTree::Node < ::T::Struct
1549
+ const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil)
1550
+ const :name, ::String
1551
+ const :parent, T.nilable(::Spoom::FileTree::Node)
1552
+
1553
+ # Full path to this node from root
1554
+ #
1555
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:106
1556
+ sig { returns(::String) }
1557
+ def path; end
1558
+
1559
+ class << self
1560
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
1561
+ def inherited(s)
1562
+ ;
1563
+ end
1564
+ end
1565
+ end
1566
+
1567
+ # An internal class used to print a FileTree
1568
+ #
1569
+ # See `FileTree#print`
1570
+ #
1571
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:117
1572
+ class Spoom::FileTree::TreePrinter < ::Spoom::Printer
1573
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:132
1574
+ sig do
1575
+ params(
1576
+ tree: ::Spoom::FileTree,
1577
+ out: T.any(::IO, ::StringIO),
1578
+ show_strictness: T::Boolean,
1579
+ colors: T::Boolean,
1580
+ indent_level: ::Integer
1581
+ ).void
1582
+ end
1583
+ def initialize(tree:, out: T.unsafe(nil), show_strictness: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil))
1584
+ ;
1585
+ end
1586
+
1587
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:144
1588
+ sig { params(node: ::Spoom::FileTree::Node).void }
1589
+ def print_node(node)
1590
+ ;
1591
+ end
1592
+
1593
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:171
1594
+ sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void }
1595
+ def print_nodes(nodes)
1596
+ ;
1597
+ end
1598
+
1599
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:139
1600
+ sig { void }
1601
+ def print_tree; end
1602
+
1603
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:121
1604
+ sig { returns(::Spoom::FileTree) }
1605
+ def tree; end
1606
+
1607
+ private
1608
+
1609
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:178
1610
+ sig { params(node: ::Spoom::FileTree::Node).returns(T.nilable(::String)) }
1611
+ def node_strictness(node)
1612
+ ;
1613
+ end
1614
+
1615
+ # source://spoom-1.1.12/lib/spoom/file_tree.rb:186
1616
+ sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) }
1617
+ def strictness_color(strictness)
1618
+ ;
1619
+ end
1620
+ end
1621
+
1622
+ # Execute git commands
1623
+ #
1624
+ # source://spoom-1.1.12/lib/spoom/git.rb:8
1625
+ module Spoom::Git
1626
+ class << self
1627
+ # Git commands
1628
+ #
1629
+ # source://spoom-1.1.12/lib/spoom/git.rb:36
1630
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1631
+ def checkout(*arg, path: T.unsafe(nil))
1632
+ ;
1633
+ end
1634
+
1635
+ # Get the commit Time for a `sha`
1636
+ #
1637
+ # source://spoom-1.1.12/lib/spoom/git.rb:81
1638
+ sig { params(sha: ::String, path: ::String).returns(T.nilable(::Time)) }
1639
+ def commit_time(sha, path: T.unsafe(nil))
1640
+ ;
1641
+ end
1642
+
1643
+ # Get the commit epoch timestamp for a `sha`
1644
+ #
1645
+ # source://spoom-1.1.12/lib/spoom/git.rb:72
1646
+ sig { params(sha: ::String, path: ::String).returns(T.nilable(::Integer)) }
1647
+ def commit_timestamp(sha, path: T.unsafe(nil))
1648
+ ;
1649
+ end
1650
+
1651
+ # source://spoom-1.1.12/lib/spoom/git.rb:61
1652
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1653
+ def current_branch(path: T.unsafe(nil))
1654
+ ;
1655
+ end
1656
+
1657
+ # source://spoom-1.1.12/lib/spoom/git.rb:41
1658
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1659
+ def diff(*arg, path: T.unsafe(nil))
1660
+ ;
1661
+ end
1662
+
1663
+ # Translate a git epoch timestamp into a Time
1664
+ #
1665
+ # source://spoom-1.1.12/lib/spoom/git.rb:99
1666
+ sig { params(timestamp: ::String).returns(::Time) }
1667
+ def epoch_to_time(timestamp)
1668
+ ;
1669
+ end
1670
+
1671
+ # Execute a `command`
1672
+ #
1673
+ # source://spoom-1.1.12/lib/spoom/git.rb:14
1674
+ sig { params(command: ::String, arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1675
+ def exec(command, *arg, path: T.unsafe(nil))
1676
+ ;
1677
+ end
1678
+
1679
+ # Get the last commit sha
1680
+ #
1681
+ # source://spoom-1.1.12/lib/spoom/git.rb:90
1682
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1683
+ def last_commit(path: T.unsafe(nil))
1684
+ ;
1685
+ end
1686
+
1687
+ # source://spoom-1.1.12/lib/spoom/git.rb:46
1688
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1689
+ def log(*arg, path: T.unsafe(nil))
1690
+ ;
1691
+ end
1692
+
1693
+ # source://spoom-1.1.12/lib/spoom/git.rb:51
1694
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1695
+ def rev_parse(*arg, path: T.unsafe(nil))
1696
+ ;
1697
+ end
1698
+
1699
+ # source://spoom-1.1.12/lib/spoom/git.rb:56
1700
+ sig { params(arg: ::String, path: ::String).returns(::Spoom::ExecResult) }
1701
+ def show(*arg, path: T.unsafe(nil))
1702
+ ;
1703
+ end
1704
+
1705
+ # Get the hash of the commit introducing the `sorbet/config` file
1706
+ #
1707
+ # source://spoom-1.1.12/lib/spoom/git.rb:111
1708
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1709
+ def sorbet_intro_commit(path: T.unsafe(nil))
1710
+ ;
1711
+ end
1712
+
1713
+ # Get the hash of the commit removing the `sorbet/config` file
1714
+ #
1715
+ # source://spoom-1.1.12/lib/spoom/git.rb:123
1716
+ sig { params(path: ::String).returns(T.nilable(::String)) }
1717
+ def sorbet_removal_commit(path: T.unsafe(nil))
1718
+ ;
1719
+ end
1720
+
1721
+ # Is there uncommited changes in `path`?
1722
+ #
1723
+ # source://spoom-1.1.12/lib/spoom/git.rb:105
1724
+ sig { params(path: ::String).returns(T::Boolean) }
1725
+ def workdir_clean?(path: T.unsafe(nil))
1726
+ ;
1727
+ end
1728
+ end
1729
+ end
1730
+
1731
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:5
1732
+ module Spoom::LSP
1733
+ ;
1734
+ end
1735
+
1736
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:13
1737
+ class Spoom::LSP::Client
1738
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:17
1739
+ sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void }
1740
+ def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil))
1741
+ ;
1742
+ end
1743
+
1744
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:229
1745
+ sig { void }
1746
+ def close; end
1747
+
1748
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:131
1749
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
1750
+ def definitions(uri, line, column)
1751
+ ;
1752
+ end
1753
+
1754
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:212
1755
+ sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
1756
+ def document_symbols(uri)
1757
+ ;
1758
+ end
1759
+
1760
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:89
1761
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) }
1762
+ def hover(uri, line, column)
1763
+ ;
1764
+ end
1765
+
1766
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:27
1767
+ sig { returns(::Integer) }
1768
+ def next_id; end
1769
+
1770
+ # LSP requests
1771
+ #
1772
+ # @raise [Error::AlreadyOpen]
1773
+ #
1774
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:72
1775
+ sig { params(workspace_path: ::String).void }
1776
+ def open(workspace_path)
1777
+ ;
1778
+ end
1779
+
1780
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:54
1781
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
1782
+ def read; end
1783
+
1784
+ # @raise [Error::BadHeaders]
1785
+ #
1786
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:43
1787
+ sig { returns(T.nilable(::String)) }
1788
+ def read_raw; end
1789
+
1790
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:173
1791
+ sig do
1792
+ params(
1793
+ uri: ::String,
1794
+ line: ::Integer,
1795
+ column: ::Integer,
1796
+ include_decl: T::Boolean
1797
+ ).returns(T::Array[::Spoom::LSP::Location])
1798
+ end
1799
+ def references(uri, line, column, include_decl = T.unsafe(nil))
1800
+ ;
1801
+ end
1802
+
1803
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:37
1804
+ sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
1805
+ def send(message)
1806
+ ;
1807
+ end
1808
+
1809
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:32
1810
+ sig { params(json_string: ::String).void }
1811
+ def send_raw(json_string)
1812
+ ;
1813
+ end
1814
+
1815
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:110
1816
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) }
1817
+ def signatures(uri, line, column)
1818
+ ;
1819
+ end
1820
+
1821
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:197
1822
+ sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
1823
+ def symbols(query)
1824
+ ;
1825
+ end
1826
+
1827
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp.rb:152
1828
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
1829
+ def type_definitions(uri, line, column)
1830
+ ;
1831
+ end
1832
+ end
1833
+
1834
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:178
1835
+ class Spoom::LSP::Diagnostic < ::T::Struct
1836
+ include ::Spoom::LSP::PrintableSymbol
1837
+
1838
+ const :code, ::Integer
1839
+ const :informations, ::Object
1840
+ const :message, ::String
1841
+ const :range, ::Spoom::LSP::Range
1842
+
1843
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:202
1844
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1845
+ def accept_printer(printer)
1846
+ ;
1847
+ end
1848
+
1849
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:207
1850
+ sig { returns(::String) }
1851
+ def to_s; end
1852
+
1853
+ class << self
1854
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:191
1855
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
1856
+ def from_json(json)
1857
+ ;
1858
+ end
1859
+
1860
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
1861
+ def inherited(s)
1862
+ ;
1863
+ end
1864
+ end
1865
+ end
1866
+
1867
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:212
1868
+ class Spoom::LSP::DocumentSymbol < ::T::Struct
1869
+ include ::Spoom::LSP::PrintableSymbol
1870
+
1871
+ const :children, T::Array[::Spoom::LSP::DocumentSymbol]
1872
+ const :detail, T.nilable(::String)
1873
+ const :kind, ::Integer
1874
+ const :location, T.nilable(::Spoom::LSP::Location)
1875
+ const :name, ::String
1876
+ const :range, T.nilable(::Spoom::LSP::Range)
1877
+
1878
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:240
1879
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1880
+ def accept_printer(printer)
1881
+ ;
1882
+ end
1883
+
1884
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:272
1885
+ sig { returns(::String) }
1886
+ def kind_string; end
1887
+
1888
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:267
1889
+ sig { returns(::String) }
1890
+ def to_s; end
1891
+
1892
+ class << self
1893
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:227
1894
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
1895
+ def from_json(json)
1896
+ ;
1897
+ end
1898
+
1899
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
1900
+ def inherited(s)
1901
+ ;
1902
+ end
1903
+ end
1904
+ end
1905
+
1906
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:276
1907
+ Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
1908
+
1909
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:6
1910
+ class Spoom::LSP::Error < ::StandardError; end
1911
+
1912
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:7
1913
+ class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end
1914
+
1915
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:8
1916
+ class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end
1917
+
1918
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:10
1919
+ class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
1920
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:32
1921
+ sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void }
1922
+ def initialize(uri, diagnostics)
1923
+ ;
1924
+ end
1925
+
1926
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:17
1927
+ sig { returns(T::Array[::Spoom::LSP::Diagnostic]) }
1928
+ def diagnostics; end
1929
+
1930
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:14
1931
+ sig { returns(::String) }
1932
+ def uri; end
1933
+
1934
+ class << self
1935
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:23
1936
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) }
1937
+ def from_json(json)
1938
+ ;
1939
+ end
1940
+ end
1941
+ end
1942
+
1943
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:19
1944
+ class Spoom::LSP::Hover < ::T::Struct
1945
+ include ::Spoom::LSP::PrintableSymbol
1946
+
1947
+ const :contents, ::String
1948
+ const :range, T.nilable(T::Range[T.untyped])
1949
+
1950
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:39
1951
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1952
+ def accept_printer(printer)
1953
+ ;
1954
+ end
1955
+
1956
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:45
1957
+ sig { returns(::String) }
1958
+ def to_s; end
1959
+
1960
+ class << self
1961
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:30
1962
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
1963
+ def from_json(json)
1964
+ ;
1965
+ end
1966
+
1967
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
1968
+ def inherited(s)
1969
+ ;
1970
+ end
1971
+ end
1972
+ end
1973
+
1974
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:112
1975
+ class Spoom::LSP::Location < ::T::Struct
1976
+ include ::Spoom::LSP::PrintableSymbol
1977
+
1978
+ const :range, ::Spoom::LSP::Range
1979
+ const :uri, ::String
1980
+
1981
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:132
1982
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1983
+ def accept_printer(printer)
1984
+ ;
1985
+ end
1986
+
1987
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:138
1988
+ sig { returns(::String) }
1989
+ def to_s; end
1990
+
1991
+ class << self
1992
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:123
1993
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
1994
+ def from_json(json)
1995
+ ;
1996
+ end
1997
+
1998
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
1999
+ def inherited(s)
2000
+ ;
2001
+ end
2002
+ end
2003
+ end
2004
+
2005
+ # A general message as defined by JSON-RPC.
2006
+ #
2007
+ # The language server protocol always uses `"2.0"` as the `jsonrpc` version.
2008
+ #
2009
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:12
2010
+ class Spoom::LSP::Message
2011
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:19
2012
+ sig { void }
2013
+ def initialize; end
2014
+
2015
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:24
2016
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2017
+ def as_json; end
2018
+
2019
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:16
2020
+ sig { returns(::String) }
2021
+ def jsonrpc; end
2022
+
2023
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:32
2024
+ sig { params(args: T.untyped).returns(::String) }
2025
+ def to_json(*args)
2026
+ ;
2027
+ end
2028
+ end
2029
+
2030
+ # A notification message.
2031
+ #
2032
+ # A processed notification message must not send a response back. They work like events.
2033
+ #
2034
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:64
2035
+ class Spoom::LSP::Notification < ::Spoom::LSP::Message
2036
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:74
2037
+ sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
2038
+ def initialize(method, params)
2039
+ ;
2040
+ end
2041
+
2042
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:68
2043
+ sig { returns(::String) }
2044
+ def method; end
2045
+
2046
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:71
2047
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2048
+ def params; end
2049
+ end
2050
+
2051
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:50
2052
+ class Spoom::LSP::Position < ::T::Struct
2053
+ include ::Spoom::LSP::PrintableSymbol
2054
+
2055
+ const :char, ::Integer
2056
+ const :line, ::Integer
2057
+
2058
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:70
2059
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2060
+ def accept_printer(printer)
2061
+ ;
2062
+ end
2063
+
2064
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:75
2065
+ sig { returns(::String) }
2066
+ def to_s; end
2067
+
2068
+ class << self
2069
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:61
2070
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
2071
+ def from_json(json)
2072
+ ;
2073
+ end
2074
+
2075
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
2076
+ def inherited(s)
2077
+ ;
2078
+ end
2079
+ end
2080
+ end
2081
+
2082
+ # @abstract Subclasses must implement the `abstract` methods below.
2083
+ #
2084
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:9
2085
+ module Spoom::LSP::PrintableSymbol
2086
+ interface!
2087
+
2088
+ # @abstract
2089
+ #
2090
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:16
2091
+ sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2092
+ def accept_printer(printer)
2093
+ ;
2094
+ end
2095
+ end
2096
+
2097
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:80
2098
+ class Spoom::LSP::Range < ::T::Struct
2099
+ include ::Spoom::LSP::PrintableSymbol
2100
+
2101
+ const :end, ::Spoom::LSP::Position
2102
+ const :start, ::Spoom::LSP::Position
2103
+
2104
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:100
2105
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2106
+ def accept_printer(printer)
2107
+ ;
2108
+ end
2109
+
2110
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:107
2111
+ sig { returns(::String) }
2112
+ def to_s; end
2113
+
2114
+ class << self
2115
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:91
2116
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
2117
+ def from_json(json)
2118
+ ;
2119
+ end
2120
+
2121
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
2122
+ def inherited(s)
2123
+ ;
2124
+ end
2125
+ end
2126
+ end
2127
+
2128
+ # A request message to describe a request between the client and the server.
2129
+ #
2130
+ # Every processed request must send a response back to the sender of the request.
2131
+ #
2132
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:40
2133
+ class Spoom::LSP::Request < ::Spoom::LSP::Message
2134
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:53
2135
+ sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
2136
+ def initialize(id, method, params)
2137
+ ;
2138
+ end
2139
+
2140
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:44
2141
+ sig { returns(::Integer) }
2142
+ def id; end
2143
+
2144
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:47
2145
+ sig { returns(::String) }
2146
+ def method; end
2147
+
2148
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/base.rb:50
2149
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2150
+ def params; end
2151
+ end
2152
+
2153
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:40
2154
+ class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
2155
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:63
2156
+ sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void }
2157
+ def initialize(code, message, data)
2158
+ ;
2159
+ end
2160
+
2161
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:44
2162
+ sig { returns(::Integer) }
2163
+ def code; end
2164
+
2165
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:47
2166
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2167
+ def data; end
2168
+
2169
+ class << self
2170
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/errors.rb:53
2171
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) }
2172
+ def from_json(json)
2173
+ ;
2174
+ end
2175
+ end
2176
+ end
2177
+
2178
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:143
2179
+ class Spoom::LSP::SignatureHelp < ::T::Struct
2180
+ include ::Spoom::LSP::PrintableSymbol
2181
+
2182
+ const :doc, ::Object
2183
+ const :label, T.nilable(::String)
2184
+ const :params, T::Array[T.untyped]
2185
+
2186
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:165
2187
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2188
+ def accept_printer(printer)
2189
+ ;
2190
+ end
2191
+
2192
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:173
2193
+ sig { returns(::String) }
2194
+ def to_s; end
2195
+
2196
+ class << self
2197
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:155
2198
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
2199
+ def from_json(json)
2200
+ ;
2201
+ end
2202
+
2203
+ # source://sorbet-runtime-0.5.10346/lib/types/struct.rb:13
2204
+ def inherited(s)
2205
+ ;
2206
+ end
2207
+ end
2208
+ end
2209
+
2210
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:306
2211
+ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
2212
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:323
2213
+ sig do
2214
+ params(
2215
+ out: T.any(::IO, ::StringIO),
2216
+ colors: T::Boolean,
2217
+ indent_level: ::Integer,
2218
+ prefix: T.nilable(::String)
2219
+ ).void
2220
+ end
2221
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil))
2222
+ ;
2223
+ end
2224
+
2225
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:345
2226
+ sig { params(uri: ::String).returns(::String) }
2227
+ def clean_uri(uri)
2228
+ ;
2229
+ end
2230
+
2231
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:313
2232
+ sig { returns(T.nilable(::String)) }
2233
+ def prefix; end
2234
+
2235
+ # @return [String, nil]
2236
+ #
2237
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:313
2238
+ def prefix=(_arg0)
2239
+ ;
2240
+ end
2241
+
2242
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:353
2243
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
2244
+ def print_list(objects)
2245
+ ;
2246
+ end
2247
+
2248
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:333
2249
+ sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void }
2250
+ def print_object(object)
2251
+ ;
2252
+ end
2253
+
2254
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:340
2255
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
2256
+ def print_objects(objects)
2257
+ ;
2258
+ end
2259
+
2260
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:310
2261
+ sig { returns(T::Set[::Integer]) }
2262
+ def seen; end
2263
+
2264
+ # @return [Set<Integer>]
2265
+ #
2266
+ # source://spoom-1.1.12/lib/spoom/sorbet/lsp/structures.rb:310
2267
+ def seen=(_arg0)
2268
+ ;
2269
+ end
2270
+ end
2271
+
2272
+ # @abstract It cannont be directly instantiated. Subclasses must implement the `abstract` methods below.
2273
+ #
2274
+ # source://spoom-1.1.12/lib/spoom/printer.rb:7
2275
+ class Spoom::Printer
2276
+ include ::Spoom::Colorize
2277
+
2278
+ abstract!
2279
+
2280
+ # source://spoom-1.1.12/lib/spoom/printer.rb:19
2281
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
2282
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil))
2283
+ ;
2284
+ end
2285
+
2286
+ # Colorize `string` with color if `@colors`
2287
+ #
2288
+ # source://spoom-1.1.12/lib/spoom/printer.rb:80
2289
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
2290
+ def colorize(string, *color)
2291
+ ;
2292
+ end
2293
+
2294
+ # Decrease indent level
2295
+ #
2296
+ # source://spoom-1.1.12/lib/spoom/printer.rb:33
2297
+ sig { void }
2298
+ def dedent; end
2299
+
2300
+ # Increase indent level
2301
+ #
2302
+ # source://spoom-1.1.12/lib/spoom/printer.rb:27
2303
+ sig { void }
2304
+ def indent; end
2305
+
2306
+ # source://spoom-1.1.12/lib/spoom/printer.rb:16
2307
+ sig { returns(T.any(::IO, ::StringIO)) }
2308
+ def out; end
2309
+
2310
+ # @return [IO, StringIO]
2311
+ #
2312
+ # source://spoom-1.1.12/lib/spoom/printer.rb:16
2313
+ def out=(_arg0)
2314
+ ;
2315
+ end
2316
+
2317
+ # Print `string` into `out`
2318
+ #
2319
+ # source://spoom-1.1.12/lib/spoom/printer.rb:39
2320
+ sig { params(string: T.nilable(::String)).void }
2321
+ def print(string)
2322
+ ;
2323
+ end
2324
+
2325
+ # Print `string` colored with `color` into `out`
2326
+ #
2327
+ # Does not use colors unless `@colors`.
2328
+ #
2329
+ # source://spoom-1.1.12/lib/spoom/printer.rb:49
2330
+ sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
2331
+ def print_colored(string, *color)
2332
+ ;
2333
+ end
2334
+
2335
+ # Print `string` with indent and newline
2336
+ #
2337
+ # source://spoom-1.1.12/lib/spoom/printer.rb:64
2338
+ sig { params(string: T.nilable(::String)).void }
2339
+ def printl(string)
2340
+ ;
2341
+ end
2342
+
2343
+ # Print a new line into `out`
2344
+ #
2345
+ # source://spoom-1.1.12/lib/spoom/printer.rb:58
2346
+ sig { void }
2347
+ def printn; end
2348
+
2349
+ # Print an indent space into `out`
2350
+ #
2351
+ # source://spoom-1.1.12/lib/spoom/printer.rb:74
2352
+ sig { void }
2353
+ def printt; end
2354
+ end
2355
+
2356
+ # source://spoom-1.1.12/lib/spoom.rb:10
2357
+ Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
2358
+
2359
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:5
2360
+ module Spoom::Sorbet
2361
+ class << self
2362
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:31
2363
+ sig do
2364
+ params(
2365
+ arg: ::String,
2366
+ path: ::String,
2367
+ capture_err: T::Boolean,
2368
+ sorbet_bin: T.nilable(::String)
2369
+ ).returns(::Spoom::ExecResult)
2370
+ end
2371
+ def srb(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil))
2372
+ ;
2373
+ end
2374
+
2375
+ # List all files typechecked by Sorbet from its `config`
2376
+ #
2377
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:55
2378
+ sig { params(config: ::Spoom::Sorbet::Config, path: ::String).returns(T::Array[::String]) }
2379
+ def srb_files(config, path: T.unsafe(nil))
2380
+ ;
2381
+ end
2382
+
2383
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:93
2384
+ sig do
2385
+ params(
2386
+ arg: ::String,
2387
+ path: ::String,
2388
+ capture_err: T::Boolean,
2389
+ sorbet_bin: T.nilable(::String)
2390
+ ).returns(T.nilable(T::Hash[::String, ::Integer]))
2391
+ end
2392
+ def srb_metrics(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil))
2393
+ ;
2394
+ end
2395
+
2396
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:48
2397
+ sig do
2398
+ params(
2399
+ arg: ::String,
2400
+ path: ::String,
2401
+ capture_err: T::Boolean,
2402
+ sorbet_bin: T.nilable(::String)
2403
+ ).returns(::Spoom::ExecResult)
2404
+ end
2405
+ def srb_tc(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil))
2406
+ ;
2407
+ end
2408
+
2409
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:71
2410
+ sig do
2411
+ params(
2412
+ arg: ::String,
2413
+ path: ::String,
2414
+ capture_err: T::Boolean,
2415
+ sorbet_bin: T.nilable(::String)
2416
+ ).returns(T.nilable(::String))
2417
+ end
2418
+ def srb_version(*arg, path: T.unsafe(nil), capture_err: T.unsafe(nil), sorbet_bin: T.unsafe(nil))
2419
+ ;
2420
+ end
2421
+
2422
+ # Get `gem` version from the `Gemfile.lock` content
2423
+ #
2424
+ # Returns `nil` if `gem` cannot be found in the Gemfile.
2425
+ #
2426
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:116
2427
+ sig { params(gem: ::String, path: ::String).returns(T.nilable(::String)) }
2428
+ def version_from_gemfile_lock(gem: T.unsafe(nil), path: T.unsafe(nil))
2429
+ ;
2430
+ end
2431
+ end
2432
+ end
2433
+
2434
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:16
2435
+ Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
2436
+
2437
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:14
2438
+ Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
2439
+
2440
+ # Parse Sorbet config files
2441
+ #
2442
+ # Parses a Sorbet config file:
2443
+ #
2444
+ # ```ruby
2445
+ # config = Spoom::Sorbet::Config.parse_file("sorbet/config")
2446
+ # puts config.paths # "."
2447
+ # ```
2448
+ #
2449
+ # Parses a Sorbet config string:
2450
+ #
2451
+ # ```ruby
2452
+ # config = Spoom::Sorbet::Config.parse_string(<<~CONFIG)
2453
+ # a
2454
+ # --file=b
2455
+ # --ignore=c
2456
+ # CONFIG
2457
+ # puts config.paths # "a", "b"
2458
+ # puts config.ignore # "c"
2459
+ # ```
2460
+ #
2461
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:26
2462
+ class Spoom::Sorbet::Config
2463
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:36
2464
+ sig { void }
2465
+ def initialize; end
2466
+
2467
+ # @return [Array<String>]
2468
+ #
2469
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:30
2470
+ def allowed_extensions; end
2471
+
2472
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:44
2473
+ sig { returns(::Spoom::Sorbet::Config) }
2474
+ def copy; end
2475
+
2476
+ # @return [Array<String>]
2477
+ #
2478
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:30
2479
+ def ignore; end
2480
+
2481
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:33
2482
+ sig { returns(T::Boolean) }
2483
+ def no_stdlib; end
2484
+
2485
+ # @return [Boolean]
2486
+ #
2487
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:33
2488
+ def no_stdlib=(_arg0)
2489
+ ;
2490
+ end
2491
+
2492
+ # Returns self as a string of options that can be passed to Sorbet
2493
+ #
2494
+ # Example:
2495
+ # ~~~rb
2496
+ # config = Sorbet::Config.new
2497
+ # config.paths << "/foo"
2498
+ # config.paths << "/bar"
2499
+ # config.ignore << "/baz"
2500
+ # config.allowed_extensions << ".rb"
2501
+ #
2502
+ # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb"
2503
+ # ~~~
2504
+ #
2505
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:66
2506
+ sig { returns(::String) }
2507
+ def options_string; end
2508
+
2509
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:30
2510
+ sig { returns(T::Array[::String]) }
2511
+ def paths; end
2512
+
2513
+ class << self
2514
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:79
2515
+ sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) }
2516
+ def parse_file(sorbet_config_path)
2517
+ ;
2518
+ end
2519
+
2520
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:84
2521
+ sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) }
2522
+ def parse_string(sorbet_config)
2523
+ ;
2524
+ end
2525
+
2526
+ private
2527
+
2528
+ # source://spoom-1.1.12/lib/spoom/sorbet/config.rb:148
2529
+ sig { params(line: ::String).returns(::String) }
2530
+ def parse_option(line)
2531
+ ;
2532
+ end
2533
+ end
2534
+ end
2535
+
2536
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:6
2537
+ module Spoom::Sorbet::Errors
2538
+ class << self
2539
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:13
2540
+ sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2541
+ def sort_errors_by_code(errors)
2542
+ ;
2543
+ end
2544
+ end
2545
+ end
2546
+
2547
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:7
2548
+ Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String)
2549
+
2550
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:122
2551
+ class Spoom::Sorbet::Errors::Error
2552
+ include ::Comparable
2553
+
2554
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:148
2555
+ sig do
2556
+ params(
2557
+ file: T.nilable(::String),
2558
+ line: T.nilable(::Integer),
2559
+ message: T.nilable(::String),
2560
+ code: T.nilable(::Integer),
2561
+ more: T::Array[::String]
2562
+ ).void
2563
+ end
2564
+ def initialize(file, line, message, code, more = T.unsafe(nil))
2565
+ ;
2566
+ end
2567
+
2568
+ # By default errors are sorted by location
2569
+ #
2570
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:159
2571
+ sig { params(other: T.untyped).returns(::Integer) }
2572
+ def <=>(other)
2573
+ ;
2574
+ end
2575
+
2576
+ # @return [Integer, nil]
2577
+ #
2578
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:130
2579
+ def code; end
2580
+
2581
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:127
2582
+ sig { returns(T.nilable(::String)) }
2583
+ def file; end
2584
+
2585
+ # Other files associated with the error
2586
+ #
2587
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:137
2588
+ sig { returns(T::Set[::String]) }
2589
+ def files_from_error_sections; end
2590
+
2591
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:130
2592
+ sig { returns(T.nilable(::Integer)) }
2593
+ def line; end
2594
+
2595
+ # @return [String, nil]
2596
+ #
2597
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:127
2598
+ def message; end
2599
+
2600
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:133
2601
+ sig { returns(T::Array[::String]) }
2602
+ def more; end
2603
+
2604
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:166
2605
+ sig { returns(::String) }
2606
+ def to_s; end
2607
+ end
2608
+
2609
+ # Parse errors from Sorbet output
2610
+ #
2611
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:18
2612
+ class Spoom::Sorbet::Errors::Parser
2613
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:40
2614
+ sig { params(error_url_base: ::String).void }
2615
+ def initialize(error_url_base: T.unsafe(nil))
2616
+ ;
2617
+ end
2618
+
2619
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:47
2620
+ sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2621
+ def parse(output)
2622
+ ;
2623
+ end
2624
+
2625
+ private
2626
+
2627
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:111
2628
+ sig { params(line: ::String).void }
2629
+ def append_error(line)
2630
+ ;
2631
+ end
2632
+
2633
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:103
2634
+ sig { void }
2635
+ def close_error; end
2636
+
2637
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:70
2638
+ sig { params(error_url_base: ::String).returns(::Regexp) }
2639
+ def error_line_match_regexp(error_url_base)
2640
+ ;
2641
+ end
2642
+
2643
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:87
2644
+ sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) }
2645
+ def match_error_line(line)
2646
+ ;
2647
+ end
2648
+
2649
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:96
2650
+ sig { params(error: ::Spoom::Sorbet::Errors::Error).void }
2651
+ def open_error(error)
2652
+ ;
2653
+ end
2654
+
2655
+ class << self
2656
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:33
2657
+ sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
2658
+ def parse_string(output, error_url_base: T.unsafe(nil))
2659
+ ;
2660
+ end
2661
+ end
2662
+ end
2663
+
2664
+ # source://spoom-1.1.12/lib/spoom/sorbet/errors.rb:21
2665
+ Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
2666
+
2667
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:15
2668
+ Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
2669
+
2670
+ # source://spoom-1.1.12/lib/spoom/sorbet/metrics.rb:8
2671
+ module Spoom::Sorbet::MetricsParser
2672
+ class << self
2673
+ # source://spoom-1.1.12/lib/spoom/sorbet/metrics.rb:15
2674
+ sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2675
+ def parse_file(path, prefix = T.unsafe(nil))
2676
+ ;
2677
+ end
2678
+
2679
+ # source://spoom-1.1.12/lib/spoom/sorbet/metrics.rb:25
2680
+ sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2681
+ def parse_hash(obj, prefix = T.unsafe(nil))
2682
+ ;
2683
+ end
2684
+
2685
+ # source://spoom-1.1.12/lib/spoom/sorbet/metrics.rb:20
2686
+ sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
2687
+ def parse_string(string, prefix = T.unsafe(nil))
2688
+ ;
2689
+ end
2690
+ end
2691
+ end
2692
+
2693
+ # source://spoom-1.1.12/lib/spoom/sorbet/metrics.rb:9
2694
+ Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
2695
+
2696
+ # source://spoom-1.1.12/lib/spoom/sorbet.rb:18
2697
+ Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer)
2698
+
2699
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:9
2700
+ module Spoom::Sorbet::Sigils
2701
+ class << self
2702
+ # changes the sigil in the file at the passed path to the specified new strictness
2703
+ #
2704
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:69
2705
+ sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) }
2706
+ def change_sigil_in_file(path, new_strictness)
2707
+ ;
2708
+ end
2709
+
2710
+ # changes the sigil to have a new strictness in a list of files
2711
+ #
2712
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:80
2713
+ sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) }
2714
+ def change_sigil_in_files(path_list, new_strictness)
2715
+ ;
2716
+ end
2717
+
2718
+ # returns a string containing the strictness of a sigil in a file at the passed path
2719
+ # * returns nil if no sigil
2720
+ #
2721
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:60
2722
+ sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) }
2723
+ def file_strictness(path)
2724
+ ;
2725
+ end
2726
+
2727
+ # finds all files in the specified directory with the passed strictness
2728
+ #
2729
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:94
2730
+ sig do
2731
+ params(
2732
+ directory: T.any(::Pathname, ::String),
2733
+ strictness: ::String,
2734
+ extension: ::String
2735
+ ).returns(T::Array[::String])
2736
+ end
2737
+ def files_with_sigil_strictness(directory, strictness, extension: T.unsafe(nil))
2738
+ ;
2739
+ end
2740
+
2741
+ # returns the full sigil comment string for the passed strictness
2742
+ #
2743
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:35
2744
+ sig { params(strictness: ::String).returns(::String) }
2745
+ def sigil_string(strictness)
2746
+ ;
2747
+ end
2748
+
2749
+ # returns the strictness of a sigil in the passed file content string (nil if no sigil)
2750
+ #
2751
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:47
2752
+ sig { params(content: ::String).returns(T.nilable(::String)) }
2753
+ def strictness_in_content(content)
2754
+ ;
2755
+ end
2756
+
2757
+ # returns a string which is the passed content but with the sigil updated to a new strictness
2758
+ #
2759
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:53
2760
+ sig { params(content: ::String, new_strictness: ::String).returns(::String) }
2761
+ def update_sigil(content, new_strictness)
2762
+ ;
2763
+ end
2764
+
2765
+ # returns true if the passed string is a valid strictness (else false)
2766
+ #
2767
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:41
2768
+ sig { params(strictness: ::String).returns(T::Boolean) }
2769
+ def valid_strictness?(strictness)
2770
+ ;
2771
+ end
2772
+ end
2773
+ end
2774
+
2775
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:28
2776
+ Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp)
2777
+
2778
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:13
2779
+ Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String)
2780
+
2781
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:12
2782
+ Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String)
2783
+
2784
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:17
2785
+ Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String)
2786
+
2787
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:15
2788
+ Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String)
2789
+
2790
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:16
2791
+ Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
2792
+
2793
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:14
2794
+ Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
2795
+
2796
+ # source://spoom-1.1.12/lib/spoom/sorbet/sigils.rb:19
2797
+ Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
2798
+
2799
+ # source://spoom-1.1.12/lib/spoom/timeline.rb:7
2800
+ class Spoom::Timeline
2801
+ # source://spoom-1.1.12/lib/spoom/timeline.rb:11
2802
+ sig { params(from: ::Time, to: ::Time, path: ::String).void }
2803
+ def initialize(from, to, path: T.unsafe(nil))
2804
+ ;
2805
+ end
2806
+
2807
+ # Return one commit for each date in `dates`
2808
+ #
2809
+ # source://spoom-1.1.12/lib/spoom/timeline.rb:38
2810
+ sig { params(dates: T::Array[::Time]).returns(T::Array[::String]) }
2811
+ def commits_for_dates(dates)
2812
+ ;
2813
+ end
2814
+
2815
+ # Return all months between `from` and `to`
2816
+ #
2817
+ # source://spoom-1.1.12/lib/spoom/timeline.rb:25
2818
+ sig { returns(T::Array[::Time]) }
2819
+ def months; end
2820
+
2821
+ # Return one commit for each month between `from` and `to`
2822
+ #
2823
+ # source://spoom-1.1.12/lib/spoom/timeline.rb:19
2824
+ sig { returns(T::Array[::String]) }
2825
+ def ticks; end
2826
+ end
2827
+
2828
+ # source://spoom-1.1.12/lib/spoom/version.rb:5
2829
+ Spoom::VERSION = T.let(T.unsafe(nil), String)