repeatable 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +19 -23
  3. data/.ruby-version +1 -0
  4. data/.yardopts +1 -0
  5. data/CHANGELOG.md +16 -2
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +86 -73
  8. data/README.md +8 -5
  9. data/lib/repeatable/expression/date.rb +1 -0
  10. data/lib/repeatable/expression/range_in_year.rb +2 -0
  11. data/lib/repeatable/version.rb +1 -1
  12. data/rbi/repeatable.rbi +1 -1
  13. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +3 -3
  14. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  15. data/sorbet/rbi/gems/{commander@4.6.0.rbi → commander@5.0.0.rbi} +1 -0
  16. data/sorbet/rbi/gems/{diff-lcs@1.4.4.rbi → diff-lcs@1.6.2.rbi} +135 -83
  17. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.1.rbi} +25 -15
  18. data/sorbet/rbi/gems/{highline@2.0.3.rbi → highline@3.0.1.rbi} +1 -0
  19. data/sorbet/rbi/gems/{json@2.7.2.rbi → json@2.13.2.rbi} +759 -233
  20. data/sorbet/rbi/gems/{language_server-protocol@3.17.0.3.rbi → language_server-protocol@3.17.0.5.rbi} +11 -5
  21. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  22. data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +41 -9
  23. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.27.0.rbi} +32 -21
  24. data/sorbet/rbi/gems/{parlour@8.1.0.rbi → parlour@9.1.2.rbi} +86 -68
  25. data/sorbet/rbi/gems/{parser@3.3.1.0.rbi → parser@3.3.9.0.rbi} +908 -891
  26. data/sorbet/rbi/gems/{prism@0.28.0.rbi → prism@1.4.0.rbi} +14078 -10249
  27. data/sorbet/rbi/gems/{pry@0.14.0.rbi → pry@0.15.2.rbi} +437 -244
  28. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.1.rbi} +36 -33
  29. data/sorbet/rbi/gems/{rake@13.0.3.rbi → rake@13.3.0.rbi} +83 -76
  30. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  31. data/sorbet/rbi/gems/rbs@3.9.5.rbi +6976 -0
  32. data/sorbet/rbi/gems/{regexp_parser@2.9.0.rbi → regexp_parser@2.11.2.rbi} +1089 -1015
  33. data/sorbet/rbi/gems/{rexml@3.2.6.rbi → rexml@3.4.3.rbi} +833 -329
  34. data/sorbet/rbi/gems/{rspec-core@3.10.1.rbi → rspec-core@3.13.5.rbi} +1014 -613
  35. data/sorbet/rbi/gems/{rspec-expectations@3.10.1.rbi → rspec-expectations@3.13.5.rbi} +897 -638
  36. data/sorbet/rbi/gems/{rspec-mocks@3.10.2.rbi → rspec-mocks@3.13.5.rbi} +547 -444
  37. data/sorbet/rbi/gems/{rspec-support@3.10.2.rbi → rspec-support@3.13.5.rbi} +337 -304
  38. data/sorbet/rbi/gems/rspec@3.13.1.rbi +83 -0
  39. data/sorbet/rbi/gems/{rubocop-ast@1.31.3.rbi → rubocop-ast@1.46.0.rbi} +1678 -958
  40. data/sorbet/rbi/gems/{rubocop-performance@1.20.2.rbi → rubocop-performance@1.25.0.rbi} +1 -0
  41. data/sorbet/rbi/gems/{rubocop@1.62.1.rbi → rubocop@1.80.2.rbi} +11243 -5431
  42. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +225 -0
  43. data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +39 -25
  44. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +233 -2
  45. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  46. data/sorbet/rbi/gems/{standard-performance@1.3.1.rbi → standard-performance@1.8.0.rbi} +1 -0
  47. data/sorbet/rbi/gems/{standard@1.35.1.rbi → standard@1.51.0.rbi} +181 -96
  48. data/sorbet/rbi/gems/{tapioca@0.13.3.rbi → tapioca@0.16.11.rbi} +489 -388
  49. data/sorbet/rbi/gems/{thor@1.3.1.rbi → thor@1.4.0.rbi} +94 -46
  50. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +132 -0
  51. data/sorbet/rbi/gems/unicode-emoji@4.1.0.rbi +251 -0
  52. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  53. data/sorbet/rbi/gems/{yard@0.9.36.rbi → yard@0.9.37.rbi} +394 -236
  54. metadata +46 -40
  55. data/sorbet/rbi/gems/rbi@0.1.13.rbi +0 -3071
  56. data/sorbet/rbi/gems/rspec@3.10.0.rbi +0 -76
  57. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -216
  58. data/sorbet/rbi/gems/spoom@1.3.2.rbi +0 -4420
  59. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  60. /data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +0 -0
@@ -1,4420 +0,0 @@
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//lib/spoom.rb#7
8
- module Spoom; end
9
-
10
- # source://spoom//lib/spoom/cli/helper.rb#9
11
- module Spoom::Cli; end
12
-
13
- # source://spoom//lib/spoom/cli/deadcode.rb#8
14
- class Spoom::Cli::Deadcode < ::Thor
15
- include ::Spoom::Colorize
16
- include ::Spoom::Cli::Helper
17
-
18
- # source://spoom//lib/spoom/cli/deadcode.rb#52
19
- sig { params(paths: ::String).void }
20
- def deadcode(*paths); end
21
-
22
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
23
-
24
- # source://spoom//lib/spoom/cli/deadcode.rb#150
25
- def remove(location_string); end
26
- end
27
-
28
- # source://spoom//lib/spoom/cli/helper.rb#10
29
- module Spoom::Cli::Helper
30
- include ::Spoom::Colorize
31
-
32
- requires_ancestor { Thor }
33
-
34
- # source://spoom//lib/spoom/cli/helper.rb#139
35
- sig { params(string: ::String).returns(::String) }
36
- def blue(string); end
37
-
38
- # Is the `--color` option true?
39
- #
40
- # source://spoom//lib/spoom/cli/helper.rb#103
41
- sig { returns(T::Boolean) }
42
- def color?; end
43
-
44
- # Colorize a string if `color?`
45
- #
46
- # source://spoom//lib/spoom/cli/helper.rb#132
47
- sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
48
- def colorize(string, *color); end
49
-
50
- # Returns the context at `--path` (by default the current working directory)
51
- #
52
- # source://spoom//lib/spoom/cli/helper.rb#71
53
- sig { returns(::Spoom::Context) }
54
- def context; end
55
-
56
- # Raise if `spoom` is not ran inside a context with a `sorbet/config` file
57
- #
58
- # source://spoom//lib/spoom/cli/helper.rb#77
59
- sig { returns(::Spoom::Context) }
60
- def context_requiring_sorbet!; end
61
-
62
- # source://spoom//lib/spoom/cli/helper.rb#144
63
- sig { params(string: ::String).returns(::String) }
64
- def cyan(string); end
65
-
66
- # Return the path specified through `--path`
67
- #
68
- # source://spoom//lib/spoom/cli/helper.rb#92
69
- sig { returns(::String) }
70
- def exec_path; end
71
-
72
- # source://spoom//lib/spoom/cli/helper.rb#149
73
- sig { params(string: ::String).returns(::String) }
74
- def gray(string); end
75
-
76
- # source://spoom//lib/spoom/cli/helper.rb#154
77
- sig { params(string: ::String).returns(::String) }
78
- def green(string); end
79
-
80
- # source://spoom//lib/spoom/cli/helper.rb#108
81
- sig { params(string: ::String).returns(::String) }
82
- def highlight(string); end
83
-
84
- # source://spoom//lib/spoom/cli/helper.rb#159
85
- sig { params(string: ::String).returns(::String) }
86
- def red(string); end
87
-
88
- # Print `message` on `$stdout`
89
- #
90
- # source://spoom//lib/spoom/cli/helper.rb#20
91
- sig { params(message: ::String).void }
92
- def say(message); end
93
-
94
- # Print `message` on `$stderr`
95
- #
96
- # The message is prefixed by a status (default: `Error`).
97
- #
98
- # source://spoom//lib/spoom/cli/helper.rb#39
99
- sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
100
- def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
101
-
102
- # Print `message` on `$stderr`
103
- #
104
- # The message is prefixed by a status (default: `Warning`).
105
- #
106
- # source://spoom//lib/spoom/cli/helper.rb#59
107
- sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
108
- def say_warning(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
109
-
110
- # source://spoom//lib/spoom/cli/helper.rb#164
111
- sig { params(string: ::String).returns(::String) }
112
- def yellow(string); end
113
- end
114
-
115
- # source://spoom//lib/spoom/cli.rb#12
116
- class Spoom::Cli::Main < ::Thor
117
- include ::Spoom::Colorize
118
- include ::Spoom::Cli::Helper
119
-
120
- # source://spoom//lib/spoom/cli.rb#101
121
- def __print_version; end
122
-
123
- # source://spoom//lib/spoom/cli.rb#58
124
- sig { params(directory: ::String).void }
125
- def bump(directory = T.unsafe(nil)); end
126
-
127
- # source://spoom//lib/spoom/cli.rb#65
128
- def coverage(*args); end
129
-
130
- # source://thor/1.3.1/lib/thor.rb#334
131
- def deadcode(*args); end
132
-
133
- # source://spoom//lib/spoom/cli.rb#75
134
- def lsp(*args); end
135
-
136
- # source://thor/1.3.1/lib/thor.rb#334
137
- def srb(*args); end
138
-
139
- # source://spoom//lib/spoom/cli.rb#94
140
- def tc(*paths_to_select); end
141
-
142
- class << self
143
- # @return [Boolean]
144
- #
145
- # source://spoom//lib/spoom/cli.rb#108
146
- def exit_on_failure?; end
147
- end
148
- end
149
-
150
- # source://spoom//lib/spoom/cli.rb#81
151
- Spoom::Cli::Main::SORT_CODE = T.let(T.unsafe(nil), String)
152
-
153
- # source://spoom//lib/spoom/cli.rb#83
154
- Spoom::Cli::Main::SORT_ENUM = T.let(T.unsafe(nil), Array)
155
-
156
- # source://spoom//lib/spoom/cli.rb#82
157
- Spoom::Cli::Main::SORT_LOC = T.let(T.unsafe(nil), String)
158
-
159
- # source://spoom//lib/spoom/cli/srb/bump.rb#9
160
- module Spoom::Cli::Srb; end
161
-
162
- # source://spoom//lib/spoom/cli/srb/bump.rb#10
163
- class Spoom::Cli::Srb::Bump < ::Thor
164
- include ::Spoom::Colorize
165
- include ::Spoom::Cli::Helper
166
-
167
- # source://spoom//lib/spoom/cli/srb/bump.rb#50
168
- sig { params(directory: ::String).void }
169
- def bump(directory = T.unsafe(nil)); end
170
-
171
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
172
-
173
- # source://spoom//lib/spoom/cli/srb/bump.rb#171
174
- def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
175
-
176
- # source://spoom//lib/spoom/cli/srb/bump.rb#193
177
- def undo_changes(files, from_strictness); end
178
- end
179
-
180
- # source://spoom//lib/spoom/cli/srb/coverage.rb#10
181
- class Spoom::Cli::Srb::Coverage < ::Thor
182
- include ::Spoom::Colorize
183
- include ::Spoom::Cli::Helper
184
-
185
- # source://spoom//lib/spoom/cli/srb/coverage.rb#199
186
- def bundle_install(path, sha); end
187
-
188
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
189
-
190
- # source://spoom//lib/spoom/cli/srb/coverage.rb#211
191
- def message_no_data(file); end
192
-
193
- # source://spoom//lib/spoom/cli/srb/coverage.rb#174
194
- def open(file = T.unsafe(nil)); end
195
-
196
- # source://spoom//lib/spoom/cli/srb/coverage.rb#190
197
- def parse_time(string, option); end
198
-
199
- # source://spoom//lib/spoom/cli/srb/coverage.rb#143
200
- def report; end
201
-
202
- # source://spoom//lib/spoom/cli/srb/coverage.rb#21
203
- def snapshot; end
204
-
205
- # source://spoom//lib/spoom/cli/srb/coverage.rb#43
206
- def timeline; end
207
- end
208
-
209
- # source://spoom//lib/spoom/cli/srb/coverage.rb#13
210
- Spoom::Cli::Srb::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
211
-
212
- # source://spoom//lib/spoom/cli/srb/lsp.rb#11
213
- class Spoom::Cli::Srb::LSP < ::Thor
214
- include ::Spoom::Colorize
215
- include ::Spoom::Cli::Helper
216
-
217
- # TODO: options, filter, limit, kind etc.. filter rbi
218
- #
219
- # source://spoom//lib/spoom/cli/srb/lsp.rb#45
220
- def defs(file, line, col); end
221
-
222
- # TODO: options, filter, limit, kind etc.. filter rbi
223
- #
224
- # source://spoom//lib/spoom/cli/srb/lsp.rb#55
225
- def find(query); end
226
-
227
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
228
-
229
- # TODO: options, filter, limit, kind etc.. filter rbi
230
- #
231
- # source://spoom//lib/spoom/cli/srb/lsp.rb#31
232
- def hover(file, line, col); end
233
-
234
- # TODO: options, filter, limit, kind etc.. filter rbi
235
- #
236
- # source://spoom//lib/spoom/cli/srb/lsp.rb#16
237
- def list; end
238
-
239
- # source://spoom//lib/spoom/cli/srb/lsp.rb#104
240
- def lsp_client; end
241
-
242
- # TODO: options, filter, limit, kind etc.. filter rbi
243
- #
244
- # source://spoom//lib/spoom/cli/srb/lsp.rb#75
245
- def refs(file, line, col); end
246
-
247
- # source://spoom//lib/spoom/cli/srb/lsp.rb#127
248
- def run(&block); end
249
-
250
- # TODO: options, filter, limit, kind etc.. filter rbi
251
- #
252
- # source://spoom//lib/spoom/cli/srb/lsp.rb#85
253
- def sigs(file, line, col); end
254
-
255
- # source://spoom//lib/spoom/cli/srb/lsp.rb#119
256
- def symbol_printer; end
257
-
258
- # TODO: options, filter, limit, kind etc.. filter rbi
259
- #
260
- # source://spoom//lib/spoom/cli/srb/lsp.rb#65
261
- def symbols(file); end
262
-
263
- # source://spoom//lib/spoom/cli/srb/lsp.rb#152
264
- def to_uri(path); end
265
-
266
- # TODO: options, filter, limit, kind etc.. filter rbi
267
- #
268
- # source://spoom//lib/spoom/cli/srb/lsp.rb#95
269
- def types(file, line, col); end
270
- end
271
-
272
- # source://spoom//lib/spoom/cli/srb.rb#12
273
- class Spoom::Cli::Srb::Main < ::Thor
274
- # source://thor/1.3.1/lib/thor.rb#334
275
- def bump(*args); end
276
-
277
- # source://thor/1.3.1/lib/thor.rb#334
278
- def coverage(*args); end
279
-
280
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
281
-
282
- # source://thor/1.3.1/lib/thor.rb#334
283
- def lsp(*args); end
284
-
285
- # source://thor/1.3.1/lib/thor.rb#334
286
- def tc(*args); end
287
- end
288
-
289
- # source://spoom//lib/spoom/cli/srb/tc.rb#7
290
- class Spoom::Cli::Srb::Tc < ::Thor
291
- include ::Spoom::Colorize
292
- include ::Spoom::Cli::Helper
293
-
294
- # source://spoom//lib/spoom/cli/srb/tc.rb#132
295
- def colorize_message(message); end
296
-
297
- # source://spoom//lib/spoom/cli/srb/tc.rb#123
298
- def format_error(error, format); end
299
-
300
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
301
-
302
- # source://spoom//lib/spoom/cli/srb/tc.rb#27
303
- def tc(*paths_to_select); end
304
- end
305
-
306
- # source://spoom//lib/spoom/cli/srb/tc.rb#16
307
- Spoom::Cli::Srb::Tc::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
308
-
309
- # source://spoom//lib/spoom/cli/srb/tc.rb#12
310
- Spoom::Cli::Srb::Tc::SORT_CODE = T.let(T.unsafe(nil), String)
311
-
312
- # source://spoom//lib/spoom/cli/srb/tc.rb#14
313
- Spoom::Cli::Srb::Tc::SORT_ENUM = T.let(T.unsafe(nil), Array)
314
-
315
- # source://spoom//lib/spoom/cli/srb/tc.rb#13
316
- Spoom::Cli::Srb::Tc::SORT_LOC = T.let(T.unsafe(nil), String)
317
-
318
- # source://spoom//lib/spoom/colors.rb#5
319
- class Spoom::Color < ::T::Enum
320
- enums do
321
- CLEAR = new
322
- BOLD = new
323
- BLACK = new
324
- RED = new
325
- GREEN = new
326
- YELLOW = new
327
- BLUE = new
328
- MAGENTA = new
329
- CYAN = new
330
- WHITE = new
331
- LIGHT_BLACK = new
332
- LIGHT_RED = new
333
- LIGHT_GREEN = new
334
- LIGHT_YELLOW = new
335
- LIGHT_BLUE = new
336
- LIGHT_MAGENTA = new
337
- LIGHT_CYAN = new
338
- LIGHT_WHITE = new
339
- end
340
-
341
- # source://spoom//lib/spoom/colors.rb#32
342
- sig { returns(::String) }
343
- def ansi_code; end
344
- end
345
-
346
- # source://spoom//lib/spoom/colors.rb#37
347
- module Spoom::Colorize
348
- # source://spoom//lib/spoom/colors.rb#41
349
- sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
350
- def set_color(string, *color); end
351
- end
352
-
353
- # An abstraction to a Ruby project context
354
- #
355
- # A context maps to a directory in the file system.
356
- # It is used to manipulate files and run commands in the context of this directory.
357
- #
358
- # source://spoom//lib/spoom/context/bundle.rb#5
359
- class Spoom::Context
360
- include ::Spoom::Context::Bundle
361
- include ::Spoom::Context::Exec
362
- include ::Spoom::Context::FileSystem
363
- include ::Spoom::Context::Git
364
- include ::Spoom::Context::Sorbet
365
-
366
- # Create a new context about `absolute_path`
367
- #
368
- # The directory will not be created if it doesn't exist.
369
- # Call `#make!` to create it.
370
- #
371
- # source://spoom//lib/spoom/context.rb#51
372
- sig { params(absolute_path: ::String).void }
373
- def initialize(absolute_path); end
374
-
375
- # The absolute path to the directory this context is about
376
- #
377
- # source://spoom//lib/spoom/context.rb#44
378
- sig { returns(::String) }
379
- def absolute_path; end
380
-
381
- class << self
382
- # Create a new context in the system's temporary directory
383
- #
384
- # `name` is used as prefix to the temporary directory name.
385
- # The directory will be created if it doesn't exist.
386
- #
387
- # source://spoom//lib/spoom/context.rb#37
388
- sig { params(name: T.nilable(::String)).returns(T.attached_class) }
389
- def mktmp!(name = T.unsafe(nil)); end
390
- end
391
- end
392
-
393
- # Bundle features for a context
394
- #
395
- # source://spoom//lib/spoom/context/bundle.rb#7
396
- module Spoom::Context::Bundle
397
- requires_ancestor { Spoom::Context }
398
-
399
- # Run a command with `bundle` in this context directory
400
- #
401
- # source://spoom//lib/spoom/context/bundle.rb#33
402
- sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
403
- def bundle(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
404
-
405
- # Run a command `bundle exec` in this context directory
406
- #
407
- # source://spoom//lib/spoom/context/bundle.rb#46
408
- sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
409
- def bundle_exec(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
410
-
411
- # Run `bundle install` in this context directory
412
- #
413
- # source://spoom//lib/spoom/context/bundle.rb#40
414
- sig { params(version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
415
- def bundle_install!(version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
416
-
417
- # Get `gem` version from the `Gemfile.lock` content
418
- #
419
- # Returns `nil` if `gem` cannot be found in the Gemfile.
420
- #
421
- # source://spoom//lib/spoom/context/bundle.rb#62
422
- sig { params(gem: ::String).returns(T.nilable(::String)) }
423
- def gem_version_from_gemfile_lock(gem); end
424
-
425
- # source://spoom//lib/spoom/context/bundle.rb#51
426
- sig { returns(T::Hash[::String, ::Bundler::LazySpecification]) }
427
- def gemfile_lock_specs; end
428
-
429
- # Read the contents of the Gemfile in this context directory
430
- #
431
- # source://spoom//lib/spoom/context/bundle.rb#15
432
- sig { returns(T.nilable(::String)) }
433
- def read_gemfile; end
434
-
435
- # Read the contents of the Gemfile.lock in this context directory
436
- #
437
- # source://spoom//lib/spoom/context/bundle.rb#21
438
- sig { returns(T.nilable(::String)) }
439
- def read_gemfile_lock; end
440
-
441
- # Set the `contents` of the Gemfile in this context directory
442
- #
443
- # source://spoom//lib/spoom/context/bundle.rb#27
444
- sig { params(contents: ::String, append: T::Boolean).void }
445
- def write_gemfile!(contents, append: T.unsafe(nil)); end
446
- end
447
-
448
- # Execution features for a context
449
- #
450
- # source://spoom//lib/spoom/context/exec.rb#27
451
- module Spoom::Context::Exec
452
- requires_ancestor { Spoom::Context }
453
-
454
- # Run a command in this context directory
455
- #
456
- # source://spoom//lib/spoom/context/exec.rb#35
457
- sig { params(command: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) }
458
- def exec(command, capture_err: T.unsafe(nil)); end
459
- end
460
-
461
- # File System features for a context
462
- #
463
- # source://spoom//lib/spoom/context/file_system.rb#7
464
- module Spoom::Context::FileSystem
465
- requires_ancestor { Spoom::Context }
466
-
467
- # Returns the absolute path to `relative_path` in the context's directory
468
- #
469
- # source://spoom//lib/spoom/context/file_system.rb#15
470
- sig { params(relative_path: ::String).returns(::String) }
471
- def absolute_path_to(relative_path); end
472
-
473
- # source://spoom//lib/spoom/context/file_system.rb#53
474
- sig do
475
- params(
476
- allow_extensions: T::Array[::String],
477
- allow_mime_types: T::Array[::String],
478
- exclude_patterns: T::Array[::String]
479
- ).returns(T::Array[::String])
480
- end
481
- def collect_files(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
482
-
483
- # Delete this context and its content
484
- #
485
- # Warning: it will `rm -rf` the context directory on the file system.
486
- #
487
- # source://spoom//lib/spoom/context/file_system.rb#105
488
- sig { void }
489
- def destroy!; end
490
-
491
- # Does the context directory at `absolute_path` exist and is a directory?
492
- #
493
- # source://spoom//lib/spoom/context/file_system.rb#21
494
- sig { returns(T::Boolean) }
495
- def exist?; end
496
-
497
- # Does `relative_path` point to an existing file in this context directory?
498
- #
499
- # source://spoom//lib/spoom/context/file_system.rb#65
500
- sig { params(relative_path: ::String).returns(T::Boolean) }
501
- def file?(relative_path); end
502
-
503
- # List all files in this context matching `pattern`
504
- #
505
- # source://spoom//lib/spoom/context/file_system.rb#34
506
- sig { params(pattern: ::String).returns(T::Array[::String]) }
507
- def glob(pattern = T.unsafe(nil)); end
508
-
509
- # List all files at the top level of this context directory
510
- #
511
- # source://spoom//lib/spoom/context/file_system.rb#42
512
- sig { returns(T::Array[::String]) }
513
- def list; end
514
-
515
- # Create the context directory at `absolute_path`
516
- #
517
- # source://spoom//lib/spoom/context/file_system.rb#27
518
- sig { void }
519
- def mkdir!; end
520
-
521
- # Move the file or directory from `from_relative_path` to `to_relative_path`
522
- #
523
- # source://spoom//lib/spoom/context/file_system.rb#95
524
- sig { params(from_relative_path: ::String, to_relative_path: ::String).void }
525
- def move!(from_relative_path, to_relative_path); end
526
-
527
- # Return the contents of the file at `relative_path` in this context directory
528
- #
529
- # Will raise if the file doesn't exist.
530
- #
531
- # source://spoom//lib/spoom/context/file_system.rb#73
532
- sig { params(relative_path: ::String).returns(::String) }
533
- def read(relative_path); end
534
-
535
- # Remove the path at `relative_path` (recursive + force) in this context directory
536
- #
537
- # source://spoom//lib/spoom/context/file_system.rb#89
538
- sig { params(relative_path: ::String).void }
539
- def remove!(relative_path); end
540
-
541
- # Write `contents` in the file at `relative_path` in this context directory
542
- #
543
- # Append to the file if `append` is true.
544
- #
545
- # source://spoom//lib/spoom/context/file_system.rb#81
546
- sig { params(relative_path: ::String, contents: ::String, append: T::Boolean).void }
547
- def write!(relative_path, contents = T.unsafe(nil), append: T.unsafe(nil)); end
548
- end
549
-
550
- # Git features for a context
551
- #
552
- # source://spoom//lib/spoom/context/git.rb#35
553
- module Spoom::Context::Git
554
- requires_ancestor { Spoom::Context }
555
-
556
- # Run a command prefixed by `git` in this context directory
557
- #
558
- # source://spoom//lib/spoom/context/git.rb#43
559
- sig { params(command: ::String).returns(::Spoom::ExecResult) }
560
- def git(command); end
561
-
562
- # Run `git checkout` in this context directory
563
- #
564
- # source://spoom//lib/spoom/context/git.rb#62
565
- sig { params(ref: ::String).returns(::Spoom::ExecResult) }
566
- def git_checkout!(ref: T.unsafe(nil)); end
567
-
568
- # Run `git checkout -b <branch-name> <ref>` in this context directory
569
- #
570
- # source://spoom//lib/spoom/context/git.rb#68
571
- sig { params(branch_name: ::String, ref: T.nilable(::String)).returns(::Spoom::ExecResult) }
572
- def git_checkout_new_branch!(branch_name, ref: T.unsafe(nil)); end
573
-
574
- # Run `git add . && git commit` in this context directory
575
- #
576
- # source://spoom//lib/spoom/context/git.rb#78
577
- sig { params(message: ::String, time: ::Time, allow_empty: T::Boolean).returns(::Spoom::ExecResult) }
578
- def git_commit!(message: T.unsafe(nil), time: T.unsafe(nil), allow_empty: T.unsafe(nil)); end
579
-
580
- # Get the current git branch in this context directory
581
- #
582
- # source://spoom//lib/spoom/context/git.rb#89
583
- sig { returns(T.nilable(::String)) }
584
- def git_current_branch; end
585
-
586
- # Run `git diff` in this context directory
587
- #
588
- # source://spoom//lib/spoom/context/git.rb#98
589
- sig { params(arg: ::String).returns(::Spoom::ExecResult) }
590
- def git_diff(*arg); end
591
-
592
- # Run `git init` in this context directory
593
- #
594
- # Warning: passing a branch will run `git init -b <branch>` which is only available in git 2.28+.
595
- # In older versions, use `git_init!` followed by `git("checkout -b <branch>")`.
596
- #
597
- # source://spoom//lib/spoom/context/git.rb#52
598
- sig { params(branch: T.nilable(::String)).returns(::Spoom::ExecResult) }
599
- def git_init!(branch: T.unsafe(nil)); end
600
-
601
- # Get the last commit in the currently checked out branch
602
- #
603
- # source://spoom//lib/spoom/context/git.rb#104
604
- sig { params(short_sha: T::Boolean).returns(T.nilable(::Spoom::Git::Commit)) }
605
- def git_last_commit(short_sha: T.unsafe(nil)); end
606
-
607
- # source://spoom//lib/spoom/context/git.rb#115
608
- sig { params(arg: ::String).returns(::Spoom::ExecResult) }
609
- def git_log(*arg); end
610
-
611
- # Run `git push <remote> <ref>` in this context directory
612
- #
613
- # source://spoom//lib/spoom/context/git.rb#121
614
- sig { params(remote: ::String, ref: ::String, force: T::Boolean).returns(::Spoom::ExecResult) }
615
- def git_push!(remote, ref, force: T.unsafe(nil)); end
616
-
617
- # source://spoom//lib/spoom/context/git.rb#126
618
- sig { params(arg: ::String).returns(::Spoom::ExecResult) }
619
- def git_show(*arg); end
620
-
621
- # Is there uncommitted changes in this context directory?
622
- #
623
- # source://spoom//lib/spoom/context/git.rb#132
624
- sig { params(path: ::String).returns(T::Boolean) }
625
- def git_workdir_clean?(path: T.unsafe(nil)); end
626
- end
627
-
628
- # Sorbet features for a context
629
- #
630
- # source://spoom//lib/spoom/context/sorbet.rb#7
631
- module Spoom::Context::Sorbet
632
- requires_ancestor { Spoom::Context }
633
-
634
- # Does this context has a `sorbet/config` file?
635
- #
636
- # source://spoom//lib/spoom/context/sorbet.rb#119
637
- sig { returns(T::Boolean) }
638
- def has_sorbet_config?; end
639
-
640
- # Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil)
641
- #
642
- # source://spoom//lib/spoom/context/sorbet.rb#142
643
- sig { params(relative_path: ::String).returns(T.nilable(::String)) }
644
- def read_file_strictness(relative_path); end
645
-
646
- # Read the contents of `sorbet/config` in this context directory
647
- #
648
- # source://spoom//lib/spoom/context/sorbet.rb#130
649
- sig { returns(::String) }
650
- def read_sorbet_config; end
651
-
652
- # source://spoom//lib/spoom/context/sorbet.rb#124
653
- sig { returns(::Spoom::Sorbet::Config) }
654
- def sorbet_config; end
655
-
656
- # Get the commit introducing the `sorbet/config` file
657
- #
658
- # source://spoom//lib/spoom/context/sorbet.rb#148
659
- sig { returns(T.nilable(::Spoom::Git::Commit)) }
660
- def sorbet_intro_commit; end
661
-
662
- # Get the commit removing the `sorbet/config` file
663
- #
664
- # source://spoom//lib/spoom/context/sorbet.rb#160
665
- sig { returns(T.nilable(::Spoom::Git::Commit)) }
666
- def sorbet_removal_commit; end
667
-
668
- # Run `bundle exec srb` in this context directory
669
- #
670
- # source://spoom//lib/spoom/context/sorbet.rb#15
671
- sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
672
- def srb(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
673
-
674
- # List all files typechecked by Sorbet from its `config`
675
- #
676
- # source://spoom//lib/spoom/context/sorbet.rb#65
677
- sig { params(with_config: T.nilable(::Spoom::Sorbet::Config), include_rbis: T::Boolean).returns(T::Array[::String]) }
678
- def srb_files(with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end
679
-
680
- # List all files typechecked by Sorbet from its `config` that matches `strictness`
681
- #
682
- # source://spoom//lib/spoom/context/sorbet.rb#104
683
- sig do
684
- params(
685
- strictness: ::String,
686
- with_config: T.nilable(::Spoom::Sorbet::Config),
687
- include_rbis: T::Boolean
688
- ).returns(T::Array[::String])
689
- end
690
- def srb_files_with_strictness(strictness, with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end
691
-
692
- # source://spoom//lib/spoom/context/sorbet.rb#45
693
- sig do
694
- params(
695
- arg: ::String,
696
- sorbet_bin: T.nilable(::String),
697
- capture_err: T::Boolean
698
- ).returns(T.nilable(T::Hash[::String, ::Integer]))
699
- end
700
- def srb_metrics(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
701
-
702
- # source://spoom//lib/spoom/context/sorbet.rb#33
703
- sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
704
- def srb_tc(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
705
-
706
- # source://spoom//lib/spoom/context/sorbet.rb#110
707
- sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(T.nilable(::String)) }
708
- def srb_version(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
709
-
710
- # Set the `contents` of `sorbet/config` in this context directory
711
- #
712
- # source://spoom//lib/spoom/context/sorbet.rb#136
713
- sig { params(contents: ::String, append: T::Boolean).void }
714
- def write_sorbet_config!(contents, append: T.unsafe(nil)); end
715
- end
716
-
717
- # source://spoom//lib/spoom/coverage/snapshot.rb#5
718
- module Spoom::Coverage
719
- class << self
720
- # source://spoom//lib/spoom/coverage.rb#103
721
- sig { params(context: ::Spoom::Context).returns(::Spoom::FileTree) }
722
- def file_tree(context); end
723
-
724
- # source://spoom//lib/spoom/coverage.rb#83
725
- sig do
726
- params(
727
- context: ::Spoom::Context,
728
- snapshots: T::Array[::Spoom::Coverage::Snapshot],
729
- palette: ::Spoom::Coverage::D3::ColorPalette
730
- ).returns(::Spoom::Coverage::Report)
731
- end
732
- def report(context, snapshots, palette:); end
733
-
734
- # source://spoom//lib/spoom/coverage.rb#16
735
- sig do
736
- params(
737
- context: ::Spoom::Context,
738
- rbi: T::Boolean,
739
- sorbet_bin: T.nilable(::String)
740
- ).returns(::Spoom::Coverage::Snapshot)
741
- end
742
- def snapshot(context, rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
743
- end
744
- end
745
-
746
- # source://spoom//lib/spoom/coverage/report.rb#88
747
- module Spoom::Coverage::Cards; end
748
-
749
- # source://spoom//lib/spoom/coverage/report.rb#89
750
- class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template
751
- # source://spoom//lib/spoom/coverage/report.rb#98
752
- sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void }
753
- def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end
754
-
755
- # @return [String, nil]
756
- #
757
- # source://spoom//lib/spoom/coverage/report.rb#95
758
- def body; end
759
-
760
- # source://spoom//lib/spoom/coverage/report.rb#95
761
- sig { returns(T.nilable(::String)) }
762
- def title; end
763
- end
764
-
765
- # source://spoom//lib/spoom/coverage/report.rb#92
766
- Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String)
767
-
768
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
769
- #
770
- # source://spoom//lib/spoom/coverage/report.rb#105
771
- class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
772
- abstract!
773
-
774
- # source://spoom//lib/spoom/coverage/report.rb#112
775
- sig { void }
776
- def initialize; end
777
-
778
- # @abstract
779
- #
780
- # source://spoom//lib/spoom/coverage/report.rb#120
781
- sig { abstract.returns(::String) }
782
- def erb; end
783
-
784
- # source://spoom//lib/spoom/coverage/report.rb#115
785
- sig { override.returns(::String) }
786
- def html; end
787
- end
788
-
789
- # source://spoom//lib/spoom/coverage/report.rb#153
790
- class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card
791
- # source://spoom//lib/spoom/coverage/report.rb#164
792
- sig do
793
- params(
794
- file_tree: ::Spoom::FileTree,
795
- nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
796
- nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float],
797
- title: ::String
798
- ).void
799
- end
800
- def initialize(file_tree:, nodes_strictnesses:, nodes_strictness_scores:, title: T.unsafe(nil)); end
801
- end
802
-
803
- # source://spoom//lib/spoom/coverage/report.rb#123
804
- class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card
805
- # source://spoom//lib/spoom/coverage/report.rb#132
806
- sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void }
807
- def initialize(snapshot:, title: T.unsafe(nil)); end
808
-
809
- # source://spoom//lib/spoom/coverage/report.rb#143
810
- sig { returns(::Spoom::Coverage::D3::Pie::Calls) }
811
- def pie_calls; end
812
-
813
- # source://spoom//lib/spoom/coverage/report.rb#138
814
- sig { returns(::Spoom::Coverage::D3::Pie::Sigils) }
815
- def pie_sigils; end
816
-
817
- # source://spoom//lib/spoom/coverage/report.rb#148
818
- sig { returns(::Spoom::Coverage::D3::Pie::Sigs) }
819
- def pie_sigs; end
820
-
821
- # source://spoom//lib/spoom/coverage/report.rb#129
822
- sig { returns(::Spoom::Coverage::Snapshot) }
823
- def snapshot; end
824
- end
825
-
826
- # source://spoom//lib/spoom/coverage/report.rb#126
827
- Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String)
828
-
829
- # source://spoom//lib/spoom/coverage/report.rb#240
830
- class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb
831
- # source://spoom//lib/spoom/coverage/report.rb#244
832
- sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void }
833
- def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
834
-
835
- # source://spoom//lib/spoom/coverage/report.rb#250
836
- sig { override.returns(::String) }
837
- def erb; end
838
- end
839
-
840
- # source://spoom//lib/spoom/coverage/report.rb#177
841
- class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card
842
- # source://spoom//lib/spoom/coverage/report.rb#181
843
- sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void }
844
- def initialize(title:, timeline:); end
845
- end
846
-
847
- # source://spoom//lib/spoom/coverage/report.rb#194
848
- class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline
849
- # source://spoom//lib/spoom/coverage/report.rb#198
850
- sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
851
- def initialize(snapshots:, title: T.unsafe(nil)); end
852
- end
853
-
854
- # source://spoom//lib/spoom/coverage/report.rb#212
855
- class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline
856
- # source://spoom//lib/spoom/coverage/report.rb#216
857
- sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
858
- def initialize(snapshots:, title: T.unsafe(nil)); end
859
- end
860
-
861
- # source://spoom//lib/spoom/coverage/report.rb#230
862
- class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline
863
- # source://spoom//lib/spoom/coverage/report.rb#234
864
- sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
865
- def initialize(snapshots:, title: T.unsafe(nil)); end
866
- end
867
-
868
- # source://spoom//lib/spoom/coverage/report.rb#185
869
- class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline
870
- # source://spoom//lib/spoom/coverage/report.rb#189
871
- sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
872
- def initialize(snapshots:, title: T.unsafe(nil)); end
873
- end
874
-
875
- # source://spoom//lib/spoom/coverage/report.rb#203
876
- class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline
877
- # source://spoom//lib/spoom/coverage/report.rb#207
878
- sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
879
- def initialize(snapshots:, title: T.unsafe(nil)); end
880
- end
881
-
882
- # source://spoom//lib/spoom/coverage/report.rb#221
883
- class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline
884
- # source://spoom//lib/spoom/coverage/report.rb#225
885
- sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
886
- def initialize(snapshots:, title: T.unsafe(nil)); end
887
- end
888
-
889
- # source://spoom//lib/spoom/coverage/d3/base.rb#6
890
- module Spoom::Coverage::D3
891
- class << self
892
- # source://spoom//lib/spoom/coverage/d3.rb#61
893
- sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) }
894
- def header_script(palette); end
895
-
896
- # source://spoom//lib/spoom/coverage/d3.rb#21
897
- sig { returns(::String) }
898
- def header_style; end
899
- end
900
- end
901
-
902
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
903
- #
904
- # source://spoom//lib/spoom/coverage/d3/base.rb#7
905
- class Spoom::Coverage::D3::Base
906
- abstract!
907
-
908
- # source://spoom//lib/spoom/coverage/d3/base.rb#17
909
- sig { params(id: ::String, data: T.untyped).void }
910
- def initialize(id, data); end
911
-
912
- # source://spoom//lib/spoom/coverage/d3/base.rb#37
913
- sig { returns(::String) }
914
- def html; end
915
-
916
- # source://spoom//lib/spoom/coverage/d3/base.rb#14
917
- sig { returns(::String) }
918
- def id; end
919
-
920
- # @abstract
921
- #
922
- # source://spoom//lib/spoom/coverage/d3/base.rb#50
923
- sig { abstract.returns(::String) }
924
- def script; end
925
-
926
- # source://spoom//lib/spoom/coverage/d3/base.rb#45
927
- sig { returns(::String) }
928
- def tooltip; end
929
-
930
- class << self
931
- # source://spoom//lib/spoom/coverage/d3/base.rb#31
932
- sig { returns(::String) }
933
- def header_script; end
934
-
935
- # source://spoom//lib/spoom/coverage/d3/base.rb#26
936
- sig { returns(::String) }
937
- def header_style; end
938
- end
939
- end
940
-
941
- # source://spoom//lib/spoom/coverage/d3.rb#12
942
- Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String)
943
-
944
- # source://spoom//lib/spoom/coverage/d3.rb#11
945
- Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String)
946
-
947
- # source://spoom//lib/spoom/coverage/d3.rb#14
948
- Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String)
949
-
950
- # source://spoom//lib/spoom/coverage/d3.rb#15
951
- Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String)
952
-
953
- # source://spoom//lib/spoom/coverage/d3.rb#13
954
- Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String)
955
-
956
- # source://spoom//lib/spoom/coverage/d3/circle_map.rb#9
957
- class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base
958
- # source://spoom//lib/spoom/coverage/d3/circle_map.rb#59
959
- sig { override.returns(::String) }
960
- def script; end
961
-
962
- class << self
963
- # source://spoom//lib/spoom/coverage/d3/circle_map.rb#40
964
- sig { returns(::String) }
965
- def header_script; end
966
-
967
- # source://spoom//lib/spoom/coverage/d3/circle_map.rb#14
968
- sig { returns(::String) }
969
- def header_style; end
970
- end
971
- end
972
-
973
- # source://spoom//lib/spoom/coverage/d3/circle_map.rb#148
974
- class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
975
- # source://spoom//lib/spoom/coverage/d3/circle_map.rb#159
976
- sig do
977
- params(
978
- id: ::String,
979
- file_tree: ::Spoom::FileTree,
980
- nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
981
- nodes_scores: T::Hash[::Spoom::FileTree::Node, ::Float]
982
- ).void
983
- end
984
- def initialize(id, file_tree, nodes_strictnesses, nodes_scores); end
985
-
986
- # source://spoom//lib/spoom/coverage/d3/circle_map.rb#166
987
- sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) }
988
- def tree_node_to_json(node); end
989
- end
990
-
991
- # source://spoom//lib/spoom/coverage/d3.rb#103
992
- class Spoom::Coverage::D3::ColorPalette < ::T::Struct
993
- prop :ignore, ::String
994
- prop :false, ::String
995
- prop :true, ::String
996
- prop :strict, ::String
997
- prop :strong, ::String
998
-
999
- class << self
1000
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
1001
- def inherited(s); end
1002
- end
1003
- end
1004
-
1005
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1006
- #
1007
- # source://spoom//lib/spoom/coverage/d3/pie.rb#9
1008
- class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
1009
- abstract!
1010
-
1011
- # source://spoom//lib/spoom/coverage/d3/pie.rb#16
1012
- sig { params(id: ::String, title: ::String, data: T.untyped).void }
1013
- def initialize(id, title, data); end
1014
-
1015
- # source://spoom//lib/spoom/coverage/d3/pie.rb#56
1016
- sig { override.returns(::String) }
1017
- def script; end
1018
-
1019
- class << self
1020
- # source://spoom//lib/spoom/coverage/d3/pie.rb#43
1021
- sig { returns(::String) }
1022
- def header_script; end
1023
-
1024
- # source://spoom//lib/spoom/coverage/d3/pie.rb#25
1025
- sig { returns(::String) }
1026
- def header_style; end
1027
- end
1028
- end
1029
-
1030
- # source://spoom//lib/spoom/coverage/d3/pie.rb#141
1031
- class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie
1032
- # source://spoom//lib/spoom/coverage/d3/pie.rb#145
1033
- sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
1034
- def initialize(id, title, snapshot); end
1035
-
1036
- # source://spoom//lib/spoom/coverage/d3/pie.rb#150
1037
- sig { override.returns(::String) }
1038
- def tooltip; end
1039
- end
1040
-
1041
- # source://spoom//lib/spoom/coverage/d3/pie.rb#123
1042
- class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie
1043
- # source://spoom//lib/spoom/coverage/d3/pie.rb#127
1044
- sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
1045
- def initialize(id, title, snapshot); end
1046
-
1047
- # source://spoom//lib/spoom/coverage/d3/pie.rb#132
1048
- sig { override.returns(::String) }
1049
- def tooltip; end
1050
- end
1051
-
1052
- # source://spoom//lib/spoom/coverage/d3/pie.rb#159
1053
- class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie
1054
- # source://spoom//lib/spoom/coverage/d3/pie.rb#163
1055
- sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
1056
- def initialize(id, title, snapshot); end
1057
-
1058
- # source://spoom//lib/spoom/coverage/d3/pie.rb#172
1059
- sig { override.returns(::String) }
1060
- def tooltip; end
1061
- end
1062
-
1063
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1064
- #
1065
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#9
1066
- class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
1067
- abstract!
1068
-
1069
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#16
1070
- sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void }
1071
- def initialize(id, data, keys); end
1072
-
1073
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#187
1074
- sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1075
- def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
1076
-
1077
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#203
1078
- sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1079
- def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
1080
-
1081
- # @abstract
1082
- #
1083
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#126
1084
- sig { abstract.returns(::String) }
1085
- def plot; end
1086
-
1087
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#217
1088
- sig { params(y: ::String).returns(::String) }
1089
- def points(y:); end
1090
-
1091
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#101
1092
- sig { override.returns(::String) }
1093
- def script; end
1094
-
1095
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#129
1096
- sig { returns(::String) }
1097
- def x_scale; end
1098
-
1099
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#145
1100
- sig { returns(::String) }
1101
- def x_ticks; end
1102
-
1103
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#158
1104
- sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) }
1105
- def y_scale(min:, max:, ticks:); end
1106
-
1107
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#174
1108
- sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) }
1109
- def y_ticks(ticks:, format:, padding:); end
1110
-
1111
- class << self
1112
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#79
1113
- sig { returns(::String) }
1114
- def header_script; end
1115
-
1116
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#25
1117
- sig { returns(::String) }
1118
- def header_style; end
1119
- end
1120
- end
1121
-
1122
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#448
1123
- class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked
1124
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#452
1125
- sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1126
- def initialize(id, snapshots); end
1127
-
1128
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#466
1129
- sig { override.returns(::String) }
1130
- def tooltip; end
1131
- end
1132
-
1133
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#505
1134
- class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked
1135
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#509
1136
- sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1137
- def initialize(id, snapshots); end
1138
-
1139
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#577
1140
- sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1141
- def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
1142
-
1143
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#617
1144
- sig { override.returns(::String) }
1145
- def plot; end
1146
-
1147
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#537
1148
- sig { override.returns(::String) }
1149
- def script; end
1150
-
1151
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#523
1152
- sig { override.returns(::String) }
1153
- def tooltip; end
1154
- end
1155
-
1156
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#282
1157
- class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline
1158
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#286
1159
- sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1160
- def initialize(id, snapshots); end
1161
-
1162
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#311
1163
- sig { override.returns(::String) }
1164
- def plot; end
1165
-
1166
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#298
1167
- sig { override.returns(::String) }
1168
- def tooltip; end
1169
- end
1170
-
1171
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#421
1172
- class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked
1173
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#425
1174
- sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1175
- def initialize(id, snapshots); end
1176
-
1177
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#439
1178
- sig { override.returns(::String) }
1179
- def tooltip; end
1180
- end
1181
-
1182
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#475
1183
- class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked
1184
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#479
1185
- sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1186
- def initialize(id, snapshots); end
1187
-
1188
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#496
1189
- sig { override.returns(::String) }
1190
- def tooltip; end
1191
- end
1192
-
1193
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1194
- #
1195
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#329
1196
- class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
1197
- abstract!
1198
-
1199
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#388
1200
- sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1201
- def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
1202
-
1203
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#377
1204
- sig { override.returns(::String) }
1205
- def plot; end
1206
-
1207
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#336
1208
- sig { override.returns(::String) }
1209
- def script; end
1210
- end
1211
-
1212
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#232
1213
- class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline
1214
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#236
1215
- sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1216
- def initialize(id, snapshots); end
1217
-
1218
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#263
1219
- sig { override.returns(::String) }
1220
- def plot; end
1221
-
1222
- # source://spoom//lib/spoom/coverage/d3/timeline.rb#249
1223
- sig { override.returns(::String) }
1224
- def tooltip; end
1225
- end
1226
-
1227
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1228
- #
1229
- # source://spoom//lib/spoom/coverage/report.rb#38
1230
- class Spoom::Coverage::Page < ::Spoom::Coverage::Template
1231
- abstract!
1232
-
1233
- # source://spoom//lib/spoom/coverage/report.rb#53
1234
- sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void }
1235
- def initialize(title:, palette:, template: T.unsafe(nil)); end
1236
-
1237
- # source://spoom//lib/spoom/coverage/report.rb#75
1238
- sig { returns(::String) }
1239
- def body_html; end
1240
-
1241
- # @abstract
1242
- #
1243
- # source://spoom//lib/spoom/coverage/report.rb#80
1244
- sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1245
- def cards; end
1246
-
1247
- # source://spoom//lib/spoom/coverage/report.rb#83
1248
- sig { returns(::String) }
1249
- def footer_html; end
1250
-
1251
- # source://spoom//lib/spoom/coverage/report.rb#70
1252
- sig { returns(::String) }
1253
- def header_html; end
1254
-
1255
- # source://spoom//lib/spoom/coverage/report.rb#65
1256
- sig { returns(::String) }
1257
- def header_script; end
1258
-
1259
- # source://spoom//lib/spoom/coverage/report.rb#60
1260
- sig { returns(::String) }
1261
- def header_style; end
1262
-
1263
- # source://spoom//lib/spoom/coverage/report.rb#50
1264
- sig { returns(::Spoom::Coverage::D3::ColorPalette) }
1265
- def palette; end
1266
-
1267
- # source://spoom//lib/spoom/coverage/report.rb#47
1268
- sig { returns(::String) }
1269
- def title; end
1270
- end
1271
-
1272
- # source://spoom//lib/spoom/coverage/report.rb#44
1273
- Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String)
1274
-
1275
- # source://spoom//lib/spoom/coverage/report.rb#261
1276
- class Spoom::Coverage::Report < ::Spoom::Coverage::Page
1277
- # source://spoom//lib/spoom/coverage/report.rb#276
1278
- sig do
1279
- params(
1280
- project_name: ::String,
1281
- palette: ::Spoom::Coverage::D3::ColorPalette,
1282
- snapshots: T::Array[::Spoom::Coverage::Snapshot],
1283
- file_tree: ::Spoom::FileTree,
1284
- nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
1285
- nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float],
1286
- sorbet_intro_commit: T.nilable(::String),
1287
- sorbet_intro_date: T.nilable(::Time)
1288
- ).void
1289
- end
1290
- def initialize(project_name:, palette:, snapshots:, file_tree:, nodes_strictnesses:, nodes_strictness_scores:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
1291
-
1292
- # source://spoom//lib/spoom/coverage/report.rb#308
1293
- sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1294
- def cards; end
1295
-
1296
- # source://spoom//lib/spoom/coverage/report.rb#297
1297
- sig { override.returns(::String) }
1298
- def header_html; end
1299
- end
1300
-
1301
- # source://spoom//lib/spoom/coverage/snapshot.rb#6
1302
- class Spoom::Coverage::Snapshot < ::T::Struct
1303
- prop :timestamp, ::Integer, default: T.unsafe(nil)
1304
- prop :version_static, T.nilable(::String), default: T.unsafe(nil)
1305
- prop :version_runtime, T.nilable(::String), default: T.unsafe(nil)
1306
- prop :duration, ::Integer, default: T.unsafe(nil)
1307
- prop :commit_sha, T.nilable(::String), default: T.unsafe(nil)
1308
- prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil)
1309
- prop :files, ::Integer, default: T.unsafe(nil)
1310
- prop :rbi_files, ::Integer, default: T.unsafe(nil)
1311
- prop :modules, ::Integer, default: T.unsafe(nil)
1312
- prop :classes, ::Integer, default: T.unsafe(nil)
1313
- prop :singleton_classes, ::Integer, default: T.unsafe(nil)
1314
- prop :methods_without_sig, ::Integer, default: T.unsafe(nil)
1315
- prop :methods_with_sig, ::Integer, default: T.unsafe(nil)
1316
- prop :calls_untyped, ::Integer, default: T.unsafe(nil)
1317
- prop :calls_typed, ::Integer, default: T.unsafe(nil)
1318
- prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil)
1319
- prop :methods_with_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
1320
- prop :methods_without_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
1321
- prop :sigils_excluding_rbis, T::Hash[::String, ::Integer], default: T.unsafe(nil)
1322
-
1323
- # source://spoom//lib/spoom/coverage/snapshot.rb#33
1324
- sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
1325
- def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1326
-
1327
- # source://spoom//lib/spoom/coverage/snapshot.rb#39
1328
- sig { params(arg: T.untyped).returns(::String) }
1329
- def to_json(*arg); end
1330
-
1331
- class << self
1332
- # source://spoom//lib/spoom/coverage/snapshot.rb#47
1333
- sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) }
1334
- def from_json(json); end
1335
-
1336
- # source://spoom//lib/spoom/coverage/snapshot.rb#52
1337
- sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
1338
- def from_obj(obj); end
1339
-
1340
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
1341
- def inherited(s); end
1342
- end
1343
- end
1344
-
1345
- # The strictness name as found in the Sorbet metrics file
1346
- #
1347
- # source://spoom//lib/spoom/coverage/snapshot.rb#30
1348
- Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array)
1349
-
1350
- # source://spoom//lib/spoom/coverage/snapshot.rb#95
1351
- class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer
1352
- # source://spoom//lib/spoom/coverage/snapshot.rb#99
1353
- sig { params(snapshot: ::Spoom::Coverage::Snapshot).void }
1354
- def print_snapshot(snapshot); end
1355
-
1356
- private
1357
-
1358
- # source://spoom//lib/spoom/coverage/snapshot.rb#158
1359
- sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) }
1360
- def percent(value, total); end
1361
-
1362
- # source://spoom//lib/spoom/coverage/snapshot.rb#147
1363
- sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void }
1364
- def print_map(hash, total); end
1365
- end
1366
-
1367
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1368
- #
1369
- # source://spoom//lib/spoom/coverage/report.rb#10
1370
- class Spoom::Coverage::Template
1371
- abstract!
1372
-
1373
- # Create a new template from an Erb file path
1374
- #
1375
- # source://spoom//lib/spoom/coverage/report.rb#18
1376
- sig { params(template: ::String).void }
1377
- def initialize(template:); end
1378
-
1379
- # source://spoom//lib/spoom/coverage/report.rb#23
1380
- sig { returns(::String) }
1381
- def erb; end
1382
-
1383
- # source://spoom//lib/spoom/coverage/report.rb#33
1384
- sig { returns(::Binding) }
1385
- def get_binding; end
1386
-
1387
- # source://spoom//lib/spoom/coverage/report.rb#28
1388
- sig { returns(::String) }
1389
- def html; end
1390
- end
1391
-
1392
- # source://spoom//lib/spoom/deadcode/visitor.rb#5
1393
- module Spoom::Deadcode
1394
- class << self
1395
- # source://spoom//lib/spoom/deadcode.rb#81
1396
- sig do
1397
- params(
1398
- index: ::Spoom::Deadcode::Index,
1399
- erb: ::String,
1400
- file: ::String,
1401
- plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1402
- ).void
1403
- end
1404
- def index_erb(index, erb, file:, plugins: T.unsafe(nil)); end
1405
-
1406
- # source://spoom//lib/spoom/deadcode.rb#67
1407
- sig do
1408
- params(
1409
- index: ::Spoom::Deadcode::Index,
1410
- node: ::Prism::Node,
1411
- ruby: ::String,
1412
- file: ::String,
1413
- plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1414
- ).void
1415
- end
1416
- def index_node(index, node, ruby, file:, plugins: T.unsafe(nil)); end
1417
-
1418
- # source://spoom//lib/spoom/deadcode.rb#75
1419
- sig do
1420
- params(
1421
- index: ::Spoom::Deadcode::Index,
1422
- ruby: ::String,
1423
- file: ::String,
1424
- plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1425
- ).void
1426
- end
1427
- def index_ruby(index, ruby, file:, plugins: T.unsafe(nil)); end
1428
-
1429
- # source://spoom//lib/spoom/deadcode/plugins.rb#75
1430
- sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
1431
- def load_custom_plugins(context); end
1432
-
1433
- # source://spoom//lib/spoom/deadcode.rb#43
1434
- sig { params(ruby: ::String, file: ::String).returns(::Prism::Node) }
1435
- def parse_ruby(ruby, file:); end
1436
-
1437
- # source://spoom//lib/spoom/deadcode/plugins.rb#61
1438
- sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
1439
- def plugins_from_gemfile_lock(context); end
1440
- end
1441
- end
1442
-
1443
- # source://spoom//lib/spoom/deadcode/plugins.rb#26
1444
- Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String)
1445
-
1446
- # source://spoom//lib/spoom/deadcode/plugins.rb#28
1447
- Spoom::Deadcode::DEFAULT_PLUGINS = T.let(T.unsafe(nil), Set)
1448
-
1449
- # A definition is a class, module, method, constant, etc. being defined in the code
1450
- #
1451
- # source://spoom//lib/spoom/deadcode/definition.rb#7
1452
- class Spoom::Deadcode::Definition < ::T::Struct
1453
- const :kind, ::Spoom::Deadcode::Definition::Kind
1454
- const :name, ::String
1455
- const :full_name, ::String
1456
- const :location, ::Spoom::Deadcode::Location
1457
- const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil)
1458
-
1459
- # source://spoom//lib/spoom/deadcode/definition.rb#78
1460
- sig { void }
1461
- def alive!; end
1462
-
1463
- # Status
1464
- #
1465
- # source://spoom//lib/spoom/deadcode/definition.rb#73
1466
- sig { returns(T::Boolean) }
1467
- def alive?; end
1468
-
1469
- # Kind
1470
- #
1471
- # source://spoom//lib/spoom/deadcode/definition.rb#41
1472
- sig { returns(T::Boolean) }
1473
- def attr_reader?; end
1474
-
1475
- # source://spoom//lib/spoom/deadcode/definition.rb#46
1476
- sig { returns(T::Boolean) }
1477
- def attr_writer?; end
1478
-
1479
- # source://spoom//lib/spoom/deadcode/definition.rb#51
1480
- sig { returns(T::Boolean) }
1481
- def class?; end
1482
-
1483
- # source://spoom//lib/spoom/deadcode/definition.rb#56
1484
- sig { returns(T::Boolean) }
1485
- def constant?; end
1486
-
1487
- # source://spoom//lib/spoom/deadcode/definition.rb#83
1488
- sig { returns(T::Boolean) }
1489
- def dead?; end
1490
-
1491
- # source://spoom//lib/spoom/deadcode/definition.rb#93
1492
- sig { void }
1493
- def ignored!; end
1494
-
1495
- # source://spoom//lib/spoom/deadcode/definition.rb#88
1496
- sig { returns(T::Boolean) }
1497
- def ignored?; end
1498
-
1499
- # source://spoom//lib/spoom/deadcode/definition.rb#61
1500
- sig { returns(T::Boolean) }
1501
- def method?; end
1502
-
1503
- # source://spoom//lib/spoom/deadcode/definition.rb#66
1504
- sig { returns(T::Boolean) }
1505
- def module?; end
1506
-
1507
- # Utils
1508
- #
1509
- # source://spoom//lib/spoom/deadcode/definition.rb#100
1510
- sig { params(args: T.untyped).returns(::String) }
1511
- def to_json(*args); end
1512
-
1513
- class << self
1514
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
1515
- def inherited(s); end
1516
- end
1517
- end
1518
-
1519
- # source://spoom//lib/spoom/deadcode/definition.rb#10
1520
- class Spoom::Deadcode::Definition::Kind < ::T::Enum
1521
- enums do
1522
- AttrReader = new
1523
- AttrWriter = new
1524
- Class = new
1525
- Constant = new
1526
- Method = new
1527
- Module = new
1528
- end
1529
- end
1530
-
1531
- # source://spoom//lib/spoom/deadcode/definition.rb#21
1532
- class Spoom::Deadcode::Definition::Status < ::T::Enum
1533
- enums do
1534
- ALIVE = new
1535
- DEAD = new
1536
- IGNORED = new
1537
- end
1538
- end
1539
-
1540
- # Custom engine to handle ERB templates as used by Rails
1541
- #
1542
- # source://spoom//lib/spoom/deadcode/erb.rb#29
1543
- class Spoom::Deadcode::ERB < ::Erubi::Engine
1544
- # source://spoom//lib/spoom/deadcode/erb.rb#33
1545
- sig { params(input: T.untyped, properties: T.untyped).void }
1546
- def initialize(input, properties = T.unsafe(nil)); end
1547
-
1548
- private
1549
-
1550
- # source://spoom//lib/spoom/deadcode/erb.rb#83
1551
- sig { override.params(code: T.untyped).void }
1552
- def add_code(code); end
1553
-
1554
- # source://spoom//lib/spoom/deadcode/erb.rb#66
1555
- sig { override.params(indicator: T.untyped, code: T.untyped).void }
1556
- def add_expression(indicator, code); end
1557
-
1558
- # source://spoom//lib/spoom/deadcode/erb.rb#89
1559
- sig { override.params(_: T.untyped).void }
1560
- def add_postamble(_); end
1561
-
1562
- # source://spoom//lib/spoom/deadcode/erb.rb#48
1563
- sig { override.params(text: T.untyped).void }
1564
- def add_text(text); end
1565
-
1566
- # source://spoom//lib/spoom/deadcode/erb.rb#95
1567
- sig { params(src: T.untyped).void }
1568
- def flush_newline_if_pending(src); end
1569
- end
1570
-
1571
- # source://spoom//lib/spoom/deadcode/erb.rb#63
1572
- Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp)
1573
-
1574
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1575
- #
1576
- # source://spoom//lib/spoom/deadcode.rb#21
1577
- class Spoom::Deadcode::Error < ::Spoom::Error
1578
- abstract!
1579
- end
1580
-
1581
- # source://spoom//lib/spoom/deadcode/index.rb#6
1582
- class Spoom::Deadcode::Index
1583
- # source://spoom//lib/spoom/deadcode/index.rb#16
1584
- sig { void }
1585
- def initialize; end
1586
-
1587
- # source://spoom//lib/spoom/deadcode/index.rb#51
1588
- sig { returns(T::Array[::Spoom::Deadcode::Definition]) }
1589
- def all_definitions; end
1590
-
1591
- # source://spoom//lib/spoom/deadcode/index.rb#56
1592
- sig { returns(T::Array[::Spoom::Deadcode::Reference]) }
1593
- def all_references; end
1594
-
1595
- # Indexing
1596
- #
1597
- # source://spoom//lib/spoom/deadcode/index.rb#24
1598
- sig { params(definition: ::Spoom::Deadcode::Definition).void }
1599
- def define(definition); end
1600
-
1601
- # source://spoom//lib/spoom/deadcode/index.rb#10
1602
- sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) }
1603
- def definitions; end
1604
-
1605
- # Utils
1606
- #
1607
- # source://spoom//lib/spoom/deadcode/index.rb#46
1608
- sig { params(name: ::String).returns(T::Array[::Spoom::Deadcode::Definition]) }
1609
- def definitions_for_name(name); end
1610
-
1611
- # Mark all definitions having a reference of the same name as `alive`
1612
- #
1613
- # To be called once all the files have been indexed and all the definitions and references discovered.
1614
- #
1615
- # source://spoom//lib/spoom/deadcode/index.rb#37
1616
- sig { void }
1617
- def finalize!; end
1618
-
1619
- # source://spoom//lib/spoom/deadcode/index.rb#29
1620
- sig { params(reference: ::Spoom::Deadcode::Reference).void }
1621
- def reference(reference); end
1622
-
1623
- # source://spoom//lib/spoom/deadcode/index.rb#13
1624
- sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Reference]]) }
1625
- def references; end
1626
- end
1627
-
1628
- # source://spoom//lib/spoom/deadcode/indexer.rb#6
1629
- class Spoom::Deadcode::Indexer < ::Spoom::Deadcode::Visitor
1630
- # source://spoom//lib/spoom/deadcode/indexer.rb#16
1631
- sig do
1632
- params(
1633
- path: ::String,
1634
- source: ::String,
1635
- index: ::Spoom::Deadcode::Index,
1636
- plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1637
- ).void
1638
- end
1639
- def initialize(path, source, index, plugins: T.unsafe(nil)); end
1640
-
1641
- # Context
1642
- #
1643
- # source://spoom//lib/spoom/deadcode/indexer.rb#408
1644
- sig { returns(::Prism::Node) }
1645
- def current_node; end
1646
-
1647
- # Definition indexing
1648
- #
1649
- # source://spoom//lib/spoom/deadcode/indexer.rb#322
1650
- sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void }
1651
- def define_attr_reader(name, full_name, node); end
1652
-
1653
- # source://spoom//lib/spoom/deadcode/indexer.rb#334
1654
- sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void }
1655
- def define_attr_writer(name, full_name, node); end
1656
-
1657
- # source://spoom//lib/spoom/deadcode/indexer.rb#346
1658
- sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void }
1659
- def define_class(name, full_name, node); end
1660
-
1661
- # source://spoom//lib/spoom/deadcode/indexer.rb#358
1662
- sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void }
1663
- def define_constant(name, full_name, node); end
1664
-
1665
- # source://spoom//lib/spoom/deadcode/indexer.rb#370
1666
- sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void }
1667
- def define_method(name, full_name, node); end
1668
-
1669
- # source://spoom//lib/spoom/deadcode/indexer.rb#382
1670
- sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void }
1671
- def define_module(name, full_name, node); end
1672
-
1673
- # source://spoom//lib/spoom/deadcode/indexer.rb#13
1674
- sig { returns(::Spoom::Deadcode::Index) }
1675
- def index; end
1676
-
1677
- # source://spoom//lib/spoom/deadcode/indexer.rb#453
1678
- sig { returns(T.nilable(::String)) }
1679
- def last_sig; end
1680
-
1681
- # source://spoom//lib/spoom/deadcode/indexer.rb#427
1682
- sig { returns(T.nilable(::Prism::BlockNode)) }
1683
- def nesting_block; end
1684
-
1685
- # source://spoom//lib/spoom/deadcode/indexer.rb#432
1686
- sig { returns(T.nilable(::Prism::CallNode)) }
1687
- def nesting_call; end
1688
-
1689
- # source://spoom//lib/spoom/deadcode/indexer.rb#422
1690
- sig { returns(T.nilable(::Prism::ClassNode)) }
1691
- def nesting_class; end
1692
-
1693
- # source://spoom//lib/spoom/deadcode/indexer.rb#437
1694
- sig { returns(T.nilable(::String)) }
1695
- def nesting_class_name; end
1696
-
1697
- # source://spoom//lib/spoom/deadcode/indexer.rb#445
1698
- sig { returns(T.nilable(::String)) }
1699
- def nesting_class_superclass_name; end
1700
-
1701
- # source://spoom//lib/spoom/deadcode/indexer.rb#413
1702
- sig { type_parameters(:N).params(type: T::Class[T.type_parameter(:N)]).returns(T.nilable(T.type_parameter(:N))) }
1703
- def nesting_node(type); end
1704
-
1705
- # Node utils
1706
- #
1707
- # source://spoom//lib/spoom/deadcode/indexer.rb#464
1708
- sig { params(node: ::Prism::Node).returns(::Spoom::Deadcode::Location) }
1709
- def node_location(node); end
1710
-
1711
- # source://spoom//lib/spoom/deadcode/indexer.rb#10
1712
- sig { returns(::String) }
1713
- def path; end
1714
-
1715
- # Reference indexing
1716
- #
1717
- # source://spoom//lib/spoom/deadcode/indexer.rb#396
1718
- sig { params(name: ::String, node: ::Prism::Node).void }
1719
- def reference_constant(name, node); end
1720
-
1721
- # source://spoom//lib/spoom/deadcode/indexer.rb#401
1722
- sig { params(name: ::String, node: ::Prism::Node).void }
1723
- def reference_method(name, node); end
1724
-
1725
- # Visit
1726
- #
1727
- # source://spoom//lib/spoom/deadcode/indexer.rb#35
1728
- sig { override.params(node: T.nilable(::Prism::Node)).void }
1729
- def visit(node); end
1730
-
1731
- # source://spoom//lib/spoom/deadcode/indexer.rb#45
1732
- sig { override.params(node: ::Prism::AliasMethodNode).void }
1733
- def visit_alias_method_node(node); end
1734
-
1735
- # source://spoom//lib/spoom/deadcode/indexer.rb#50
1736
- sig { override.params(node: ::Prism::AndNode).void }
1737
- def visit_and_node(node); end
1738
-
1739
- # source://spoom//lib/spoom/deadcode/indexer.rb#56
1740
- sig { override.params(node: ::Prism::BlockArgumentNode).void }
1741
- def visit_block_argument_node(node); end
1742
-
1743
- # source://spoom//lib/spoom/deadcode/indexer.rb#67
1744
- sig { override.params(node: ::Prism::CallAndWriteNode).void }
1745
- def visit_call_and_write_node(node); end
1746
-
1747
- # source://spoom//lib/spoom/deadcode/indexer.rb#91
1748
- sig { override.params(node: ::Prism::CallNode).void }
1749
- def visit_call_node(node); end
1750
-
1751
- # source://spoom//lib/spoom/deadcode/indexer.rb#75
1752
- sig { override.params(node: ::Prism::CallOperatorWriteNode).void }
1753
- def visit_call_operator_write_node(node); end
1754
-
1755
- # source://spoom//lib/spoom/deadcode/indexer.rb#83
1756
- sig { override.params(node: ::Prism::CallOrWriteNode).void }
1757
- def visit_call_or_write_node(node); end
1758
-
1759
- # source://spoom//lib/spoom/deadcode/indexer.rb#104
1760
- sig { override.params(node: ::Prism::ClassNode).void }
1761
- def visit_class_node(node); end
1762
-
1763
- # source://spoom//lib/spoom/deadcode/indexer.rb#137
1764
- sig { override.params(node: ::Prism::ConstantAndWriteNode).void }
1765
- def visit_constant_and_write_node(node); end
1766
-
1767
- # source://spoom//lib/spoom/deadcode/indexer.rb#143
1768
- sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void }
1769
- def visit_constant_operator_write_node(node); end
1770
-
1771
- # source://spoom//lib/spoom/deadcode/indexer.rb#149
1772
- sig { override.params(node: ::Prism::ConstantOrWriteNode).void }
1773
- def visit_constant_or_write_node(node); end
1774
-
1775
- # source://spoom//lib/spoom/deadcode/indexer.rb#155
1776
- sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
1777
- def visit_constant_path_write_node(node); end
1778
-
1779
- # source://spoom//lib/spoom/deadcode/indexer.rb#173
1780
- sig { override.params(node: ::Prism::ConstantReadNode).void }
1781
- def visit_constant_read_node(node); end
1782
-
1783
- # source://spoom//lib/spoom/deadcode/indexer.rb#178
1784
- sig { override.params(node: ::Prism::ConstantWriteNode).void }
1785
- def visit_constant_write_node(node); end
1786
-
1787
- # source://spoom//lib/spoom/deadcode/indexer.rb#186
1788
- sig { override.params(node: ::Prism::DefNode).void }
1789
- def visit_def_node(node); end
1790
-
1791
- # source://spoom//lib/spoom/deadcode/indexer.rb#194
1792
- sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void }
1793
- def visit_local_variable_and_write_node(node); end
1794
-
1795
- # source://spoom//lib/spoom/deadcode/indexer.rb#202
1796
- sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void }
1797
- def visit_local_variable_operator_write_node(node); end
1798
-
1799
- # source://spoom//lib/spoom/deadcode/indexer.rb#210
1800
- sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void }
1801
- def visit_local_variable_or_write_node(node); end
1802
-
1803
- # source://spoom//lib/spoom/deadcode/indexer.rb#218
1804
- sig { override.params(node: ::Prism::LocalVariableWriteNode).void }
1805
- def visit_local_variable_write_node(node); end
1806
-
1807
- # source://spoom//lib/spoom/deadcode/indexer.rb#224
1808
- sig { override.params(node: ::Prism::ModuleNode).void }
1809
- def visit_module_node(node); end
1810
-
1811
- # source://spoom//lib/spoom/deadcode/indexer.rb#254
1812
- sig { override.params(node: ::Prism::MultiWriteNode).void }
1813
- def visit_multi_write_node(node); end
1814
-
1815
- # source://spoom//lib/spoom/deadcode/indexer.rb#268
1816
- sig { override.params(node: ::Prism::OrNode).void }
1817
- def visit_or_node(node); end
1818
-
1819
- # source://spoom//lib/spoom/deadcode/indexer.rb#274
1820
- sig { params(send: ::Spoom::Deadcode::Send).void }
1821
- def visit_send(send); end
1822
- end
1823
-
1824
- # source://spoom//lib/spoom/deadcode.rb#29
1825
- class Spoom::Deadcode::IndexerError < ::Spoom::Deadcode::Error
1826
- # source://spoom//lib/spoom/deadcode.rb#33
1827
- sig { params(message: ::String, parent: ::Exception).void }
1828
- def initialize(message, parent:); end
1829
- end
1830
-
1831
- # source://spoom//lib/spoom/deadcode/location.rb#6
1832
- class Spoom::Deadcode::Location
1833
- include ::Comparable
1834
-
1835
- # source://spoom//lib/spoom/deadcode/location.rb#54
1836
- sig do
1837
- params(
1838
- file: ::String,
1839
- start_line: ::Integer,
1840
- start_column: ::Integer,
1841
- end_line: ::Integer,
1842
- end_column: ::Integer
1843
- ).void
1844
- end
1845
- def initialize(file, start_line, start_column, end_line, end_column); end
1846
-
1847
- # source://spoom//lib/spoom/deadcode/location.rb#74
1848
- sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) }
1849
- def <=>(other); end
1850
-
1851
- # @return [Integer]
1852
- #
1853
- # source://spoom//lib/spoom/deadcode/location.rb#43
1854
- def end_column; end
1855
-
1856
- # @return [Integer]
1857
- #
1858
- # source://spoom//lib/spoom/deadcode/location.rb#43
1859
- def end_line; end
1860
-
1861
- # source://spoom//lib/spoom/deadcode/location.rb#40
1862
- sig { returns(::String) }
1863
- def file; end
1864
-
1865
- # source://spoom//lib/spoom/deadcode/location.rb#63
1866
- sig { params(other: ::Spoom::Deadcode::Location).returns(T::Boolean) }
1867
- def include?(other); end
1868
-
1869
- # @return [Integer]
1870
- #
1871
- # source://spoom//lib/spoom/deadcode/location.rb#43
1872
- def start_column; end
1873
-
1874
- # source://spoom//lib/spoom/deadcode/location.rb#43
1875
- sig { returns(::Integer) }
1876
- def start_line; end
1877
-
1878
- # source://spoom//lib/spoom/deadcode/location.rb#81
1879
- sig { returns(::String) }
1880
- def to_s; end
1881
-
1882
- class << self
1883
- # source://spoom//lib/spoom/deadcode/location.rb#34
1884
- sig { params(file: ::String, location: ::Prism::Location).returns(::Spoom::Deadcode::Location) }
1885
- def from_prism(file, location); end
1886
-
1887
- # @raise [LocationError]
1888
- #
1889
- # source://spoom//lib/spoom/deadcode/location.rb#17
1890
- sig { params(location_string: ::String).returns(::Spoom::Deadcode::Location) }
1891
- def from_string(location_string); end
1892
- end
1893
- end
1894
-
1895
- # source://spoom//lib/spoom/deadcode/location.rb#11
1896
- class Spoom::Deadcode::Location::LocationError < ::Spoom::Error; end
1897
-
1898
- # source://spoom//lib/spoom/deadcode/plugins.rb#36
1899
- Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash)
1900
-
1901
- # source://spoom//lib/spoom/deadcode.rb#27
1902
- class Spoom::Deadcode::ParserError < ::Spoom::Deadcode::Error; end
1903
-
1904
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#8
1905
- module Spoom::Deadcode::Plugins; end
1906
-
1907
- # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7
1908
- class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base
1909
- # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#11
1910
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1911
- def on_send(indexer, send); end
1912
- end
1913
-
1914
- # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#7
1915
- class Spoom::Deadcode::Plugins::ActionMailerPreview < ::Spoom::Deadcode::Plugins::Base
1916
- # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#13
1917
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1918
- def on_define_method(indexer, definition); end
1919
- end
1920
-
1921
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7
1922
- class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base
1923
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#31
1924
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1925
- def on_define_method(indexer, definition); end
1926
-
1927
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#36
1928
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1929
- def on_send(indexer, send); end
1930
- end
1931
-
1932
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#10
1933
- Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array)
1934
-
1935
- # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7
1936
- class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; end
1937
-
1938
- # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#7
1939
- class Spoom::Deadcode::Plugins::ActiveModel < ::Spoom::Deadcode::Plugins::Base
1940
- # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#14
1941
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1942
- def on_send(indexer, send); end
1943
- end
1944
-
1945
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7
1946
- class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base
1947
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#74
1948
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1949
- def on_send(indexer, send); end
1950
- end
1951
-
1952
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64
1953
- Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
1954
-
1955
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#20
1956
- Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
1957
-
1958
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#49
1959
- Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array)
1960
-
1961
- # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#7
1962
- class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base
1963
- # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#22
1964
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1965
- def on_send(indexer, send); end
1966
- end
1967
-
1968
- # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#19
1969
- Spoom::Deadcode::Plugins::ActiveSupport::SETUP_AND_TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
1970
-
1971
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1972
- #
1973
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#9
1974
- class Spoom::Deadcode::Plugins::Base
1975
- abstract!
1976
-
1977
- # Do not override this method, use `on_define_accessor` instead.
1978
- #
1979
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#150
1980
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1981
- def internal_on_define_accessor(indexer, definition); end
1982
-
1983
- # Do not override this method, use `on_define_class` instead.
1984
- #
1985
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#174
1986
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1987
- def internal_on_define_class(indexer, definition); end
1988
-
1989
- # Do not override this method, use `on_define_constant` instead.
1990
- #
1991
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#204
1992
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1993
- def internal_on_define_constant(indexer, definition); end
1994
-
1995
- # Do not override this method, use `on_define_method` instead.
1996
- #
1997
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#232
1998
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1999
- def internal_on_define_method(indexer, definition); end
2000
-
2001
- # Do not override this method, use `on_define_module` instead.
2002
- #
2003
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#258
2004
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2005
- def internal_on_define_module(indexer, definition); end
2006
-
2007
- # Do not override this method, use `on_send` instead.
2008
- #
2009
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#284
2010
- sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
2011
- def internal_on_send(indexer, send); end
2012
-
2013
- # Called when an accessor is defined.
2014
- #
2015
- # Will be called when the indexer processes a `attr_reader`, `attr_writer` or `attr_accessor` node.
2016
- # Note that when this method is called, the definition for the node has already been added to the index.
2017
- # It is still possible to ignore it from the plugin:
2018
- #
2019
- # ~~~rb
2020
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2021
- # def on_define_accessor(indexer, definition)
2022
- # definition.ignored! if definition.name == "foo"
2023
- # end
2024
- # end
2025
- # ~~~
2026
- #
2027
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#144
2028
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2029
- def on_define_accessor(indexer, definition); end
2030
-
2031
- # Called when a class is defined.
2032
- #
2033
- # Will be called when the indexer processes a `class` node.
2034
- # Note that when this method is called, the definition for the node has already been added to the index.
2035
- # It is still possible to ignore it from the plugin:
2036
- #
2037
- # ~~~rb
2038
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2039
- # def on_define_class(indexer, definition)
2040
- # definition.ignored! if definition.name == "Foo"
2041
- # end
2042
- # end
2043
- # ~~~
2044
- #
2045
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#168
2046
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2047
- def on_define_class(indexer, definition); end
2048
-
2049
- # Called when a constant is defined.
2050
- #
2051
- # Will be called when the indexer processes a `CONST =` node.
2052
- # Note that when this method is called, the definition for the node has already been added to the index.
2053
- # It is still possible to ignore it from the plugin:
2054
- #
2055
- # ~~~rb
2056
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2057
- # def on_define_constant(indexer, definition)
2058
- # definition.ignored! if definition.name == "FOO"
2059
- # end
2060
- # end
2061
- # ~~~
2062
- #
2063
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#198
2064
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2065
- def on_define_constant(indexer, definition); end
2066
-
2067
- # Called when a method is defined.
2068
- #
2069
- # Will be called when the indexer processes a `def` or `defs` node.
2070
- # Note that when this method is called, the definition for the node has already been added to the index.
2071
- # It is still possible to ignore it from the plugin:
2072
- #
2073
- # ~~~rb
2074
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2075
- # def on_define_method(indexer, definition)
2076
- # super # So the `ignore_method_names` DSL is still applied
2077
- #
2078
- # definition.ignored! if definition.name == "foo"
2079
- # end
2080
- # end
2081
- # ~~~
2082
- #
2083
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#226
2084
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2085
- def on_define_method(indexer, definition); end
2086
-
2087
- # Called when a module is defined.
2088
- #
2089
- # Will be called when the indexer processes a `module` node.
2090
- # Note that when this method is called, the definition for the node has already been added to the index.
2091
- # It is still possible to ignore it from the plugin:
2092
- #
2093
- # ~~~rb
2094
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2095
- # def on_define_module(indexer, definition)
2096
- # definition.ignored! if definition.name == "Foo"
2097
- # end
2098
- # end
2099
- # ~~~
2100
- #
2101
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#252
2102
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2103
- def on_define_module(indexer, definition); end
2104
-
2105
- # Called when a send is being processed
2106
- #
2107
- # ~~~rb
2108
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2109
- # def on_send(indexer, send)
2110
- # return unless send.name == "dsl_method"
2111
- # return if send.args.empty?
2112
- #
2113
- # method_name = send.args.first.slice.delete_prefix(":")
2114
- # indexer.reference_method(method_name, send.node)
2115
- # end
2116
- # end
2117
- # ~~~
2118
- #
2119
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#278
2120
- sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
2121
- def on_send(indexer, send); end
2122
-
2123
- private
2124
-
2125
- # Plugin utils
2126
- #
2127
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#339
2128
- sig { params(name: ::String).returns(::String) }
2129
- def camelize(name); end
2130
-
2131
- # DSL support
2132
- #
2133
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#293
2134
- sig { params(name: T.nilable(::String)).returns(T::Boolean) }
2135
- def ignored_class_name?(name); end
2136
-
2137
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#307
2138
- sig { params(name: ::String).returns(T::Boolean) }
2139
- def ignored_constant_name?(name); end
2140
-
2141
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#312
2142
- sig { params(name: ::String).returns(T::Boolean) }
2143
- def ignored_method_name?(name); end
2144
-
2145
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#317
2146
- sig { params(name: ::String).returns(T::Boolean) }
2147
- def ignored_module_name?(name); end
2148
-
2149
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#322
2150
- sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) }
2151
- def ignored_name?(name, names_variable, patterns_variable); end
2152
-
2153
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#300
2154
- sig { params(superclass_name: T.nilable(::String)).returns(T::Boolean) }
2155
- def ignored_subclass?(superclass_name); end
2156
-
2157
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#327
2158
- sig { params(const: ::Symbol).returns(T::Set[::String]) }
2159
- def names(const); end
2160
-
2161
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#332
2162
- sig { params(const: ::Symbol).returns(T::Array[::Regexp]) }
2163
- def patterns(const); end
2164
-
2165
- class << self
2166
- # Mark classes directly subclassing a class matching `names` as ignored.
2167
- #
2168
- # Names can be either strings or regexps:
2169
- #
2170
- # ~~~rb
2171
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2172
- # ignore_classes_inheriting_from(
2173
- # "Foo",
2174
- # "Bar",
2175
- # /Baz.*/,
2176
- # )
2177
- # end
2178
- # ~~~
2179
- #
2180
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#52
2181
- sig { params(names: T.any(::Regexp, ::String)).void }
2182
- def ignore_classes_inheriting_from(*names); end
2183
-
2184
- # Mark classes matching `names` as ignored.
2185
- #
2186
- # Names can be either strings or regexps:
2187
- #
2188
- # ~~~rb
2189
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2190
- # ignore_class_names(
2191
- # "Foo",
2192
- # "Bar",
2193
- # /Baz.*/,
2194
- # )
2195
- # end
2196
- # ~~~
2197
- #
2198
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#34
2199
- sig { params(names: T.any(::Regexp, ::String)).void }
2200
- def ignore_classes_named(*names); end
2201
-
2202
- # Mark constants matching `names` as ignored.
2203
- #
2204
- # Names can be either strings or regexps:
2205
- #
2206
- # ~~~rb
2207
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2208
- # ignore_class_names(
2209
- # "FOO",
2210
- # "BAR",
2211
- # /BAZ.*/,
2212
- # )
2213
- # end
2214
- # ~~~
2215
- #
2216
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#70
2217
- sig { params(names: T.any(::Regexp, ::String)).void }
2218
- def ignore_constants_named(*names); end
2219
-
2220
- # Mark methods matching `names` as ignored.
2221
- #
2222
- # Names can be either strings or regexps:
2223
- #
2224
- # ~~~rb
2225
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2226
- # ignore_method_names(
2227
- # "foo",
2228
- # "bar",
2229
- # /baz.*/,
2230
- # )
2231
- # end
2232
- # ~~~
2233
- #
2234
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#88
2235
- sig { params(names: T.any(::Regexp, ::String)).void }
2236
- def ignore_methods_named(*names); end
2237
-
2238
- # Mark modules matching `names` as ignored.
2239
- #
2240
- # Names can be either strings or regexps:
2241
- #
2242
- # ~~~rb
2243
- # class MyPlugin < Spoom::Deadcode::Plugins::Base
2244
- # ignore_class_names(
2245
- # "Foo",
2246
- # "Bar",
2247
- # /Baz.*/,
2248
- # )
2249
- # end
2250
- # ~~~
2251
- #
2252
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#106
2253
- sig { params(names: T.any(::Regexp, ::String)).void }
2254
- def ignore_modules_named(*names); end
2255
-
2256
- private
2257
-
2258
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#113
2259
- sig do
2260
- params(
2261
- names: T::Array[T.any(::Regexp, ::String)],
2262
- names_variable: ::Symbol,
2263
- patterns_variable: ::Symbol
2264
- ).void
2265
- end
2266
- def save_names_and_patterns(names, names_variable, patterns_variable); end
2267
- end
2268
- end
2269
-
2270
- # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#7
2271
- class Spoom::Deadcode::Plugins::GraphQL < ::Spoom::Deadcode::Plugins::Base
2272
- # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#28
2273
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
2274
- def on_send(indexer, send); end
2275
- end
2276
-
2277
- # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#7
2278
- class Spoom::Deadcode::Plugins::Minitest < ::Spoom::Deadcode::Plugins::Base
2279
- # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#22
2280
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2281
- def on_define_method(indexer, definition); end
2282
- end
2283
-
2284
- # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7
2285
- class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base
2286
- # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#11
2287
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2288
- def on_define_class(indexer, definition); end
2289
-
2290
- # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#16
2291
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2292
- def on_define_module(indexer, definition); end
2293
-
2294
- private
2295
-
2296
- # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#23
2297
- sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
2298
- def used_as_namespace?(indexer); end
2299
- end
2300
-
2301
- # source://spoom//lib/spoom/deadcode/plugins/rspec.rb#7
2302
- class Spoom::Deadcode::Plugins::RSpec < ::Spoom::Deadcode::Plugins::Base; end
2303
-
2304
- # source://spoom//lib/spoom/deadcode/plugins/rails.rb#7
2305
- class Spoom::Deadcode::Plugins::Rails < ::Spoom::Deadcode::Plugins::Base
2306
- # source://spoom//lib/spoom/deadcode/plugins/rails.rb#13
2307
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2308
- def on_define_class(indexer, definition); end
2309
-
2310
- # source://spoom//lib/spoom/deadcode/plugins/rails.rb#18
2311
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2312
- def on_define_module(indexer, definition); end
2313
-
2314
- private
2315
-
2316
- # source://spoom//lib/spoom/deadcode/plugins/rails.rb#25
2317
- sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
2318
- def file_is_helper?(indexer); end
2319
- end
2320
-
2321
- # source://spoom//lib/spoom/deadcode/plugins/rake.rb#7
2322
- class Spoom::Deadcode::Plugins::Rake < ::Spoom::Deadcode::Plugins::Base; end
2323
-
2324
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#7
2325
- class Spoom::Deadcode::Plugins::Rubocop < ::Spoom::Deadcode::Plugins::Base
2326
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#18
2327
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2328
- def on_define_constant(indexer, definition); end
2329
-
2330
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#23
2331
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2332
- def on_define_method(indexer, definition); end
2333
-
2334
- private
2335
-
2336
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#30
2337
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2338
- def rubocop_constant?(indexer, definition); end
2339
-
2340
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#35
2341
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2342
- def rubocop_method?(indexer, definition); end
2343
- end
2344
-
2345
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#10
2346
- Spoom::Deadcode::Plugins::Rubocop::RUBOCOP_CONSTANTS = T.let(T.unsafe(nil), Set)
2347
-
2348
- # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#7
2349
- class Spoom::Deadcode::Plugins::Ruby < ::Spoom::Deadcode::Plugins::Base
2350
- # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#24
2351
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
2352
- def on_send(indexer, send); end
2353
-
2354
- private
2355
-
2356
- # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#43
2357
- sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send, node: ::Prism::Node).void }
2358
- def reference_symbol_as_constant(indexer, send, node); end
2359
- end
2360
-
2361
- # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#7
2362
- class Spoom::Deadcode::Plugins::Sorbet < ::Spoom::Deadcode::Plugins::Base
2363
- # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#11
2364
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2365
- def on_define_constant(indexer, definition); end
2366
-
2367
- # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#16
2368
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2369
- def on_define_method(indexer, definition); end
2370
-
2371
- private
2372
-
2373
- # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#34
2374
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2375
- def sorbet_enum_constant?(indexer, definition); end
2376
-
2377
- # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#23
2378
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2379
- def sorbet_type_member?(indexer, definition); end
2380
- end
2381
-
2382
- # source://spoom//lib/spoom/deadcode/plugins/thor.rb#7
2383
- class Spoom::Deadcode::Plugins::Thor < ::Spoom::Deadcode::Plugins::Base
2384
- # source://spoom//lib/spoom/deadcode/plugins/thor.rb#13
2385
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2386
- def on_define_method(indexer, definition); end
2387
- end
2388
-
2389
- # A reference is a call to a method or a constant
2390
- #
2391
- # source://spoom//lib/spoom/deadcode/reference.rb#7
2392
- class Spoom::Deadcode::Reference < ::T::Struct
2393
- const :kind, ::Spoom::Deadcode::Reference::Kind
2394
- const :name, ::String
2395
- const :location, ::Spoom::Deadcode::Location
2396
-
2397
- # Kind
2398
- #
2399
- # source://spoom//lib/spoom/deadcode/reference.rb#24
2400
- sig { returns(T::Boolean) }
2401
- def constant?; end
2402
-
2403
- # source://spoom//lib/spoom/deadcode/reference.rb#29
2404
- sig { returns(T::Boolean) }
2405
- def method?; end
2406
-
2407
- class << self
2408
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
2409
- def inherited(s); end
2410
- end
2411
- end
2412
-
2413
- # source://spoom//lib/spoom/deadcode/reference.rb#10
2414
- class Spoom::Deadcode::Reference::Kind < ::T::Enum
2415
- enums do
2416
- Constant = new
2417
- Method = new
2418
- end
2419
- end
2420
-
2421
- # source://spoom//lib/spoom/deadcode/remover.rb#6
2422
- class Spoom::Deadcode::Remover
2423
- # source://spoom//lib/spoom/deadcode/remover.rb#12
2424
- sig { params(context: ::Spoom::Context).void }
2425
- def initialize(context); end
2426
-
2427
- # source://spoom//lib/spoom/deadcode/remover.rb#17
2428
- sig do
2429
- params(
2430
- kind: T.nilable(::Spoom::Deadcode::Definition::Kind),
2431
- location: ::Spoom::Deadcode::Location
2432
- ).returns(::String)
2433
- end
2434
- def remove_location(kind, location); end
2435
- end
2436
-
2437
- # source://spoom//lib/spoom/deadcode/remover.rb#9
2438
- class Spoom::Deadcode::Remover::Error < ::Spoom::Error; end
2439
-
2440
- # source://spoom//lib/spoom/deadcode/remover.rb#372
2441
- class Spoom::Deadcode::Remover::NodeContext
2442
- # source://spoom//lib/spoom/deadcode/remover.rb#392
2443
- sig do
2444
- params(
2445
- source: ::String,
2446
- comments: T::Hash[::Integer, ::Prism::Comment],
2447
- node: ::Prism::Node,
2448
- nesting: T::Array[::Prism::Node]
2449
- ).void
2450
- end
2451
- def initialize(source, comments, node, nesting); end
2452
-
2453
- # source://spoom//lib/spoom/deadcode/remover.rb#506
2454
- sig { params(node: ::Prism::Node).returns(T::Array[::Prism::Comment]) }
2455
- def attached_comments(node); end
2456
-
2457
- # source://spoom//lib/spoom/deadcode/remover.rb#534
2458
- sig { returns(T.nilable(::Prism::CallNode)) }
2459
- def attached_sig; end
2460
-
2461
- # source://spoom//lib/spoom/deadcode/remover.rb#521
2462
- sig { returns(T::Array[::Prism::Node]) }
2463
- def attached_sigs; end
2464
-
2465
- # source://spoom//lib/spoom/deadcode/remover.rb#376
2466
- sig { returns(T::Hash[::Integer, ::Prism::Comment]) }
2467
- def comments; end
2468
-
2469
- # source://spoom//lib/spoom/deadcode/remover.rb#494
2470
- sig { params(start_line: ::Integer, end_line: ::Integer).returns(T::Array[::Prism::Comment]) }
2471
- def comments_between_lines(start_line, end_line); end
2472
-
2473
- # source://spoom//lib/spoom/deadcode/remover.rb#382
2474
- sig { returns(T::Array[::Prism::Node]) }
2475
- def nesting; end
2476
-
2477
- # @return [Array<Prism::Node>]
2478
- #
2479
- # source://spoom//lib/spoom/deadcode/remover.rb#382
2480
- def nesting=(_arg0); end
2481
-
2482
- # source://spoom//lib/spoom/deadcode/remover.rb#444
2483
- sig { returns(T.nilable(::Prism::Node)) }
2484
- def next_node; end
2485
-
2486
- # source://spoom//lib/spoom/deadcode/remover.rb#433
2487
- sig { returns(T::Array[::Prism::Node]) }
2488
- def next_nodes; end
2489
-
2490
- # source://spoom//lib/spoom/deadcode/remover.rb#379
2491
- sig { returns(::Prism::Node) }
2492
- def node; end
2493
-
2494
- # source://spoom//lib/spoom/deadcode/remover.rb#408
2495
- sig { returns(::Spoom::Deadcode::Remover::NodeContext) }
2496
- def parent_context; end
2497
-
2498
- # source://spoom//lib/spoom/deadcode/remover.rb#400
2499
- sig { returns(::Prism::Node) }
2500
- def parent_node; end
2501
-
2502
- # source://spoom//lib/spoom/deadcode/remover.rb#428
2503
- sig { returns(T.nilable(::Prism::Node)) }
2504
- def previous_node; end
2505
-
2506
- # source://spoom//lib/spoom/deadcode/remover.rb#417
2507
- sig { returns(T::Array[::Prism::Node]) }
2508
- def previous_nodes; end
2509
-
2510
- # source://spoom//lib/spoom/deadcode/remover.rb#449
2511
- sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) }
2512
- def sclass_context; end
2513
-
2514
- # source://spoom//lib/spoom/deadcode/remover.rb#482
2515
- sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
2516
- def sorbet_extend_sig?(node); end
2517
-
2518
- # source://spoom//lib/spoom/deadcode/remover.rb#477
2519
- sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
2520
- def sorbet_signature?(node); end
2521
- end
2522
-
2523
- # source://spoom//lib/spoom/deadcode/remover.rb#549
2524
- class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Deadcode::Visitor
2525
- # source://spoom//lib/spoom/deadcode/remover.rb#621
2526
- sig { params(location: ::Spoom::Deadcode::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind)).void }
2527
- def initialize(location, kind); end
2528
-
2529
- # source://spoom//lib/spoom/deadcode/remover.rb#615
2530
- sig { returns(T.nilable(::Prism::Node)) }
2531
- def node; end
2532
-
2533
- # source://spoom//lib/spoom/deadcode/remover.rb#618
2534
- sig { returns(T::Array[::Prism::Node]) }
2535
- def nodes_nesting; end
2536
-
2537
- # source://spoom//lib/spoom/deadcode/remover.rb#630
2538
- sig { override.params(node: T.nilable(::Prism::Node)).void }
2539
- def visit(node); end
2540
-
2541
- class << self
2542
- # source://spoom//lib/spoom/deadcode/remover.rb#556
2543
- sig do
2544
- params(
2545
- source: ::String,
2546
- location: ::Spoom::Deadcode::Location,
2547
- kind: T.nilable(::Spoom::Deadcode::Definition::Kind)
2548
- ).returns(::Spoom::Deadcode::Remover::NodeContext)
2549
- end
2550
- def find(source, location, kind); end
2551
-
2552
- # source://spoom//lib/spoom/deadcode/remover.rb#590
2553
- sig { params(node: ::Prism::Node, kind: ::Spoom::Deadcode::Definition::Kind).returns(T::Boolean) }
2554
- def node_match_kind?(node, kind); end
2555
- end
2556
- end
2557
-
2558
- # source://spoom//lib/spoom/deadcode/remover.rb#29
2559
- class Spoom::Deadcode::Remover::NodeRemover
2560
- # source://spoom//lib/spoom/deadcode/remover.rb#36
2561
- sig do
2562
- params(
2563
- source: ::String,
2564
- kind: T.nilable(::Spoom::Deadcode::Definition::Kind),
2565
- location: ::Spoom::Deadcode::Location
2566
- ).void
2567
- end
2568
- def initialize(source, kind, location); end
2569
-
2570
- # source://spoom//lib/spoom/deadcode/remover.rb#46
2571
- sig { void }
2572
- def apply_edit; end
2573
-
2574
- # source://spoom//lib/spoom/deadcode/remover.rb#33
2575
- sig { returns(::String) }
2576
- def new_source; end
2577
-
2578
- private
2579
-
2580
- # source://spoom//lib/spoom/deadcode/remover.rb#153
2581
- sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
2582
- def delete_attr_accessor(context); end
2583
-
2584
- # source://spoom//lib/spoom/deadcode/remover.rb#331
2585
- sig { params(start_char: ::Integer, end_char: ::Integer).void }
2586
- def delete_chars(start_char, end_char); end
2587
-
2588
- # source://spoom//lib/spoom/deadcode/remover.rb#73
2589
- sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
2590
- def delete_constant_assignment(context); end
2591
-
2592
- # source://spoom//lib/spoom/deadcode/remover.rb#324
2593
- sig { params(start_line: ::Integer, end_line: ::Integer).void }
2594
- def delete_lines(start_line, end_line); end
2595
-
2596
- # source://spoom//lib/spoom/deadcode/remover.rb#261
2597
- sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
2598
- def delete_node_and_comments_and_sigs(context); end
2599
-
2600
- # source://spoom//lib/spoom/deadcode/remover.rb#218
2601
- sig do
2602
- params(
2603
- node: ::Prism::Node,
2604
- send_context: ::Spoom::Deadcode::Remover::NodeContext,
2605
- was_removed: T::Boolean
2606
- ).void
2607
- end
2608
- def insert_accessor(node, send_context, was_removed:); end
2609
-
2610
- # source://spoom//lib/spoom/deadcode/remover.rb#336
2611
- sig { params(start_char: ::Integer, end_char: ::Integer, replacement: ::String).void }
2612
- def replace_chars(start_char, end_char, replacement); end
2613
-
2614
- # source://spoom//lib/spoom/deadcode/remover.rb#341
2615
- sig do
2616
- params(
2617
- node: ::Prism::CallNode,
2618
- name: ::String,
2619
- kind: T.nilable(::Spoom::Deadcode::Definition::Kind)
2620
- ).returns(::String)
2621
- end
2622
- def transform_sig(node, name:, kind:); end
2623
- end
2624
-
2625
- # An abstraction to simplify handling of Prism::CallNode nodes.
2626
- #
2627
- # source://spoom//lib/spoom/deadcode/send.rb#7
2628
- class Spoom::Deadcode::Send < ::T::Struct
2629
- const :node, ::Prism::CallNode
2630
- const :name, ::String
2631
- const :recv, T.nilable(::Prism::Node), default: T.unsafe(nil)
2632
- const :args, T::Array[::Prism::Node], default: T.unsafe(nil)
2633
- const :block, T.nilable(::Prism::Node), default: T.unsafe(nil)
2634
-
2635
- # source://spoom//lib/spoom/deadcode/send.rb#21
2636
- sig do
2637
- type_parameters(:T)
2638
- .params(
2639
- arg_type: T::Class[T.type_parameter(:T)],
2640
- block: T.proc.params(arg: T.type_parameter(:T)).void
2641
- ).void
2642
- end
2643
- def each_arg(arg_type, &block); end
2644
-
2645
- # source://spoom//lib/spoom/deadcode/send.rb#28
2646
- sig { params(block: T.proc.params(key: ::Prism::Node, value: T.nilable(::Prism::Node)).void).void }
2647
- def each_arg_assoc(&block); end
2648
-
2649
- class << self
2650
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
2651
- def inherited(s); end
2652
- end
2653
- end
2654
-
2655
- # source://spoom//lib/spoom/deadcode/visitor.rb#6
2656
- class Spoom::Deadcode::Visitor < ::Prism::Visitor
2657
- # source://spoom//lib/spoom/deadcode/visitor.rb#15
2658
- sig { override.params(node: ::Prism::AliasGlobalVariableNode).void }
2659
- def visit_alias_global_variable_node(node); end
2660
-
2661
- # source://spoom//lib/spoom/deadcode/visitor.rb#20
2662
- sig { override.params(node: ::Prism::AliasMethodNode).void }
2663
- def visit_alias_method_node(node); end
2664
-
2665
- # source://spoom//lib/spoom/deadcode/visitor.rb#25
2666
- sig { override.params(node: ::Prism::AlternationPatternNode).void }
2667
- def visit_alternation_pattern_node(node); end
2668
-
2669
- # source://spoom//lib/spoom/deadcode/visitor.rb#30
2670
- sig { override.params(node: ::Prism::AndNode).void }
2671
- def visit_and_node(node); end
2672
-
2673
- # source://spoom//lib/spoom/deadcode/visitor.rb#35
2674
- sig { override.params(node: ::Prism::ArgumentsNode).void }
2675
- def visit_arguments_node(node); end
2676
-
2677
- # source://spoom//lib/spoom/deadcode/visitor.rb#40
2678
- sig { override.params(node: ::Prism::ArrayNode).void }
2679
- def visit_array_node(node); end
2680
-
2681
- # source://spoom//lib/spoom/deadcode/visitor.rb#45
2682
- sig { override.params(node: ::Prism::ArrayPatternNode).void }
2683
- def visit_array_pattern_node(node); end
2684
-
2685
- # source://spoom//lib/spoom/deadcode/visitor.rb#50
2686
- sig { override.params(node: ::Prism::AssocNode).void }
2687
- def visit_assoc_node(node); end
2688
-
2689
- # source://spoom//lib/spoom/deadcode/visitor.rb#55
2690
- sig { override.params(node: ::Prism::AssocSplatNode).void }
2691
- def visit_assoc_splat_node(node); end
2692
-
2693
- # source://spoom//lib/spoom/deadcode/visitor.rb#60
2694
- sig { override.params(node: ::Prism::BackReferenceReadNode).void }
2695
- def visit_back_reference_read_node(node); end
2696
-
2697
- # source://spoom//lib/spoom/deadcode/visitor.rb#65
2698
- sig { override.params(node: ::Prism::BeginNode).void }
2699
- def visit_begin_node(node); end
2700
-
2701
- # source://spoom//lib/spoom/deadcode/visitor.rb#70
2702
- sig { override.params(node: ::Prism::BlockArgumentNode).void }
2703
- def visit_block_argument_node(node); end
2704
-
2705
- # source://spoom//lib/spoom/deadcode/visitor.rb#75
2706
- sig { override.params(node: ::Prism::BlockLocalVariableNode).void }
2707
- def visit_block_local_variable_node(node); end
2708
-
2709
- # source://spoom//lib/spoom/deadcode/visitor.rb#80
2710
- sig { override.params(node: ::Prism::BlockNode).void }
2711
- def visit_block_node(node); end
2712
-
2713
- # source://spoom//lib/spoom/deadcode/visitor.rb#85
2714
- sig { override.params(node: ::Prism::BlockParameterNode).void }
2715
- def visit_block_parameter_node(node); end
2716
-
2717
- # source://spoom//lib/spoom/deadcode/visitor.rb#90
2718
- sig { override.params(node: ::Prism::BlockParametersNode).void }
2719
- def visit_block_parameters_node(node); end
2720
-
2721
- # source://spoom//lib/spoom/deadcode/visitor.rb#95
2722
- sig { override.params(node: ::Prism::BreakNode).void }
2723
- def visit_break_node(node); end
2724
-
2725
- # source://spoom//lib/spoom/deadcode/visitor.rb#100
2726
- sig { override.params(node: ::Prism::CallAndWriteNode).void }
2727
- def visit_call_and_write_node(node); end
2728
-
2729
- # source://spoom//lib/spoom/deadcode/visitor.rb#105
2730
- sig { override.params(node: ::Prism::CallNode).void }
2731
- def visit_call_node(node); end
2732
-
2733
- # source://spoom//lib/spoom/deadcode/visitor.rb#110
2734
- sig { override.params(node: ::Prism::CallOperatorWriteNode).void }
2735
- def visit_call_operator_write_node(node); end
2736
-
2737
- # source://spoom//lib/spoom/deadcode/visitor.rb#115
2738
- sig { override.params(node: ::Prism::CallOrWriteNode).void }
2739
- def visit_call_or_write_node(node); end
2740
-
2741
- # source://spoom//lib/spoom/deadcode/visitor.rb#120
2742
- sig { override.params(node: ::Prism::CallTargetNode).void }
2743
- def visit_call_target_node(node); end
2744
-
2745
- # source://spoom//lib/spoom/deadcode/visitor.rb#125
2746
- sig { override.params(node: ::Prism::CapturePatternNode).void }
2747
- def visit_capture_pattern_node(node); end
2748
-
2749
- # source://spoom//lib/spoom/deadcode/visitor.rb#130
2750
- sig { override.params(node: ::Prism::CaseMatchNode).void }
2751
- def visit_case_match_node(node); end
2752
-
2753
- # source://spoom//lib/spoom/deadcode/visitor.rb#135
2754
- sig { override.params(node: ::Prism::CaseNode).void }
2755
- def visit_case_node(node); end
2756
-
2757
- # source://spoom//lib/spoom/deadcode/visitor.rb#10
2758
- sig { override.params(node: ::Prism::Node).void }
2759
- def visit_child_nodes(node); end
2760
-
2761
- # source://spoom//lib/spoom/deadcode/visitor.rb#140
2762
- sig { override.params(node: ::Prism::ClassNode).void }
2763
- def visit_class_node(node); end
2764
-
2765
- # source://spoom//lib/spoom/deadcode/visitor.rb#145
2766
- sig { override.params(node: ::Prism::ClassVariableAndWriteNode).void }
2767
- def visit_class_variable_and_write_node(node); end
2768
-
2769
- # source://spoom//lib/spoom/deadcode/visitor.rb#150
2770
- sig { override.params(node: ::Prism::ClassVariableOperatorWriteNode).void }
2771
- def visit_class_variable_operator_write_node(node); end
2772
-
2773
- # source://spoom//lib/spoom/deadcode/visitor.rb#155
2774
- sig { override.params(node: ::Prism::ClassVariableOrWriteNode).void }
2775
- def visit_class_variable_or_write_node(node); end
2776
-
2777
- # source://spoom//lib/spoom/deadcode/visitor.rb#160
2778
- sig { override.params(node: ::Prism::ClassVariableReadNode).void }
2779
- def visit_class_variable_read_node(node); end
2780
-
2781
- # source://spoom//lib/spoom/deadcode/visitor.rb#165
2782
- sig { override.params(node: ::Prism::ClassVariableTargetNode).void }
2783
- def visit_class_variable_target_node(node); end
2784
-
2785
- # source://spoom//lib/spoom/deadcode/visitor.rb#170
2786
- sig { override.params(node: ::Prism::ClassVariableWriteNode).void }
2787
- def visit_class_variable_write_node(node); end
2788
-
2789
- # source://spoom//lib/spoom/deadcode/visitor.rb#175
2790
- sig { override.params(node: ::Prism::ConstantAndWriteNode).void }
2791
- def visit_constant_and_write_node(node); end
2792
-
2793
- # source://spoom//lib/spoom/deadcode/visitor.rb#180
2794
- sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void }
2795
- def visit_constant_operator_write_node(node); end
2796
-
2797
- # source://spoom//lib/spoom/deadcode/visitor.rb#185
2798
- sig { override.params(node: ::Prism::ConstantOrWriteNode).void }
2799
- def visit_constant_or_write_node(node); end
2800
-
2801
- # source://spoom//lib/spoom/deadcode/visitor.rb#190
2802
- sig { override.params(node: ::Prism::ConstantPathAndWriteNode).void }
2803
- def visit_constant_path_and_write_node(node); end
2804
-
2805
- # source://spoom//lib/spoom/deadcode/visitor.rb#195
2806
- sig { override.params(node: ::Prism::ConstantPathNode).void }
2807
- def visit_constant_path_node(node); end
2808
-
2809
- # source://spoom//lib/spoom/deadcode/visitor.rb#200
2810
- sig { override.params(node: ::Prism::ConstantPathOperatorWriteNode).void }
2811
- def visit_constant_path_operator_write_node(node); end
2812
-
2813
- # source://spoom//lib/spoom/deadcode/visitor.rb#205
2814
- sig { override.params(node: ::Prism::ConstantPathOrWriteNode).void }
2815
- def visit_constant_path_or_write_node(node); end
2816
-
2817
- # source://spoom//lib/spoom/deadcode/visitor.rb#210
2818
- sig { override.params(node: ::Prism::ConstantPathTargetNode).void }
2819
- def visit_constant_path_target_node(node); end
2820
-
2821
- # source://spoom//lib/spoom/deadcode/visitor.rb#215
2822
- sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
2823
- def visit_constant_path_write_node(node); end
2824
-
2825
- # source://spoom//lib/spoom/deadcode/visitor.rb#220
2826
- sig { override.params(node: ::Prism::ConstantReadNode).void }
2827
- def visit_constant_read_node(node); end
2828
-
2829
- # source://spoom//lib/spoom/deadcode/visitor.rb#225
2830
- sig { override.params(node: ::Prism::ConstantTargetNode).void }
2831
- def visit_constant_target_node(node); end
2832
-
2833
- # source://spoom//lib/spoom/deadcode/visitor.rb#230
2834
- sig { override.params(node: ::Prism::ConstantWriteNode).void }
2835
- def visit_constant_write_node(node); end
2836
-
2837
- # source://spoom//lib/spoom/deadcode/visitor.rb#235
2838
- sig { override.params(node: ::Prism::DefNode).void }
2839
- def visit_def_node(node); end
2840
-
2841
- # source://spoom//lib/spoom/deadcode/visitor.rb#240
2842
- sig { override.params(node: ::Prism::DefinedNode).void }
2843
- def visit_defined_node(node); end
2844
-
2845
- # source://spoom//lib/spoom/deadcode/visitor.rb#245
2846
- sig { override.params(node: ::Prism::ElseNode).void }
2847
- def visit_else_node(node); end
2848
-
2849
- # source://spoom//lib/spoom/deadcode/visitor.rb#250
2850
- sig { override.params(node: ::Prism::EmbeddedStatementsNode).void }
2851
- def visit_embedded_statements_node(node); end
2852
-
2853
- # source://spoom//lib/spoom/deadcode/visitor.rb#255
2854
- sig { override.params(node: ::Prism::EmbeddedVariableNode).void }
2855
- def visit_embedded_variable_node(node); end
2856
-
2857
- # source://spoom//lib/spoom/deadcode/visitor.rb#260
2858
- sig { override.params(node: ::Prism::EnsureNode).void }
2859
- def visit_ensure_node(node); end
2860
-
2861
- # source://spoom//lib/spoom/deadcode/visitor.rb#265
2862
- sig { override.params(node: ::Prism::FalseNode).void }
2863
- def visit_false_node(node); end
2864
-
2865
- # source://spoom//lib/spoom/deadcode/visitor.rb#270
2866
- sig { override.params(node: ::Prism::FindPatternNode).void }
2867
- def visit_find_pattern_node(node); end
2868
-
2869
- # source://spoom//lib/spoom/deadcode/visitor.rb#275
2870
- sig { override.params(node: ::Prism::FlipFlopNode).void }
2871
- def visit_flip_flop_node(node); end
2872
-
2873
- # source://spoom//lib/spoom/deadcode/visitor.rb#280
2874
- sig { override.params(node: ::Prism::FloatNode).void }
2875
- def visit_float_node(node); end
2876
-
2877
- # source://spoom//lib/spoom/deadcode/visitor.rb#285
2878
- sig { override.params(node: ::Prism::ForNode).void }
2879
- def visit_for_node(node); end
2880
-
2881
- # source://spoom//lib/spoom/deadcode/visitor.rb#290
2882
- sig { override.params(node: ::Prism::ForwardingArgumentsNode).void }
2883
- def visit_forwarding_arguments_node(node); end
2884
-
2885
- # source://spoom//lib/spoom/deadcode/visitor.rb#295
2886
- sig { override.params(node: ::Prism::ForwardingParameterNode).void }
2887
- def visit_forwarding_parameter_node(node); end
2888
-
2889
- # source://spoom//lib/spoom/deadcode/visitor.rb#300
2890
- sig { override.params(node: ::Prism::ForwardingSuperNode).void }
2891
- def visit_forwarding_super_node(node); end
2892
-
2893
- # source://spoom//lib/spoom/deadcode/visitor.rb#305
2894
- sig { override.params(node: ::Prism::GlobalVariableAndWriteNode).void }
2895
- def visit_global_variable_and_write_node(node); end
2896
-
2897
- # source://spoom//lib/spoom/deadcode/visitor.rb#310
2898
- sig { override.params(node: ::Prism::GlobalVariableOperatorWriteNode).void }
2899
- def visit_global_variable_operator_write_node(node); end
2900
-
2901
- # source://spoom//lib/spoom/deadcode/visitor.rb#315
2902
- sig { override.params(node: ::Prism::GlobalVariableOrWriteNode).void }
2903
- def visit_global_variable_or_write_node(node); end
2904
-
2905
- # source://spoom//lib/spoom/deadcode/visitor.rb#320
2906
- sig { override.params(node: ::Prism::GlobalVariableReadNode).void }
2907
- def visit_global_variable_read_node(node); end
2908
-
2909
- # source://spoom//lib/spoom/deadcode/visitor.rb#325
2910
- sig { override.params(node: ::Prism::GlobalVariableTargetNode).void }
2911
- def visit_global_variable_target_node(node); end
2912
-
2913
- # source://spoom//lib/spoom/deadcode/visitor.rb#330
2914
- sig { override.params(node: ::Prism::GlobalVariableWriteNode).void }
2915
- def visit_global_variable_write_node(node); end
2916
-
2917
- # source://spoom//lib/spoom/deadcode/visitor.rb#335
2918
- sig { override.params(node: ::Prism::HashNode).void }
2919
- def visit_hash_node(node); end
2920
-
2921
- # source://spoom//lib/spoom/deadcode/visitor.rb#340
2922
- sig { override.params(node: ::Prism::HashPatternNode).void }
2923
- def visit_hash_pattern_node(node); end
2924
-
2925
- # source://spoom//lib/spoom/deadcode/visitor.rb#345
2926
- sig { override.params(node: ::Prism::IfNode).void }
2927
- def visit_if_node(node); end
2928
-
2929
- # source://spoom//lib/spoom/deadcode/visitor.rb#350
2930
- sig { override.params(node: ::Prism::ImaginaryNode).void }
2931
- def visit_imaginary_node(node); end
2932
-
2933
- # source://spoom//lib/spoom/deadcode/visitor.rb#355
2934
- sig { override.params(node: ::Prism::ImplicitNode).void }
2935
- def visit_implicit_node(node); end
2936
-
2937
- # source://spoom//lib/spoom/deadcode/visitor.rb#360
2938
- sig { override.params(node: ::Prism::ImplicitRestNode).void }
2939
- def visit_implicit_rest_node(node); end
2940
-
2941
- # source://spoom//lib/spoom/deadcode/visitor.rb#365
2942
- sig { override.params(node: ::Prism::InNode).void }
2943
- def visit_in_node(node); end
2944
-
2945
- # source://spoom//lib/spoom/deadcode/visitor.rb#370
2946
- sig { override.params(node: ::Prism::IndexAndWriteNode).void }
2947
- def visit_index_and_write_node(node); end
2948
-
2949
- # source://spoom//lib/spoom/deadcode/visitor.rb#375
2950
- sig { override.params(node: ::Prism::IndexOperatorWriteNode).void }
2951
- def visit_index_operator_write_node(node); end
2952
-
2953
- # source://spoom//lib/spoom/deadcode/visitor.rb#380
2954
- sig { override.params(node: ::Prism::IndexOrWriteNode).void }
2955
- def visit_index_or_write_node(node); end
2956
-
2957
- # source://spoom//lib/spoom/deadcode/visitor.rb#385
2958
- sig { override.params(node: ::Prism::IndexTargetNode).void }
2959
- def visit_index_target_node(node); end
2960
-
2961
- # source://spoom//lib/spoom/deadcode/visitor.rb#390
2962
- sig { override.params(node: ::Prism::InstanceVariableAndWriteNode).void }
2963
- def visit_instance_variable_and_write_node(node); end
2964
-
2965
- # source://spoom//lib/spoom/deadcode/visitor.rb#395
2966
- sig { override.params(node: ::Prism::InstanceVariableOperatorWriteNode).void }
2967
- def visit_instance_variable_operator_write_node(node); end
2968
-
2969
- # source://spoom//lib/spoom/deadcode/visitor.rb#400
2970
- sig { override.params(node: ::Prism::InstanceVariableOrWriteNode).void }
2971
- def visit_instance_variable_or_write_node(node); end
2972
-
2973
- # source://spoom//lib/spoom/deadcode/visitor.rb#405
2974
- sig { override.params(node: ::Prism::InstanceVariableReadNode).void }
2975
- def visit_instance_variable_read_node(node); end
2976
-
2977
- # source://spoom//lib/spoom/deadcode/visitor.rb#410
2978
- sig { override.params(node: ::Prism::InstanceVariableTargetNode).void }
2979
- def visit_instance_variable_target_node(node); end
2980
-
2981
- # source://spoom//lib/spoom/deadcode/visitor.rb#415
2982
- sig { override.params(node: ::Prism::InstanceVariableWriteNode).void }
2983
- def visit_instance_variable_write_node(node); end
2984
-
2985
- # source://spoom//lib/spoom/deadcode/visitor.rb#420
2986
- sig { override.params(node: ::Prism::IntegerNode).void }
2987
- def visit_integer_node(node); end
2988
-
2989
- # source://spoom//lib/spoom/deadcode/visitor.rb#425
2990
- sig { override.params(node: ::Prism::InterpolatedMatchLastLineNode).void }
2991
- def visit_interpolated_match_last_line_node(node); end
2992
-
2993
- # source://spoom//lib/spoom/deadcode/visitor.rb#430
2994
- sig { override.params(node: ::Prism::InterpolatedRegularExpressionNode).void }
2995
- def visit_interpolated_regular_expression_node(node); end
2996
-
2997
- # source://spoom//lib/spoom/deadcode/visitor.rb#435
2998
- sig { override.params(node: ::Prism::InterpolatedStringNode).void }
2999
- def visit_interpolated_string_node(node); end
3000
-
3001
- # source://spoom//lib/spoom/deadcode/visitor.rb#440
3002
- sig { override.params(node: ::Prism::InterpolatedSymbolNode).void }
3003
- def visit_interpolated_symbol_node(node); end
3004
-
3005
- # source://spoom//lib/spoom/deadcode/visitor.rb#445
3006
- sig { override.params(node: ::Prism::InterpolatedXStringNode).void }
3007
- def visit_interpolated_x_string_node(node); end
3008
-
3009
- # source://spoom//lib/spoom/deadcode/visitor.rb#450
3010
- sig { override.params(node: ::Prism::KeywordHashNode).void }
3011
- def visit_keyword_hash_node(node); end
3012
-
3013
- # source://spoom//lib/spoom/deadcode/visitor.rb#455
3014
- sig { override.params(node: ::Prism::KeywordRestParameterNode).void }
3015
- def visit_keyword_rest_parameter_node(node); end
3016
-
3017
- # source://spoom//lib/spoom/deadcode/visitor.rb#460
3018
- sig { override.params(node: ::Prism::LambdaNode).void }
3019
- def visit_lambda_node(node); end
3020
-
3021
- # source://spoom//lib/spoom/deadcode/visitor.rb#465
3022
- sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void }
3023
- def visit_local_variable_and_write_node(node); end
3024
-
3025
- # source://spoom//lib/spoom/deadcode/visitor.rb#470
3026
- sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void }
3027
- def visit_local_variable_operator_write_node(node); end
3028
-
3029
- # source://spoom//lib/spoom/deadcode/visitor.rb#475
3030
- sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void }
3031
- def visit_local_variable_or_write_node(node); end
3032
-
3033
- # source://spoom//lib/spoom/deadcode/visitor.rb#480
3034
- sig { override.params(node: ::Prism::LocalVariableReadNode).void }
3035
- def visit_local_variable_read_node(node); end
3036
-
3037
- # source://spoom//lib/spoom/deadcode/visitor.rb#485
3038
- sig { override.params(node: ::Prism::LocalVariableTargetNode).void }
3039
- def visit_local_variable_target_node(node); end
3040
-
3041
- # source://spoom//lib/spoom/deadcode/visitor.rb#490
3042
- sig { override.params(node: ::Prism::LocalVariableWriteNode).void }
3043
- def visit_local_variable_write_node(node); end
3044
-
3045
- # source://spoom//lib/spoom/deadcode/visitor.rb#495
3046
- sig { override.params(node: ::Prism::MatchLastLineNode).void }
3047
- def visit_match_last_line_node(node); end
3048
-
3049
- # source://spoom//lib/spoom/deadcode/visitor.rb#500
3050
- sig { override.params(node: ::Prism::MatchPredicateNode).void }
3051
- def visit_match_predicate_node(node); end
3052
-
3053
- # source://spoom//lib/spoom/deadcode/visitor.rb#505
3054
- sig { override.params(node: ::Prism::MatchRequiredNode).void }
3055
- def visit_match_required_node(node); end
3056
-
3057
- # source://spoom//lib/spoom/deadcode/visitor.rb#510
3058
- sig { override.params(node: ::Prism::MatchWriteNode).void }
3059
- def visit_match_write_node(node); end
3060
-
3061
- # source://spoom//lib/spoom/deadcode/visitor.rb#515
3062
- sig { override.params(node: ::Prism::MissingNode).void }
3063
- def visit_missing_node(node); end
3064
-
3065
- # source://spoom//lib/spoom/deadcode/visitor.rb#520
3066
- sig { override.params(node: ::Prism::ModuleNode).void }
3067
- def visit_module_node(node); end
3068
-
3069
- # source://spoom//lib/spoom/deadcode/visitor.rb#525
3070
- sig { override.params(node: ::Prism::MultiTargetNode).void }
3071
- def visit_multi_target_node(node); end
3072
-
3073
- # source://spoom//lib/spoom/deadcode/visitor.rb#530
3074
- sig { override.params(node: ::Prism::MultiWriteNode).void }
3075
- def visit_multi_write_node(node); end
3076
-
3077
- # source://spoom//lib/spoom/deadcode/visitor.rb#535
3078
- sig { override.params(node: ::Prism::NextNode).void }
3079
- def visit_next_node(node); end
3080
-
3081
- # source://spoom//lib/spoom/deadcode/visitor.rb#540
3082
- sig { override.params(node: ::Prism::NilNode).void }
3083
- def visit_nil_node(node); end
3084
-
3085
- # source://spoom//lib/spoom/deadcode/visitor.rb#545
3086
- sig { override.params(node: ::Prism::NoKeywordsParameterNode).void }
3087
- def visit_no_keywords_parameter_node(node); end
3088
-
3089
- # source://spoom//lib/spoom/deadcode/visitor.rb#550
3090
- sig { override.params(node: ::Prism::NumberedParametersNode).void }
3091
- def visit_numbered_parameters_node(node); end
3092
-
3093
- # source://spoom//lib/spoom/deadcode/visitor.rb#555
3094
- sig { override.params(node: ::Prism::NumberedReferenceReadNode).void }
3095
- def visit_numbered_reference_read_node(node); end
3096
-
3097
- # source://spoom//lib/spoom/deadcode/visitor.rb#560
3098
- sig { override.params(node: ::Prism::OptionalKeywordParameterNode).void }
3099
- def visit_optional_keyword_parameter_node(node); end
3100
-
3101
- # source://spoom//lib/spoom/deadcode/visitor.rb#565
3102
- sig { override.params(node: ::Prism::OptionalParameterNode).void }
3103
- def visit_optional_parameter_node(node); end
3104
-
3105
- # source://spoom//lib/spoom/deadcode/visitor.rb#570
3106
- sig { override.params(node: ::Prism::OrNode).void }
3107
- def visit_or_node(node); end
3108
-
3109
- # source://spoom//lib/spoom/deadcode/visitor.rb#575
3110
- sig { override.params(node: ::Prism::ParametersNode).void }
3111
- def visit_parameters_node(node); end
3112
-
3113
- # source://spoom//lib/spoom/deadcode/visitor.rb#580
3114
- sig { override.params(node: ::Prism::ParenthesesNode).void }
3115
- def visit_parentheses_node(node); end
3116
-
3117
- # source://spoom//lib/spoom/deadcode/visitor.rb#585
3118
- sig { override.params(node: ::Prism::PinnedExpressionNode).void }
3119
- def visit_pinned_expression_node(node); end
3120
-
3121
- # source://spoom//lib/spoom/deadcode/visitor.rb#590
3122
- sig { override.params(node: ::Prism::PinnedVariableNode).void }
3123
- def visit_pinned_variable_node(node); end
3124
-
3125
- # source://spoom//lib/spoom/deadcode/visitor.rb#595
3126
- sig { override.params(node: ::Prism::PostExecutionNode).void }
3127
- def visit_post_execution_node(node); end
3128
-
3129
- # source://spoom//lib/spoom/deadcode/visitor.rb#600
3130
- sig { override.params(node: ::Prism::PreExecutionNode).void }
3131
- def visit_pre_execution_node(node); end
3132
-
3133
- # source://spoom//lib/spoom/deadcode/visitor.rb#605
3134
- sig { override.params(node: ::Prism::ProgramNode).void }
3135
- def visit_program_node(node); end
3136
-
3137
- # source://spoom//lib/spoom/deadcode/visitor.rb#610
3138
- sig { override.params(node: ::Prism::RangeNode).void }
3139
- def visit_range_node(node); end
3140
-
3141
- # source://spoom//lib/spoom/deadcode/visitor.rb#615
3142
- sig { override.params(node: ::Prism::RationalNode).void }
3143
- def visit_rational_node(node); end
3144
-
3145
- # source://spoom//lib/spoom/deadcode/visitor.rb#620
3146
- sig { override.params(node: ::Prism::RedoNode).void }
3147
- def visit_redo_node(node); end
3148
-
3149
- # source://spoom//lib/spoom/deadcode/visitor.rb#625
3150
- sig { override.params(node: ::Prism::RegularExpressionNode).void }
3151
- def visit_regular_expression_node(node); end
3152
-
3153
- # source://spoom//lib/spoom/deadcode/visitor.rb#630
3154
- sig { override.params(node: ::Prism::RequiredKeywordParameterNode).void }
3155
- def visit_required_keyword_parameter_node(node); end
3156
-
3157
- # source://spoom//lib/spoom/deadcode/visitor.rb#635
3158
- sig { override.params(node: ::Prism::RequiredParameterNode).void }
3159
- def visit_required_parameter_node(node); end
3160
-
3161
- # source://spoom//lib/spoom/deadcode/visitor.rb#640
3162
- sig { override.params(node: ::Prism::RescueModifierNode).void }
3163
- def visit_rescue_modifier_node(node); end
3164
-
3165
- # source://spoom//lib/spoom/deadcode/visitor.rb#645
3166
- sig { override.params(node: ::Prism::RescueNode).void }
3167
- def visit_rescue_node(node); end
3168
-
3169
- # source://spoom//lib/spoom/deadcode/visitor.rb#650
3170
- sig { override.params(node: ::Prism::RestParameterNode).void }
3171
- def visit_rest_parameter_node(node); end
3172
-
3173
- # source://spoom//lib/spoom/deadcode/visitor.rb#655
3174
- sig { override.params(node: ::Prism::RetryNode).void }
3175
- def visit_retry_node(node); end
3176
-
3177
- # source://spoom//lib/spoom/deadcode/visitor.rb#660
3178
- sig { override.params(node: ::Prism::ReturnNode).void }
3179
- def visit_return_node(node); end
3180
-
3181
- # source://spoom//lib/spoom/deadcode/visitor.rb#665
3182
- sig { override.params(node: ::Prism::SelfNode).void }
3183
- def visit_self_node(node); end
3184
-
3185
- # source://spoom//lib/spoom/deadcode/visitor.rb#670
3186
- sig { override.params(node: ::Prism::SingletonClassNode).void }
3187
- def visit_singleton_class_node(node); end
3188
-
3189
- # source://spoom//lib/spoom/deadcode/visitor.rb#675
3190
- sig { override.params(node: ::Prism::SourceEncodingNode).void }
3191
- def visit_source_encoding_node(node); end
3192
-
3193
- # source://spoom//lib/spoom/deadcode/visitor.rb#680
3194
- sig { override.params(node: ::Prism::SourceFileNode).void }
3195
- def visit_source_file_node(node); end
3196
-
3197
- # source://spoom//lib/spoom/deadcode/visitor.rb#685
3198
- sig { override.params(node: ::Prism::SourceLineNode).void }
3199
- def visit_source_line_node(node); end
3200
-
3201
- # source://spoom//lib/spoom/deadcode/visitor.rb#690
3202
- sig { override.params(node: ::Prism::SplatNode).void }
3203
- def visit_splat_node(node); end
3204
-
3205
- # source://spoom//lib/spoom/deadcode/visitor.rb#695
3206
- sig { override.params(node: ::Prism::StatementsNode).void }
3207
- def visit_statements_node(node); end
3208
-
3209
- # source://spoom//lib/spoom/deadcode/visitor.rb#700
3210
- sig { override.params(node: ::Prism::StringNode).void }
3211
- def visit_string_node(node); end
3212
-
3213
- # source://spoom//lib/spoom/deadcode/visitor.rb#705
3214
- sig { override.params(node: ::Prism::SuperNode).void }
3215
- def visit_super_node(node); end
3216
-
3217
- # source://spoom//lib/spoom/deadcode/visitor.rb#710
3218
- sig { override.params(node: ::Prism::SymbolNode).void }
3219
- def visit_symbol_node(node); end
3220
-
3221
- # source://spoom//lib/spoom/deadcode/visitor.rb#715
3222
- sig { override.params(node: ::Prism::TrueNode).void }
3223
- def visit_true_node(node); end
3224
-
3225
- # source://spoom//lib/spoom/deadcode/visitor.rb#720
3226
- sig { override.params(node: ::Prism::UndefNode).void }
3227
- def visit_undef_node(node); end
3228
-
3229
- # source://spoom//lib/spoom/deadcode/visitor.rb#725
3230
- sig { override.params(node: ::Prism::UnlessNode).void }
3231
- def visit_unless_node(node); end
3232
-
3233
- # source://spoom//lib/spoom/deadcode/visitor.rb#730
3234
- sig { override.params(node: ::Prism::UntilNode).void }
3235
- def visit_until_node(node); end
3236
-
3237
- # source://spoom//lib/spoom/deadcode/visitor.rb#735
3238
- sig { override.params(node: ::Prism::WhenNode).void }
3239
- def visit_when_node(node); end
3240
-
3241
- # source://spoom//lib/spoom/deadcode/visitor.rb#740
3242
- sig { override.params(node: ::Prism::WhileNode).void }
3243
- def visit_while_node(node); end
3244
-
3245
- # source://spoom//lib/spoom/deadcode/visitor.rb#745
3246
- sig { override.params(node: ::Prism::XStringNode).void }
3247
- def visit_x_string_node(node); end
3248
-
3249
- # source://spoom//lib/spoom/deadcode/visitor.rb#750
3250
- sig { override.params(node: ::Prism::YieldNode).void }
3251
- def visit_yield_node(node); end
3252
- end
3253
-
3254
- # source://spoom//lib/spoom.rb#12
3255
- class Spoom::Error < ::StandardError; end
3256
-
3257
- # source://spoom//lib/spoom/context/exec.rb#5
3258
- class Spoom::ExecResult < ::T::Struct
3259
- const :out, ::String
3260
- const :err, T.nilable(::String)
3261
- const :status, T::Boolean
3262
- const :exit_code, ::Integer
3263
-
3264
- # source://spoom//lib/spoom/context/exec.rb#14
3265
- sig { returns(::String) }
3266
- def to_s; end
3267
-
3268
- class << self
3269
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3270
- def inherited(s); end
3271
- end
3272
- end
3273
-
3274
- # source://spoom//lib/spoom/file_collector.rb#5
3275
- class Spoom::FileCollector
3276
- # Initialize a new file collector
3277
- #
3278
- # If `allow_extensions` is empty, all files are collected.
3279
- # If `allow_extensions` is an array of extensions, only files with one of these extensions are collected.
3280
- #
3281
- # If `allow_mime_types` is empty, all files are collected.
3282
- # If `allow_mime_types` is an array of mimetypes, files without an extension are collected if their mimetype is in
3283
- # the list.
3284
- #
3285
- # source://spoom//lib/spoom/file_collector.rb#26
3286
- sig do
3287
- params(
3288
- allow_extensions: T::Array[::String],
3289
- allow_mime_types: T::Array[::String],
3290
- exclude_patterns: T::Array[::String]
3291
- ).void
3292
- end
3293
- def initialize(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
3294
-
3295
- # source://spoom//lib/spoom/file_collector.rb#9
3296
- sig { returns(T::Array[::String]) }
3297
- def files; end
3298
-
3299
- # source://spoom//lib/spoom/file_collector.rb#39
3300
- sig { params(path: ::String).void }
3301
- def visit_path(path); end
3302
-
3303
- # source://spoom//lib/spoom/file_collector.rb#34
3304
- sig { params(paths: T::Array[::String]).void }
3305
- def visit_paths(paths); end
3306
-
3307
- private
3308
-
3309
- # source://spoom//lib/spoom/file_collector.rb#56
3310
- sig { params(path: ::String).returns(::String) }
3311
- def clean_path(path); end
3312
-
3313
- # source://spoom//lib/spoom/file_collector.rb#73
3314
- sig { params(path: ::String).returns(T::Boolean) }
3315
- def excluded_file?(path); end
3316
-
3317
- # source://spoom//lib/spoom/file_collector.rb#88
3318
- sig { params(path: ::String).returns(T::Boolean) }
3319
- def excluded_path?(path); end
3320
-
3321
- # source://spoom//lib/spoom/file_collector.rb#97
3322
- sig { params(path: ::String).returns(T.nilable(::String)) }
3323
- def mime_type_for(path); end
3324
-
3325
- # source://spoom//lib/spoom/file_collector.rb#68
3326
- sig { params(path: ::String).void }
3327
- def visit_directory(path); end
3328
-
3329
- # source://spoom//lib/spoom/file_collector.rb#61
3330
- sig { params(path: ::String).void }
3331
- def visit_file(path); end
3332
- end
3333
-
3334
- # Build a file hierarchy from a set of file paths.
3335
- #
3336
- # source://spoom//lib/spoom/file_tree.rb#6
3337
- class Spoom::FileTree
3338
- # source://spoom//lib/spoom/file_tree.rb#10
3339
- sig { params(paths: T::Enumerable[::String]).void }
3340
- def initialize(paths = T.unsafe(nil)); end
3341
-
3342
- # Add a `path` to the tree
3343
- #
3344
- # This will create all nodes until the root of `path`.
3345
- #
3346
- # source://spoom//lib/spoom/file_tree.rb#25
3347
- sig { params(path: ::String).returns(::Spoom::FileTree::Node) }
3348
- def add_path(path); end
3349
-
3350
- # Add all `paths` to the tree
3351
- #
3352
- # source://spoom//lib/spoom/file_tree.rb#17
3353
- sig { params(paths: T::Enumerable[::String]).void }
3354
- def add_paths(paths); end
3355
-
3356
- # All the nodes in this tree
3357
- #
3358
- # source://spoom//lib/spoom/file_tree.rb#45
3359
- sig { returns(T::Array[::Spoom::FileTree::Node]) }
3360
- def nodes; end
3361
-
3362
- # Return a map of typing scores for each node in the tree
3363
- #
3364
- # source://spoom//lib/spoom/file_tree.rb#59
3365
- sig { params(context: ::Spoom::Context).returns(T::Hash[::Spoom::FileTree::Node, ::Float]) }
3366
- def nodes_strictness_scores(context); end
3367
-
3368
- # All the paths in this tree
3369
- #
3370
- # source://spoom//lib/spoom/file_tree.rb#53
3371
- sig { returns(T::Array[::String]) }
3372
- def paths; end
3373
-
3374
- # Return a map of typing scores for each path in the tree
3375
- #
3376
- # source://spoom//lib/spoom/file_tree.rb#67
3377
- sig { params(context: ::Spoom::Context).returns(T::Hash[::String, ::Float]) }
3378
- def paths_strictness_scores(context); end
3379
-
3380
- # source://spoom//lib/spoom/file_tree.rb#72
3381
- sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean).void }
3382
- def print(out: T.unsafe(nil), colors: T.unsafe(nil)); end
3383
-
3384
- # All root nodes
3385
- #
3386
- # source://spoom//lib/spoom/file_tree.rb#39
3387
- sig { returns(T::Array[::Spoom::FileTree::Node]) }
3388
- def roots; end
3389
- end
3390
-
3391
- # A visitor that collects all the nodes in a tree
3392
- #
3393
- # source://spoom//lib/spoom/file_tree.rb#124
3394
- class Spoom::FileTree::CollectNodes < ::Spoom::FileTree::Visitor
3395
- # source://spoom//lib/spoom/file_tree.rb#131
3396
- sig { void }
3397
- def initialize; end
3398
-
3399
- # source://spoom//lib/spoom/file_tree.rb#128
3400
- sig { returns(T::Array[::Spoom::FileTree::Node]) }
3401
- def nodes; end
3402
-
3403
- # source://spoom//lib/spoom/file_tree.rb#137
3404
- sig { override.params(node: ::Spoom::FileTree::Node).void }
3405
- def visit_node(node); end
3406
- end
3407
-
3408
- # A visitor that collects the typing score of each node in a tree
3409
- #
3410
- # source://spoom//lib/spoom/file_tree.rb#167
3411
- class Spoom::FileTree::CollectScores < ::Spoom::FileTree::CollectStrictnesses
3412
- # source://spoom//lib/spoom/file_tree.rb#174
3413
- sig { params(context: ::Spoom::Context).void }
3414
- def initialize(context); end
3415
-
3416
- # source://spoom//lib/spoom/file_tree.rb#171
3417
- sig { returns(T::Hash[::Spoom::FileTree::Node, ::Float]) }
3418
- def scores; end
3419
-
3420
- # source://spoom//lib/spoom/file_tree.rb#181
3421
- sig { override.params(node: ::Spoom::FileTree::Node).void }
3422
- def visit_node(node); end
3423
-
3424
- private
3425
-
3426
- # source://spoom//lib/spoom/file_tree.rb#190
3427
- sig { params(node: ::Spoom::FileTree::Node).returns(::Float) }
3428
- def node_score(node); end
3429
-
3430
- # source://spoom//lib/spoom/file_tree.rb#199
3431
- sig { params(strictness: T.nilable(::String)).returns(::Float) }
3432
- def strictness_score(strictness); end
3433
- end
3434
-
3435
- # A visitor that collects the strictness of each node in a tree
3436
- #
3437
- # source://spoom//lib/spoom/file_tree.rb#144
3438
- class Spoom::FileTree::CollectStrictnesses < ::Spoom::FileTree::Visitor
3439
- # source://spoom//lib/spoom/file_tree.rb#151
3440
- sig { params(context: ::Spoom::Context).void }
3441
- def initialize(context); end
3442
-
3443
- # source://spoom//lib/spoom/file_tree.rb#148
3444
- sig { returns(T::Hash[::Spoom::FileTree::Node, T.nilable(::String)]) }
3445
- def strictnesses; end
3446
-
3447
- # source://spoom//lib/spoom/file_tree.rb#158
3448
- sig { override.params(node: ::Spoom::FileTree::Node).void }
3449
- def visit_node(node); end
3450
- end
3451
-
3452
- # A node representing either a file or a directory inside a FileTree
3453
- #
3454
- # source://spoom//lib/spoom/file_tree.rb#78
3455
- class Spoom::FileTree::Node < ::T::Struct
3456
- const :parent, T.nilable(::Spoom::FileTree::Node)
3457
- const :name, ::String
3458
- const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil)
3459
-
3460
- # Full path to this node from root
3461
- #
3462
- # source://spoom//lib/spoom/file_tree.rb#92
3463
- sig { returns(::String) }
3464
- def path; end
3465
-
3466
- class << self
3467
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3468
- def inherited(s); end
3469
- end
3470
- end
3471
-
3472
- # An internal class used to print a FileTree
3473
- #
3474
- # See `FileTree#print`
3475
- #
3476
- # source://spoom//lib/spoom/file_tree.rb#212
3477
- class Spoom::FileTree::Printer < ::Spoom::FileTree::Visitor
3478
- # source://spoom//lib/spoom/file_tree.rb#222
3479
- sig do
3480
- params(
3481
- strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
3482
- out: T.any(::IO, ::StringIO),
3483
- colors: T::Boolean
3484
- ).void
3485
- end
3486
- def initialize(strictnesses, out: T.unsafe(nil), colors: T.unsafe(nil)); end
3487
-
3488
- # source://spoom//lib/spoom/file_tree.rb#230
3489
- sig { override.params(node: ::Spoom::FileTree::Node).void }
3490
- def visit_node(node); end
3491
-
3492
- private
3493
-
3494
- # source://spoom//lib/spoom/file_tree.rb#255
3495
- sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) }
3496
- def strictness_color(strictness); end
3497
- end
3498
-
3499
- # An abstract visitor for FileTree
3500
- #
3501
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3502
- #
3503
- # source://spoom//lib/spoom/file_tree.rb#101
3504
- class Spoom::FileTree::Visitor
3505
- abstract!
3506
-
3507
- # source://spoom//lib/spoom/file_tree.rb#113
3508
- sig { params(node: ::Spoom::FileTree::Node).void }
3509
- def visit_node(node); end
3510
-
3511
- # source://spoom//lib/spoom/file_tree.rb#118
3512
- sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void }
3513
- def visit_nodes(nodes); end
3514
-
3515
- # source://spoom//lib/spoom/file_tree.rb#108
3516
- sig { params(tree: ::Spoom::FileTree).void }
3517
- def visit_tree(tree); end
3518
- end
3519
-
3520
- # source://spoom//lib/spoom/context/git.rb#5
3521
- module Spoom::Git; end
3522
-
3523
- # source://spoom//lib/spoom/context/git.rb#6
3524
- class Spoom::Git::Commit < ::T::Struct
3525
- const :sha, ::String
3526
- const :time, ::Time
3527
-
3528
- # source://spoom//lib/spoom/context/git.rb#27
3529
- sig { returns(::Integer) }
3530
- def timestamp; end
3531
-
3532
- class << self
3533
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3534
- def inherited(s); end
3535
-
3536
- # Parse a line formatted as `%h %at` into a `Commit`
3537
- #
3538
- # source://spoom//lib/spoom/context/git.rb#14
3539
- sig { params(string: ::String).returns(T.nilable(::Spoom::Git::Commit)) }
3540
- def parse_line(string); end
3541
- end
3542
- end
3543
-
3544
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#5
3545
- module Spoom::LSP; end
3546
-
3547
- # source://spoom//lib/spoom/sorbet/lsp.rb#13
3548
- class Spoom::LSP::Client
3549
- # source://spoom//lib/spoom/sorbet/lsp.rb#17
3550
- sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void }
3551
- def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end
3552
-
3553
- # source://spoom//lib/spoom/sorbet/lsp.rb#229
3554
- sig { void }
3555
- def close; end
3556
-
3557
- # source://spoom//lib/spoom/sorbet/lsp.rb#131
3558
- sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
3559
- def definitions(uri, line, column); end
3560
-
3561
- # source://spoom//lib/spoom/sorbet/lsp.rb#212
3562
- sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
3563
- def document_symbols(uri); end
3564
-
3565
- # source://spoom//lib/spoom/sorbet/lsp.rb#89
3566
- sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) }
3567
- def hover(uri, line, column); end
3568
-
3569
- # source://spoom//lib/spoom/sorbet/lsp.rb#27
3570
- sig { returns(::Integer) }
3571
- def next_id; end
3572
-
3573
- # LSP requests
3574
- #
3575
- # @raise [Error::AlreadyOpen]
3576
- #
3577
- # source://spoom//lib/spoom/sorbet/lsp.rb#72
3578
- sig { params(workspace_path: ::String).void }
3579
- def open(workspace_path); end
3580
-
3581
- # source://spoom//lib/spoom/sorbet/lsp.rb#54
3582
- sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
3583
- def read; end
3584
-
3585
- # @raise [Error::BadHeaders]
3586
- #
3587
- # source://spoom//lib/spoom/sorbet/lsp.rb#43
3588
- sig { returns(T.nilable(::String)) }
3589
- def read_raw; end
3590
-
3591
- # source://spoom//lib/spoom/sorbet/lsp.rb#173
3592
- sig do
3593
- params(
3594
- uri: ::String,
3595
- line: ::Integer,
3596
- column: ::Integer,
3597
- include_decl: T::Boolean
3598
- ).returns(T::Array[::Spoom::LSP::Location])
3599
- end
3600
- def references(uri, line, column, include_decl = T.unsafe(nil)); end
3601
-
3602
- # source://spoom//lib/spoom/sorbet/lsp.rb#37
3603
- sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
3604
- def send(message); end
3605
-
3606
- # source://spoom//lib/spoom/sorbet/lsp.rb#32
3607
- sig { params(json_string: ::String).void }
3608
- def send_raw(json_string); end
3609
-
3610
- # source://spoom//lib/spoom/sorbet/lsp.rb#110
3611
- sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) }
3612
- def signatures(uri, line, column); end
3613
-
3614
- # source://spoom//lib/spoom/sorbet/lsp.rb#197
3615
- sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
3616
- def symbols(query); end
3617
-
3618
- # source://spoom//lib/spoom/sorbet/lsp.rb#152
3619
- sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
3620
- def type_definitions(uri, line, column); end
3621
- end
3622
-
3623
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#178
3624
- class Spoom::LSP::Diagnostic < ::T::Struct
3625
- include ::Spoom::LSP::PrintableSymbol
3626
-
3627
- const :range, ::Spoom::LSP::Range
3628
- const :code, ::Integer
3629
- const :message, ::String
3630
- const :information, ::Object
3631
-
3632
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#202
3633
- sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3634
- def accept_printer(printer); end
3635
-
3636
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#207
3637
- sig { returns(::String) }
3638
- def to_s; end
3639
-
3640
- class << self
3641
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#191
3642
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
3643
- def from_json(json); end
3644
-
3645
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3646
- def inherited(s); end
3647
- end
3648
- end
3649
-
3650
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#212
3651
- class Spoom::LSP::DocumentSymbol < ::T::Struct
3652
- include ::Spoom::LSP::PrintableSymbol
3653
-
3654
- const :name, ::String
3655
- const :detail, T.nilable(::String)
3656
- const :kind, ::Integer
3657
- const :location, T.nilable(::Spoom::LSP::Location)
3658
- const :range, T.nilable(::Spoom::LSP::Range)
3659
- const :children, T::Array[::Spoom::LSP::DocumentSymbol]
3660
-
3661
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#240
3662
- sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3663
- def accept_printer(printer); end
3664
-
3665
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#272
3666
- sig { returns(::String) }
3667
- def kind_string; end
3668
-
3669
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#267
3670
- sig { returns(::String) }
3671
- def to_s; end
3672
-
3673
- class << self
3674
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#227
3675
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
3676
- def from_json(json); end
3677
-
3678
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3679
- def inherited(s); end
3680
- end
3681
- end
3682
-
3683
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#276
3684
- Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
3685
-
3686
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#6
3687
- class Spoom::LSP::Error < ::StandardError; end
3688
-
3689
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#7
3690
- class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end
3691
-
3692
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#8
3693
- class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end
3694
-
3695
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#10
3696
- class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
3697
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#32
3698
- sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void }
3699
- def initialize(uri, diagnostics); end
3700
-
3701
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#17
3702
- sig { returns(T::Array[::Spoom::LSP::Diagnostic]) }
3703
- def diagnostics; end
3704
-
3705
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#14
3706
- sig { returns(::String) }
3707
- def uri; end
3708
-
3709
- class << self
3710
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#23
3711
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) }
3712
- def from_json(json); end
3713
- end
3714
- end
3715
-
3716
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#19
3717
- class Spoom::LSP::Hover < ::T::Struct
3718
- include ::Spoom::LSP::PrintableSymbol
3719
-
3720
- const :contents, ::String
3721
- const :range, T.nilable(T::Range[T.untyped])
3722
-
3723
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#39
3724
- sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3725
- def accept_printer(printer); end
3726
-
3727
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#45
3728
- sig { returns(::String) }
3729
- def to_s; end
3730
-
3731
- class << self
3732
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#30
3733
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
3734
- def from_json(json); end
3735
-
3736
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3737
- def inherited(s); end
3738
- end
3739
- end
3740
-
3741
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#112
3742
- class Spoom::LSP::Location < ::T::Struct
3743
- include ::Spoom::LSP::PrintableSymbol
3744
-
3745
- const :uri, ::String
3746
- const :range, ::Spoom::LSP::Range
3747
-
3748
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#132
3749
- sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3750
- def accept_printer(printer); end
3751
-
3752
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#138
3753
- sig { returns(::String) }
3754
- def to_s; end
3755
-
3756
- class << self
3757
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#123
3758
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
3759
- def from_json(json); end
3760
-
3761
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3762
- def inherited(s); end
3763
- end
3764
- end
3765
-
3766
- # A general message as defined by JSON-RPC.
3767
- #
3768
- # The language server protocol always uses `"2.0"` as the `jsonrpc` version.
3769
- #
3770
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#12
3771
- class Spoom::LSP::Message
3772
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#16
3773
- sig { void }
3774
- def initialize; end
3775
-
3776
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#21
3777
- sig { returns(T::Hash[T.untyped, T.untyped]) }
3778
- def as_json; end
3779
-
3780
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#29
3781
- sig { params(args: T.untyped).returns(::String) }
3782
- def to_json(*args); end
3783
- end
3784
-
3785
- # A notification message.
3786
- #
3787
- # A processed notification message must not send a response back. They work like events.
3788
- #
3789
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#58
3790
- class Spoom::LSP::Notification < ::Spoom::LSP::Message
3791
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#68
3792
- sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
3793
- def initialize(method, params); end
3794
-
3795
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#62
3796
- sig { returns(::String) }
3797
- def method; end
3798
-
3799
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#65
3800
- sig { returns(T::Hash[T.untyped, T.untyped]) }
3801
- def params; end
3802
- end
3803
-
3804
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#50
3805
- class Spoom::LSP::Position < ::T::Struct
3806
- include ::Spoom::LSP::PrintableSymbol
3807
-
3808
- const :line, ::Integer
3809
- const :char, ::Integer
3810
-
3811
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#70
3812
- sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3813
- def accept_printer(printer); end
3814
-
3815
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#75
3816
- sig { returns(::String) }
3817
- def to_s; end
3818
-
3819
- class << self
3820
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#61
3821
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
3822
- def from_json(json); end
3823
-
3824
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3825
- def inherited(s); end
3826
- end
3827
- end
3828
-
3829
- # @abstract Subclasses must implement the `abstract` methods below.
3830
- #
3831
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#9
3832
- module Spoom::LSP::PrintableSymbol
3833
- interface!
3834
-
3835
- # @abstract
3836
- #
3837
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#16
3838
- sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3839
- def accept_printer(printer); end
3840
- end
3841
-
3842
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#80
3843
- class Spoom::LSP::Range < ::T::Struct
3844
- include ::Spoom::LSP::PrintableSymbol
3845
-
3846
- const :start, ::Spoom::LSP::Position
3847
- const :end, ::Spoom::LSP::Position
3848
-
3849
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#100
3850
- sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3851
- def accept_printer(printer); end
3852
-
3853
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#107
3854
- sig { returns(::String) }
3855
- def to_s; end
3856
-
3857
- class << self
3858
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#91
3859
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
3860
- def from_json(json); end
3861
-
3862
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3863
- def inherited(s); end
3864
- end
3865
- end
3866
-
3867
- # A request message to describe a request between the client and the server.
3868
- #
3869
- # Every processed request must send a response back to the sender of the request.
3870
- #
3871
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#37
3872
- class Spoom::LSP::Request < ::Spoom::LSP::Message
3873
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#47
3874
- sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
3875
- def initialize(id, method, params); end
3876
-
3877
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#41
3878
- sig { returns(::Integer) }
3879
- def id; end
3880
-
3881
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#44
3882
- sig { returns(T::Hash[T.untyped, T.untyped]) }
3883
- def params; end
3884
- end
3885
-
3886
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#40
3887
- class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
3888
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#63
3889
- sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void }
3890
- def initialize(code, message, data); end
3891
-
3892
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#44
3893
- sig { returns(::Integer) }
3894
- def code; end
3895
-
3896
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#47
3897
- sig { returns(T::Hash[T.untyped, T.untyped]) }
3898
- def data; end
3899
-
3900
- class << self
3901
- # source://spoom//lib/spoom/sorbet/lsp/errors.rb#53
3902
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) }
3903
- def from_json(json); end
3904
- end
3905
- end
3906
-
3907
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#143
3908
- class Spoom::LSP::SignatureHelp < ::T::Struct
3909
- include ::Spoom::LSP::PrintableSymbol
3910
-
3911
- const :label, T.nilable(::String)
3912
- const :doc, ::Object
3913
- const :params, T::Array[T.untyped]
3914
-
3915
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#165
3916
- sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
3917
- def accept_printer(printer); end
3918
-
3919
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#173
3920
- sig { returns(::String) }
3921
- def to_s; end
3922
-
3923
- class << self
3924
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#155
3925
- sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
3926
- def from_json(json); end
3927
-
3928
- # source://sorbet-runtime/0.5.11368/lib/types/struct.rb#13
3929
- def inherited(s); end
3930
- end
3931
- end
3932
-
3933
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#309
3934
- class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
3935
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#326
3936
- sig do
3937
- params(
3938
- out: T.any(::IO, ::StringIO),
3939
- colors: T::Boolean,
3940
- indent_level: ::Integer,
3941
- prefix: T.nilable(::String)
3942
- ).void
3943
- end
3944
- def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end
3945
-
3946
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#348
3947
- sig { params(uri: ::String).returns(::String) }
3948
- def clean_uri(uri); end
3949
-
3950
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#316
3951
- sig { returns(T.nilable(::String)) }
3952
- def prefix; end
3953
-
3954
- # @return [String, nil]
3955
- #
3956
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#316
3957
- def prefix=(_arg0); end
3958
-
3959
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#356
3960
- sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
3961
- def print_list(objects); end
3962
-
3963
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#336
3964
- sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void }
3965
- def print_object(object); end
3966
-
3967
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#343
3968
- sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
3969
- def print_objects(objects); end
3970
-
3971
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
3972
- sig { returns(T::Set[::Integer]) }
3973
- def seen; end
3974
- end
3975
-
3976
- # source://spoom//lib/spoom/printer.rb#7
3977
- class Spoom::Printer
3978
- include ::Spoom::Colorize
3979
-
3980
- # source://spoom//lib/spoom/printer.rb#17
3981
- sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
3982
- def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
3983
-
3984
- # Colorize `string` with color if `@colors`
3985
- #
3986
- # source://spoom//lib/spoom/printer.rb#78
3987
- sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
3988
- def colorize(string, *color); end
3989
-
3990
- # Decrease indent level
3991
- #
3992
- # source://spoom//lib/spoom/printer.rb#31
3993
- sig { void }
3994
- def dedent; end
3995
-
3996
- # Increase indent level
3997
- #
3998
- # source://spoom//lib/spoom/printer.rb#25
3999
- sig { void }
4000
- def indent; end
4001
-
4002
- # source://spoom//lib/spoom/printer.rb#14
4003
- sig { returns(T.any(::IO, ::StringIO)) }
4004
- def out; end
4005
-
4006
- # @return [IO, StringIO]
4007
- #
4008
- # source://spoom//lib/spoom/printer.rb#14
4009
- def out=(_arg0); end
4010
-
4011
- # Print `string` into `out`
4012
- #
4013
- # source://spoom//lib/spoom/printer.rb#37
4014
- sig { params(string: T.nilable(::String)).void }
4015
- def print(string); end
4016
-
4017
- # Print `string` colored with `color` into `out`
4018
- #
4019
- # Does not use colors unless `@colors`.
4020
- #
4021
- # source://spoom//lib/spoom/printer.rb#47
4022
- sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
4023
- def print_colored(string, *color); end
4024
-
4025
- # Print `string` with indent and newline
4026
- #
4027
- # source://spoom//lib/spoom/printer.rb#62
4028
- sig { params(string: T.nilable(::String)).void }
4029
- def printl(string); end
4030
-
4031
- # Print a new line into `out`
4032
- #
4033
- # source://spoom//lib/spoom/printer.rb#56
4034
- sig { void }
4035
- def printn; end
4036
-
4037
- # Print an indent space into `out`
4038
- #
4039
- # source://spoom//lib/spoom/printer.rb#72
4040
- sig { void }
4041
- def printt; end
4042
- end
4043
-
4044
- # source://spoom//lib/spoom.rb#10
4045
- Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
4046
-
4047
- # source://spoom//lib/spoom/sorbet/config.rb#5
4048
- module Spoom::Sorbet; end
4049
-
4050
- # source://spoom//lib/spoom/sorbet.rb#39
4051
- Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
4052
-
4053
- # source://spoom//lib/spoom/sorbet.rb#36
4054
- Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
4055
-
4056
- # Parse Sorbet config files
4057
- #
4058
- # Parses a Sorbet config file:
4059
- #
4060
- # ```ruby
4061
- # config = Spoom::Sorbet::Config.parse_file("sorbet/config")
4062
- # puts config.paths # "."
4063
- # ```
4064
- #
4065
- # Parses a Sorbet config string:
4066
- #
4067
- # ```ruby
4068
- # config = Spoom::Sorbet::Config.parse_string(<<~CONFIG)
4069
- # a
4070
- # --file=b
4071
- # --ignore=c
4072
- # CONFIG
4073
- # puts config.paths # "a", "b"
4074
- # puts config.ignore # "c"
4075
- # ```
4076
- #
4077
- # source://spoom//lib/spoom/sorbet/config.rb#26
4078
- class Spoom::Sorbet::Config
4079
- # source://spoom//lib/spoom/sorbet/config.rb#38
4080
- sig { void }
4081
- def initialize; end
4082
-
4083
- # @return [Array<String>]
4084
- #
4085
- # source://spoom//lib/spoom/sorbet/config.rb#32
4086
- def allowed_extensions; end
4087
-
4088
- # @return [Array<String>]
4089
- #
4090
- # source://spoom//lib/spoom/sorbet/config.rb#32
4091
- def allowed_extensions=(_arg0); end
4092
-
4093
- # source://spoom//lib/spoom/sorbet/config.rb#46
4094
- sig { returns(::Spoom::Sorbet::Config) }
4095
- def copy; end
4096
-
4097
- # @return [Array<String>]
4098
- #
4099
- # source://spoom//lib/spoom/sorbet/config.rb#32
4100
- def ignore; end
4101
-
4102
- # @return [Array<String>]
4103
- #
4104
- # source://spoom//lib/spoom/sorbet/config.rb#32
4105
- def ignore=(_arg0); end
4106
-
4107
- # source://spoom//lib/spoom/sorbet/config.rb#35
4108
- sig { returns(T::Boolean) }
4109
- def no_stdlib; end
4110
-
4111
- # @return [Boolean]
4112
- #
4113
- # source://spoom//lib/spoom/sorbet/config.rb#35
4114
- def no_stdlib=(_arg0); end
4115
-
4116
- # Returns self as a string of options that can be passed to Sorbet
4117
- #
4118
- # Example:
4119
- # ~~~rb
4120
- # config = Sorbet::Config.new
4121
- # config.paths << "/foo"
4122
- # config.paths << "/bar"
4123
- # config.ignore << "/baz"
4124
- # config.allowed_extensions << ".rb"
4125
- #
4126
- # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb"
4127
- # ~~~
4128
- #
4129
- # source://spoom//lib/spoom/sorbet/config.rb#68
4130
- sig { returns(::String) }
4131
- def options_string; end
4132
-
4133
- # source://spoom//lib/spoom/sorbet/config.rb#32
4134
- sig { returns(T::Array[::String]) }
4135
- def paths; end
4136
-
4137
- # @return [Array<String>]
4138
- #
4139
- # source://spoom//lib/spoom/sorbet/config.rb#32
4140
- def paths=(_arg0); end
4141
-
4142
- class << self
4143
- # source://spoom//lib/spoom/sorbet/config.rb#81
4144
- sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) }
4145
- def parse_file(sorbet_config_path); end
4146
-
4147
- # source://spoom//lib/spoom/sorbet/config.rb#86
4148
- sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) }
4149
- def parse_string(sorbet_config); end
4150
-
4151
- private
4152
-
4153
- # source://spoom//lib/spoom/sorbet/config.rb#150
4154
- sig { params(line: ::String).returns(::String) }
4155
- def parse_option(line); end
4156
- end
4157
- end
4158
-
4159
- # source://spoom//lib/spoom/sorbet/config.rb#29
4160
- Spoom::Sorbet::Config::DEFAULT_ALLOWED_EXTENSIONS = T.let(T.unsafe(nil), Array)
4161
-
4162
- # source://spoom//lib/spoom/sorbet.rb#14
4163
- class Spoom::Sorbet::Error < ::StandardError
4164
- # source://spoom//lib/spoom/sorbet.rb#29
4165
- sig { params(message: ::String, result: ::Spoom::ExecResult).void }
4166
- def initialize(message, result); end
4167
-
4168
- # source://spoom//lib/spoom/sorbet.rb#21
4169
- sig { returns(::Spoom::ExecResult) }
4170
- def result; end
4171
- end
4172
-
4173
- # source://spoom//lib/spoom/sorbet.rb#17
4174
- class Spoom::Sorbet::Error::Killed < ::Spoom::Sorbet::Error; end
4175
-
4176
- # source://spoom//lib/spoom/sorbet.rb#18
4177
- class Spoom::Sorbet::Error::Segfault < ::Spoom::Sorbet::Error; end
4178
-
4179
- # source://spoom//lib/spoom/sorbet/errors.rb#6
4180
- module Spoom::Sorbet::Errors
4181
- class << self
4182
- # source://spoom//lib/spoom/sorbet/errors.rb#13
4183
- sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
4184
- def sort_errors_by_code(errors); end
4185
- end
4186
- end
4187
-
4188
- # source://spoom//lib/spoom/sorbet/errors.rb#7
4189
- Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String)
4190
-
4191
- # source://spoom//lib/spoom/sorbet/errors.rb#125
4192
- class Spoom::Sorbet::Errors::Error
4193
- include ::Comparable
4194
-
4195
- # source://spoom//lib/spoom/sorbet/errors.rb#151
4196
- sig do
4197
- params(
4198
- file: T.nilable(::String),
4199
- line: T.nilable(::Integer),
4200
- message: T.nilable(::String),
4201
- code: T.nilable(::Integer),
4202
- more: T::Array[::String]
4203
- ).void
4204
- end
4205
- def initialize(file, line, message, code, more = T.unsafe(nil)); end
4206
-
4207
- # By default errors are sorted by location
4208
- #
4209
- # source://spoom//lib/spoom/sorbet/errors.rb#162
4210
- sig { params(other: T.untyped).returns(::Integer) }
4211
- def <=>(other); end
4212
-
4213
- # @return [Integer, nil]
4214
- #
4215
- # source://spoom//lib/spoom/sorbet/errors.rb#133
4216
- def code; end
4217
-
4218
- # source://spoom//lib/spoom/sorbet/errors.rb#130
4219
- sig { returns(T.nilable(::String)) }
4220
- def file; end
4221
-
4222
- # Other files associated with the error
4223
- #
4224
- # source://spoom//lib/spoom/sorbet/errors.rb#140
4225
- sig { returns(T::Set[::String]) }
4226
- def files_from_error_sections; end
4227
-
4228
- # source://spoom//lib/spoom/sorbet/errors.rb#133
4229
- sig { returns(T.nilable(::Integer)) }
4230
- def line; end
4231
-
4232
- # @return [String, nil]
4233
- #
4234
- # source://spoom//lib/spoom/sorbet/errors.rb#130
4235
- def message; end
4236
-
4237
- # source://spoom//lib/spoom/sorbet/errors.rb#136
4238
- sig { returns(T::Array[::String]) }
4239
- def more; end
4240
-
4241
- # source://spoom//lib/spoom/sorbet/errors.rb#169
4242
- sig { returns(::String) }
4243
- def to_s; end
4244
- end
4245
-
4246
- # Parse errors from Sorbet output
4247
- #
4248
- # source://spoom//lib/spoom/sorbet/errors.rb#18
4249
- class Spoom::Sorbet::Errors::Parser
4250
- # source://spoom//lib/spoom/sorbet/errors.rb#43
4251
- sig { params(error_url_base: ::String).void }
4252
- def initialize(error_url_base: T.unsafe(nil)); end
4253
-
4254
- # source://spoom//lib/spoom/sorbet/errors.rb#50
4255
- sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
4256
- def parse(output); end
4257
-
4258
- private
4259
-
4260
- # source://spoom//lib/spoom/sorbet/errors.rb#114
4261
- sig { params(line: ::String).void }
4262
- def append_error(line); end
4263
-
4264
- # source://spoom//lib/spoom/sorbet/errors.rb#106
4265
- sig { void }
4266
- def close_error; end
4267
-
4268
- # source://spoom//lib/spoom/sorbet/errors.rb#73
4269
- sig { params(error_url_base: ::String).returns(::Regexp) }
4270
- def error_line_match_regexp(error_url_base); end
4271
-
4272
- # source://spoom//lib/spoom/sorbet/errors.rb#90
4273
- sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) }
4274
- def match_error_line(line); end
4275
-
4276
- # source://spoom//lib/spoom/sorbet/errors.rb#99
4277
- sig { params(error: ::Spoom::Sorbet::Errors::Error).void }
4278
- def open_error(error); end
4279
-
4280
- class << self
4281
- # source://spoom//lib/spoom/sorbet/errors.rb#36
4282
- sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
4283
- def parse_string(output, error_url_base: T.unsafe(nil)); end
4284
- end
4285
- end
4286
-
4287
- # source://spoom//lib/spoom/sorbet/errors.rb#21
4288
- Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
4289
-
4290
- # source://spoom//lib/spoom/sorbet.rb#37
4291
- Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
4292
-
4293
- # source://spoom//lib/spoom/sorbet.rb#38
4294
- Spoom::Sorbet::GEM_VERSION = T.let(T.unsafe(nil), String)
4295
-
4296
- # source://spoom//lib/spoom/sorbet.rb#41
4297
- Spoom::Sorbet::KILLED_CODE = T.let(T.unsafe(nil), Integer)
4298
-
4299
- # source://spoom//lib/spoom/sorbet/metrics.rb#8
4300
- module Spoom::Sorbet::MetricsParser
4301
- class << self
4302
- # source://spoom//lib/spoom/sorbet/metrics.rb#15
4303
- sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
4304
- def parse_file(path, prefix = T.unsafe(nil)); end
4305
-
4306
- # source://spoom//lib/spoom/sorbet/metrics.rb#25
4307
- sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(T::Hash[::String, ::Integer]) }
4308
- def parse_hash(obj, prefix = T.unsafe(nil)); end
4309
-
4310
- # source://spoom//lib/spoom/sorbet/metrics.rb#20
4311
- sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
4312
- def parse_string(string, prefix = T.unsafe(nil)); end
4313
- end
4314
- end
4315
-
4316
- # source://spoom//lib/spoom/sorbet/metrics.rb#9
4317
- Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
4318
-
4319
- # source://spoom//lib/spoom/sorbet.rb#42
4320
- Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer)
4321
-
4322
- # source://spoom//lib/spoom/sorbet/sigils.rb#9
4323
- module Spoom::Sorbet::Sigils
4324
- class << self
4325
- # changes the sigil in the file at the passed path to the specified new strictness
4326
- #
4327
- # source://spoom//lib/spoom/sorbet/sigils.rb#72
4328
- sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) }
4329
- def change_sigil_in_file(path, new_strictness); end
4330
-
4331
- # changes the sigil to have a new strictness in a list of files
4332
- #
4333
- # source://spoom//lib/spoom/sorbet/sigils.rb#83
4334
- sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) }
4335
- def change_sigil_in_files(path_list, new_strictness); end
4336
-
4337
- # returns a string containing the strictness of a sigil in a file at the passed path
4338
- # * returns nil if no sigil
4339
- #
4340
- # source://spoom//lib/spoom/sorbet/sigils.rb#63
4341
- sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) }
4342
- def file_strictness(path); end
4343
-
4344
- # returns the full sigil comment string for the passed strictness
4345
- #
4346
- # source://spoom//lib/spoom/sorbet/sigils.rb#38
4347
- sig { params(strictness: ::String).returns(::String) }
4348
- def sigil_string(strictness); end
4349
-
4350
- # returns the strictness of a sigil in the passed file content string (nil if no sigil)
4351
- #
4352
- # source://spoom//lib/spoom/sorbet/sigils.rb#50
4353
- sig { params(content: ::String).returns(T.nilable(::String)) }
4354
- def strictness_in_content(content); end
4355
-
4356
- # returns a string which is the passed content but with the sigil updated to a new strictness
4357
- #
4358
- # source://spoom//lib/spoom/sorbet/sigils.rb#56
4359
- sig { params(content: ::String, new_strictness: ::String).returns(::String) }
4360
- def update_sigil(content, new_strictness); end
4361
-
4362
- # returns true if the passed string is a valid strictness (else false)
4363
- #
4364
- # source://spoom//lib/spoom/sorbet/sigils.rb#44
4365
- sig { params(strictness: ::String).returns(T::Boolean) }
4366
- def valid_strictness?(strictness); end
4367
- end
4368
- end
4369
-
4370
- # source://spoom//lib/spoom/sorbet/sigils.rb#31
4371
- Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp)
4372
-
4373
- # source://spoom//lib/spoom/sorbet/sigils.rb#13
4374
- Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String)
4375
-
4376
- # source://spoom//lib/spoom/sorbet/sigils.rb#12
4377
- Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String)
4378
-
4379
- # source://spoom//lib/spoom/sorbet/sigils.rb#17
4380
- Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String)
4381
-
4382
- # source://spoom//lib/spoom/sorbet/sigils.rb#15
4383
- Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String)
4384
-
4385
- # source://spoom//lib/spoom/sorbet/sigils.rb#16
4386
- Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
4387
-
4388
- # source://spoom//lib/spoom/sorbet/sigils.rb#14
4389
- Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
4390
-
4391
- # source://spoom//lib/spoom/sorbet/sigils.rb#19
4392
- Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
4393
-
4394
- # source://spoom//lib/spoom/timeline.rb#5
4395
- class Spoom::Timeline
4396
- # source://spoom//lib/spoom/timeline.rb#9
4397
- sig { params(context: ::Spoom::Context, from: ::Time, to: ::Time).void }
4398
- def initialize(context, from, to); end
4399
-
4400
- # Return one commit for each date in `dates`
4401
- #
4402
- # source://spoom//lib/spoom/timeline.rb#36
4403
- sig { params(dates: T::Array[::Time]).returns(T::Array[::Spoom::Git::Commit]) }
4404
- def commits_for_dates(dates); end
4405
-
4406
- # Return all months between `from` and `to`
4407
- #
4408
- # source://spoom//lib/spoom/timeline.rb#23
4409
- sig { returns(T::Array[::Time]) }
4410
- def months; end
4411
-
4412
- # Return one commit for each month between `from` and `to`
4413
- #
4414
- # source://spoom//lib/spoom/timeline.rb#17
4415
- sig { returns(T::Array[::Spoom::Git::Commit]) }
4416
- def ticks; end
4417
- end
4418
-
4419
- # source://spoom//lib/spoom/version.rb#5
4420
- Spoom::VERSION = T.let(T.unsafe(nil), String)