bungie_sdk 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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)