muina 0.2.7

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