bungie_sdk 0.1.1

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