lunchmoney 1.3.0 → 1.4.0

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.simplecov +1 -2
  4. data/Gemfile +2 -3
  5. data/Gemfile.lock +66 -68
  6. data/lib/lunchmoney/objects/transaction.rb +9 -1
  7. data/lib/lunchmoney/version.rb +1 -1
  8. data/sorbet/rbi/annotations/activesupport.rbi +31 -0
  9. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  10. data/sorbet/rbi/gems/{activesupport@7.1.3.2.rbi → activesupport@7.2.1.rbi} +1345 -1253
  11. data/sorbet/rbi/gems/{addressable@2.8.6.rbi → addressable@2.8.7.rbi} +2 -1
  12. data/sorbet/rbi/gems/{bigdecimal@3.1.7.rbi → bigdecimal@3.1.8.rbi} +1 -0
  13. data/sorbet/rbi/gems/{chef-utils@18.4.2.rbi → chef-utils@18.5.0.rbi} +1 -0
  14. data/sorbet/rbi/gems/{concurrent-ruby@1.2.3.rbi → concurrent-ruby@1.3.4.rbi} +64 -9
  15. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +1 -0
  16. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.0.rbi} +20 -15
  17. data/sorbet/rbi/gems/{faraday-net_http@3.1.0.rbi → faraday-net_http@3.1.1.rbi} +36 -35
  18. data/sorbet/rbi/gems/{faraday@2.9.0.rbi → faraday@2.10.1.rbi} +79 -33
  19. data/sorbet/rbi/gems/{hashdiff@1.1.0.rbi → hashdiff@1.1.1.rbi} +3 -2
  20. data/sorbet/rbi/gems/{i18n@1.14.4.rbi → i18n@1.14.5.rbi} +43 -14
  21. data/sorbet/rbi/gems/logger@1.6.0.rbi +903 -0
  22. data/sorbet/rbi/gems/{minitest@5.22.3.rbi → minitest@5.25.1.rbi} +245 -235
  23. data/sorbet/rbi/gems/{mixlib-shellout@3.2.7.rbi → mixlib-shellout@3.2.8.rbi} +1 -0
  24. data/sorbet/rbi/gems/{mocha@2.2.0.rbi → mocha@2.4.5.rbi} +36 -47
  25. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.26.3.rbi} +32 -21
  26. data/sorbet/rbi/gems/{parser@3.3.1.0.rbi → parser@3.3.4.2.rbi} +233 -186
  27. data/sorbet/rbi/gems/{prism@0.29.0.rbi → prism@0.30.0.rbi} +5670 -4445
  28. data/sorbet/rbi/gems/{public_suffix@5.0.4.rbi → public_suffix@6.0.1.rbi} +1 -0
  29. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.1.rbi} +34 -33
  30. data/sorbet/rbi/gems/{rack@3.0.10.rbi → rack@3.1.7.rbi} +694 -987
  31. data/sorbet/rbi/gems/{rake@13.1.0.rbi → rake@13.2.1.rbi} +56 -55
  32. data/sorbet/rbi/gems/{rbi@0.1.13.rbi → rbi@0.1.14.rbi} +865 -638
  33. data/sorbet/rbi/gems/{regexp_parser@2.9.1.rbi → regexp_parser@2.9.2.rbi} +2 -2
  34. data/sorbet/rbi/gems/{rexml@3.2.6.rbi → rexml@3.3.6.rbi} +383 -245
  35. data/sorbet/rbi/gems/{rubocop-ast@1.31.3.rbi → rubocop-ast@1.32.1.rbi} +383 -337
  36. data/sorbet/rbi/gems/{rubocop-minitest@0.35.0.rbi → rubocop-minitest@0.35.1.rbi} +11 -8
  37. data/sorbet/rbi/gems/{rubocop-rails@2.24.1.rbi → rubocop-rails@2.26.0.rbi} +604 -275
  38. data/sorbet/rbi/gems/{rubocop-sorbet@0.8.3.rbi → rubocop-sorbet@0.8.5.rbi} +125 -67
  39. data/sorbet/rbi/gems/{rubocop@1.63.5.rbi → rubocop@1.65.1.rbi} +1722 -1408
  40. data/sorbet/rbi/gems/securerandom@0.3.1.rbi +73 -0
  41. data/sorbet/rbi/gems/{spoom@1.3.2.rbi → spoom@1.4.2.rbi} +2377 -1866
  42. data/sorbet/rbi/gems/strscan@3.1.0.rbi +9 -0
  43. data/sorbet/rbi/gems/{tapioca@0.14.1.rbi → tapioca@0.16.1.rbi} +274 -253
  44. data/sorbet/rbi/gems/{toys-core@0.15.5.rbi → toys-core@0.15.6.rbi} +1 -0
  45. data/sorbet/rbi/gems/{toys@0.15.5.rbi → toys@0.15.6.rbi} +4 -3
  46. data/sorbet/rbi/gems/{vcr@6.2.0.rbi → vcr@6.3.1.rbi} +72 -68
  47. data/sorbet/rbi/gems/{webmock@3.23.0.rbi → webmock@3.23.1.rbi} +1 -0
  48. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  49. metadata +43 -44
  50. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3426
  51. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -272
  52. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +0 -93
  53. data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +0 -966
  54. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10077
@@ -55,7 +55,7 @@ module RBI; end
55
55
 
56
56
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#5
57
57
  class RBI::Tree < ::RBI::NodeWithComments
58
- # source://rbi/0.1.13/lib/rbi/model.rb#119
58
+ # source://rbi/0.1.14/lib/rbi/model.rb#121
59
59
  sig do
60
60
  params(
61
61
  loc: T.nilable(::RBI::Loc),
@@ -65,19 +65,15 @@ class RBI::Tree < ::RBI::NodeWithComments
65
65
  end
66
66
  def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
67
67
 
68
- # source://rbi/0.1.13/lib/rbi/model.rb#126
68
+ # source://rbi/0.1.14/lib/rbi/model.rb#128
69
69
  sig { params(node: ::RBI::Node).void }
70
70
  def <<(node); end
71
71
 
72
- # source://rbi/0.1.13/lib/rbi/printer.rb#226
73
- sig { override.params(v: ::RBI::Printer).void }
74
- def accept_printer(v); end
75
-
76
- # source://rbi/0.1.13/lib/rbi/rewriters/add_sig_templates.rb#66
72
+ # source://rbi/0.1.14/lib/rbi/rewriters/add_sig_templates.rb#66
77
73
  sig { params(with_todo_comment: T::Boolean).void }
78
74
  def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
79
75
 
80
- # source://rbi/0.1.13/lib/rbi/rewriters/annotate.rb#49
76
+ # source://rbi/0.1.14/lib/rbi/rewriters/annotate.rb#49
81
77
  sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
82
78
  def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
83
79
 
@@ -103,31 +99,19 @@ class RBI::Tree < ::RBI::NodeWithComments
103
99
  sig { params(name: ::String).void }
104
100
  def create_include(name); end
105
101
 
106
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#89
102
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#90
107
103
  sig do
108
104
  params(
109
105
  name: ::String,
110
106
  parameters: T::Array[::RBI::TypedParam],
111
- return_type: ::String,
107
+ return_type: T.nilable(::String),
112
108
  class_method: T::Boolean,
113
109
  visibility: ::RBI::Visibility,
114
- comments: T::Array[::RBI::Comment]
115
- ).void
116
- end
117
- def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
118
-
119
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#113
120
- sig do
121
- params(
122
- name: ::String,
123
- sigs: T::Array[::RBI::Sig],
124
- parameters: T::Array[::RBI::Param],
125
- class_method: T::Boolean,
126
- visibility: ::RBI::Visibility,
127
- comments: T::Array[::RBI::Comment]
110
+ comments: T::Array[::RBI::Comment],
111
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
128
112
  ).void
129
113
  end
130
- def create_method_with_sigs(name, sigs:, parameters: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
114
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
131
115
 
132
116
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#60
133
117
  sig { params(name: ::String).void }
@@ -141,16 +125,6 @@ class RBI::Tree < ::RBI::NodeWithComments
141
125
  sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
142
126
  def create_path(constant, &block); end
143
127
 
144
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#135
145
- sig do
146
- params(
147
- parameters: T::Hash[T.any(::String, ::Symbol), ::String],
148
- type_parameters: T::Array[::String],
149
- return_type: ::String
150
- ).returns(::RBI::Sig)
151
- end
152
- def create_sig(parameters:, type_parameters: T.unsafe(nil), return_type: T.unsafe(nil)); end
153
-
154
128
  # source://tapioca//lib/tapioca/rbi_ext/model.rb#74
155
129
  sig do
156
130
  params(
@@ -164,27 +138,27 @@ class RBI::Tree < ::RBI::NodeWithComments
164
138
  end
165
139
  def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
166
140
 
167
- # source://rbi/0.1.13/lib/rbi/rewriters/deannotate.rb#41
141
+ # source://rbi/0.1.14/lib/rbi/rewriters/deannotate.rb#41
168
142
  sig { params(annotation: ::String).void }
169
143
  def deannotate!(annotation); end
170
144
 
171
- # source://rbi/0.1.13/lib/rbi/model.rb#132
145
+ # source://rbi/0.1.14/lib/rbi/model.rb#134
172
146
  sig { returns(T::Boolean) }
173
147
  def empty?; end
174
148
 
175
- # source://rbi/0.1.13/lib/rbi/rewriters/filter_versions.rb#118
149
+ # source://rbi/0.1.14/lib/rbi/rewriters/filter_versions.rb#118
176
150
  sig { params(version: ::Gem::Version).void }
177
151
  def filter_versions!(version); end
178
152
 
179
- # source://rbi/0.1.13/lib/rbi/rewriters/group_nodes.rb#38
153
+ # source://rbi/0.1.14/lib/rbi/rewriters/group_nodes.rb#81
180
154
  sig { void }
181
155
  def group_nodes!; end
182
156
 
183
- # source://rbi/0.1.13/lib/rbi/index.rb#68
157
+ # source://rbi/0.1.14/lib/rbi/index.rb#68
184
158
  sig { returns(::RBI::Index) }
185
159
  def index; end
186
160
 
187
- # source://rbi/0.1.13/lib/rbi/rewriters/merge_trees.rb#324
161
+ # source://rbi/0.1.14/lib/rbi/rewriters/merge_trees.rb#324
188
162
  sig do
189
163
  params(
190
164
  other: ::RBI::Tree,
@@ -195,44 +169,44 @@ class RBI::Tree < ::RBI::NodeWithComments
195
169
  end
196
170
  def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
197
171
 
198
- # source://rbi/0.1.13/lib/rbi/rewriters/nest_non_public_methods.rb#46
172
+ # source://rbi/0.1.14/lib/rbi/rewriters/nest_non_public_methods.rb#46
199
173
  sig { void }
200
174
  def nest_non_public_methods!; end
201
175
 
202
- # source://rbi/0.1.13/lib/rbi/rewriters/nest_singleton_methods.rb#36
176
+ # source://rbi/0.1.14/lib/rbi/rewriters/nest_singleton_methods.rb#36
203
177
  sig { void }
204
178
  def nest_singleton_methods!; end
205
179
 
206
- # source://rbi/0.1.13/lib/rbi/model.rb#110
180
+ # source://rbi/0.1.14/lib/rbi/model.rb#112
207
181
  sig { returns(T::Array[::RBI::Node]) }
208
182
  def nodes; end
209
183
 
210
- # source://rbi/0.1.13/lib/rbi/printer.rb#233
211
- sig { override.returns(T::Boolean) }
212
- def oneline?; end
184
+ # source://rbi/0.1.14/lib/rbi/rewriters/attr_to_methods.rb#53
185
+ sig { void }
186
+ def replace_attributes_with_methods!; end
213
187
 
214
- # source://rbi/0.1.13/lib/rbi/rewriters/sort_nodes.rb#119
188
+ # source://rbi/0.1.14/lib/rbi/rewriters/sort_nodes.rb#119
215
189
  sig { void }
216
190
  def sort_nodes!; end
217
191
 
218
192
  private
219
193
 
220
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#150
194
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#123
221
195
  sig { params(node: ::RBI::Node).returns(::RBI::Node) }
222
196
  def create_node(node); end
223
197
 
224
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#145
198
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#118
225
199
  sig { returns(T::Hash[::String, ::RBI::Node]) }
226
200
  def nodes_cache; end
227
201
  end
228
202
 
229
- # source://tapioca//lib/tapioca/rbi_ext/model.rb#160
203
+ # source://tapioca//lib/tapioca/rbi_ext/model.rb#133
230
204
  class RBI::TypedParam < ::T::Struct
231
205
  const :param, ::RBI::Param
232
206
  const :type, ::String
233
207
 
234
208
  class << self
235
- # source://sorbet-runtime/0.5.11305/lib/types/struct.rb#13
209
+ # source://sorbet-runtime/0.5.11545/lib/types/struct.rb#13
236
210
  def inherited(s); end
237
211
  end
238
212
  end
@@ -401,7 +375,7 @@ end
401
375
  # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4
402
376
  module Tapioca
403
377
  class << self
404
- # source://tapioca//lib/tapioca.rb#19
378
+ # source://tapioca//lib/tapioca.rb#20
405
379
  sig do
406
380
  type_parameters(:Result)
407
381
  .params(
@@ -412,7 +386,7 @@ module Tapioca
412
386
  end
413
387
  end
414
388
 
415
- # source://tapioca//lib/tapioca.rb#37
389
+ # source://tapioca//lib/tapioca.rb#39
416
390
  Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
417
391
 
418
392
  # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#5
@@ -452,13 +426,13 @@ module Tapioca::BundlerExt::AutoRequireHook
452
426
  end
453
427
  end
454
428
 
455
- # source://tapioca//lib/tapioca.rb#60
429
+ # source://tapioca//lib/tapioca.rb#62
456
430
  Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
457
431
 
458
- # source://tapioca//lib/tapioca.rb#59
432
+ # source://tapioca//lib/tapioca.rb#61
459
433
  Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String)
460
434
 
461
- # source://tapioca//lib/tapioca.rb#58
435
+ # source://tapioca//lib/tapioca.rb#60
462
436
  Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String)
463
437
 
464
438
  # source://tapioca//lib/tapioca/cli.rb#5
@@ -467,24 +441,24 @@ class Tapioca::Cli < ::Thor
467
441
  include ::Tapioca::ConfigHelper
468
442
  include ::Tapioca::EnvHelper
469
443
 
470
- # source://tapioca//lib/tapioca/cli.rb#361
444
+ # source://tapioca//lib/tapioca/cli.rb#366
471
445
  def __print_version; end
472
446
 
473
- # source://tapioca//lib/tapioca/cli.rb#343
447
+ # source://tapioca//lib/tapioca/cli.rb#348
474
448
  def annotations; end
475
449
 
476
- # source://tapioca//lib/tapioca/cli.rb#315
450
+ # source://tapioca//lib/tapioca/cli.rb#320
477
451
  def check_shims; end
478
452
 
479
453
  # source://tapioca//lib/tapioca/cli.rb#46
480
454
  def configure; end
481
455
 
482
- # source://tapioca//lib/tapioca/cli.rb#143
456
+ # source://tapioca//lib/tapioca/cli.rb#147
483
457
  def dsl(*constant_or_paths); end
484
458
 
485
459
  # @raise [MalformattedArgumentError]
486
460
  #
487
- # source://tapioca//lib/tapioca/cli.rb#259
461
+ # source://tapioca//lib/tapioca/cli.rb#264
488
462
  def gem(*gems); end
489
463
 
490
464
  # source://tapioca//lib/tapioca/cli.rb#27
@@ -498,11 +472,11 @@ class Tapioca::Cli < ::Thor
498
472
 
499
473
  private
500
474
 
501
- # source://tapioca//lib/tapioca/cli.rb#375
475
+ # source://tapioca//lib/tapioca/cli.rb#380
502
476
  def print_init_next_steps; end
503
477
 
504
478
  class << self
505
- # source://tapioca//lib/tapioca/cli.rb#367
479
+ # source://tapioca//lib/tapioca/cli.rb#372
506
480
  def exit_on_failure?; end
507
481
  end
508
482
  end
@@ -539,7 +513,7 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
539
513
 
540
514
  abstract!
541
515
 
542
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#32
516
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#33
543
517
  sig do
544
518
  params(
545
519
  requested_constants: T::Array[::String],
@@ -557,22 +531,23 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
557
531
  gem_dir: ::String,
558
532
  rbi_formatter: ::Tapioca::RBIFormatter,
559
533
  app_root: ::String,
560
- halt_upon_load_error: T::Boolean
534
+ halt_upon_load_error: T::Boolean,
535
+ compiler_options: T::Hash[::String, T.untyped]
561
536
  ).void
562
537
  end
563
- def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, skip_constant: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
538
+ def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, skip_constant: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil), compiler_options: T.unsafe(nil)); end
564
539
 
565
540
  private
566
541
 
567
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#97
542
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#100
568
543
  sig { returns(T::Array[::String]) }
569
544
  def all_requested_constants; end
570
545
 
571
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#289
546
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
572
547
  sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
573
548
  def build_error_for_files(cause, files); end
574
549
 
575
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#213
550
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#217
576
551
  sig do
577
552
  params(
578
553
  constant_name: ::String,
@@ -583,75 +558,75 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke
583
558
  end
584
559
  def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
585
560
 
586
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#150
561
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#154
587
562
  sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
588
563
  def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
589
564
 
590
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#173
565
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#177
591
566
  sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
592
567
  def constantize_compilers(compiler_names); end
593
568
 
594
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#349
569
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#353
595
570
  sig { returns(T::Array[::String]) }
596
571
  def constants_from_requested_paths; end
597
572
 
598
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#120
573
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#123
599
574
  sig { returns(::Tapioca::Dsl::Pipeline) }
600
575
  def create_pipeline; end
601
576
 
602
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#252
577
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#256
603
578
  sig { params(constant_name: ::String).returns(::Pathname) }
604
579
  def dsl_rbi_filename(constant_name); end
605
580
 
606
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#136
581
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#140
607
582
  sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
608
583
  def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
609
584
 
610
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#344
585
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#348
611
586
  sig { params(constant: ::String).returns(::String) }
612
587
  def generate_command_for(constant); end
613
588
 
614
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#73
589
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#76
615
590
  sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
616
591
  def generate_dsl_rbi_files(outpath, quiet:); end
617
592
 
618
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#110
593
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#113
619
594
  sig { void }
620
595
  def load_application; end
621
596
 
622
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#231
597
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
623
598
  sig { params(dir: ::Pathname).void }
624
599
  def perform_dsl_verification(dir); end
625
600
 
626
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#105
601
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#108
627
602
  sig { returns(::Tapioca::Dsl::Pipeline) }
628
603
  def pipeline; end
629
604
 
630
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#240
605
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#244
631
606
  sig { params(files: T::Set[::Pathname]).void }
632
607
  def purge_stale_dsl_rbi_files(files); end
633
608
 
634
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#339
609
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#343
635
610
  sig { params(constant: ::String).returns(::String) }
636
611
  def rbi_filename_for(constant); end
637
612
 
638
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#320
613
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#324
639
614
  sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
640
615
  def rbi_files_in(path); end
641
616
 
642
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#298
617
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#302
643
618
  sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
644
619
  def report_diff_and_exit_if_out_of_date(diff, command); end
645
620
 
646
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#193
621
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#197
647
622
  sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
648
623
  def resolve(name); end
649
624
 
650
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#327
625
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#331
651
626
  sig { params(class_name: ::String).returns(::String) }
652
627
  def underscore(class_name); end
653
628
 
654
- # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#257
629
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#261
655
630
  sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
656
631
  def verify_dsl_rbi(tmp_dir:); end
657
632
  end
@@ -690,11 +665,11 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
690
665
 
691
666
  private
692
667
 
693
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#223
668
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#230
694
669
  sig { returns(T::Array[::String]) }
695
670
  def added_rbis; end
696
671
 
697
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#284
672
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#291
698
673
  sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
699
674
  def build_error_for_files(cause, files); end
700
675
 
@@ -702,19 +677,19 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
702
677
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
703
678
  def compile_gem_rbi(gem); end
704
679
 
705
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#218
680
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#225
706
681
  sig { params(gem_name: ::String).returns(::Pathname) }
707
682
  def existing_rbi(gem_name); end
708
683
 
709
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#266
684
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#273
710
685
  sig { returns(T::Hash[::String, ::String]) }
711
686
  def existing_rbis; end
712
687
 
713
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#230
688
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#237
714
689
  sig { params(gem_name: ::String).returns(::Pathname) }
715
690
  def expected_rbi(gem_name); end
716
691
 
717
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#272
692
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#279
718
693
  sig { returns(T::Hash[::String, ::String]) }
719
694
  def expected_rbis; end
720
695
 
@@ -727,11 +702,11 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
727
702
  end
728
703
  def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
729
704
 
730
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#235
705
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#242
731
706
  sig { params(gem_name: ::String).returns(T::Boolean) }
732
707
  def gem_rbi_exists?(gem_name); end
733
708
 
734
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#279
709
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#286
735
710
  sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
736
711
  def gem_rbi_filename(gem_name, version); end
737
712
 
@@ -739,27 +714,27 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
739
714
  sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
740
715
  def gems_to_generate(gem_names); end
741
716
 
742
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#289
717
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#296
743
718
  sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
744
719
  def merge_with_exported_rbi(gem, file); end
745
720
 
746
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#260
721
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#267
747
722
  sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
748
723
  def move(old_filename, new_filename); end
749
724
 
750
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#170
725
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#177
751
726
  sig { void }
752
727
  def perform_additions; end
753
728
 
754
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#143
729
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#150
755
730
  sig { void }
756
731
  def perform_removals; end
757
732
 
758
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#213
733
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#220
759
734
  sig { returns(T::Array[::String]) }
760
735
  def removed_rbis; end
761
736
 
762
- # source://tapioca//lib/tapioca/commands/abstract_gem.rb#240
737
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#247
763
738
  sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
764
739
  def report_diff_and_exit_if_out_of_date(diff, command); end
765
740
  end
@@ -780,11 +755,11 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
780
755
 
781
756
  private
782
757
 
783
- # source://tapioca//lib/tapioca/commands/annotations.rb#193
758
+ # source://tapioca//lib/tapioca/commands/annotations.rb#197
784
759
  sig { params(name: ::String, content: ::String).returns(::String) }
785
760
  def add_header(name, content); end
786
761
 
787
- # source://tapioca//lib/tapioca/commands/annotations.rb#213
762
+ # source://tapioca//lib/tapioca/commands/annotations.rb#217
788
763
  sig { params(name: ::String, content: ::String).returns(::String) }
789
764
  def apply_typed_override(name, content); end
790
765
 
@@ -793,18 +768,18 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
793
768
  def execute; end
794
769
 
795
770
  # source://tapioca//lib/tapioca/commands/annotations.rb#136
796
- sig { params(repo_uris: T::Array[::String], gem_name: ::String).void }
797
- def fetch_annotation(repo_uris, gem_name); end
771
+ sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).void }
772
+ def fetch_annotation(repo_uris, gem_info); end
798
773
 
799
774
  # source://tapioca//lib/tapioca/commands/annotations.rb#113
800
- sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) }
801
- def fetch_annotations(gem_names); end
775
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).returns(T::Array[::String]) }
776
+ def fetch_annotations(project_gems); end
802
777
 
803
- # source://tapioca//lib/tapioca/commands/annotations.rb#152
778
+ # source://tapioca//lib/tapioca/commands/annotations.rb#156
804
779
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
805
780
  def fetch_file(repo_uri, path); end
806
781
 
807
- # source://tapioca//lib/tapioca/commands/annotations.rb#169
782
+ # source://tapioca//lib/tapioca/commands/annotations.rb#173
808
783
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
809
784
  def fetch_http_file(repo_uri, path); end
810
785
 
@@ -816,31 +791,35 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
816
791
  sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
817
792
  def fetch_indexes; end
818
793
 
819
- # source://tapioca//lib/tapioca/commands/annotations.rb#161
794
+ # source://tapioca//lib/tapioca/commands/annotations.rb#165
820
795
  sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
821
796
  def fetch_local_file(repo_uri, path); end
822
797
 
798
+ # source://tapioca//lib/tapioca/commands/annotations.rb#229
799
+ sig { params(gem_version: ::Gem::Version, content: ::String).returns(::String) }
800
+ def filter_versions(gem_version, content); end
801
+
823
802
  # source://tapioca//lib/tapioca/commands/annotations.rb#50
824
- sig { returns(T::Array[::String]) }
803
+ sig { returns(T::Array[::Tapioca::GemInfo]) }
825
804
  def list_gemfile_gems; end
826
805
 
827
- # source://tapioca//lib/tapioca/commands/annotations.rb#225
806
+ # source://tapioca//lib/tapioca/commands/annotations.rb#237
828
807
  sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
829
808
  def merge_files(gem_name, contents); end
830
809
 
831
810
  # source://tapioca//lib/tapioca/commands/annotations.rb#60
832
- sig { params(project_gems: T::Array[::String]).void }
811
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).void }
833
812
  def remove_expired_annotations(project_gems); end
834
813
 
835
- # source://tapioca//lib/tapioca/commands/annotations.rb#252
814
+ # source://tapioca//lib/tapioca/commands/annotations.rb#264
836
815
  sig { returns(T::Hash[::String, T.nilable(::String)]) }
837
816
  def repo_tokens; end
838
817
 
839
- # source://tapioca//lib/tapioca/commands/annotations.rb#280
818
+ # source://tapioca//lib/tapioca/commands/annotations.rb#292
840
819
  sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
841
820
  def say_http_error(path, repo_uri, message:); end
842
821
 
843
- # source://tapioca//lib/tapioca/commands/annotations.rb#264
822
+ # source://tapioca//lib/tapioca/commands/annotations.rb#276
844
823
  sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
845
824
  def token_for(repo_uri); end
846
825
  end
@@ -1102,11 +1081,11 @@ module Tapioca::ConfigHelper
1102
1081
 
1103
1082
  private
1104
1083
 
1105
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#151
1084
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#153
1106
1085
  sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) }
1107
1086
  def build_error(msg); end
1108
1087
 
1109
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#176
1088
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#178
1110
1089
  sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) }
1111
1090
  def build_error_message(config_file, errors); end
1112
1091
 
@@ -1122,7 +1101,7 @@ module Tapioca::ConfigHelper
1122
1101
  sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void }
1123
1102
  def filter_defaults(options); end
1124
1103
 
1125
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#194
1104
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#196
1126
1105
  sig do
1127
1106
  params(
1128
1107
  options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess)
@@ -1145,58 +1124,58 @@ module Tapioca::ConfigHelper
1145
1124
  def validate_config_options(command_options, config_key, config_options); end
1146
1125
  end
1147
1126
 
1148
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#146
1127
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#148
1149
1128
  class Tapioca::ConfigHelper::ConfigError < ::T::Struct
1150
1129
  const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
1151
1130
 
1152
1131
  class << self
1153
- # source://sorbet-runtime/0.5.11305/lib/types/struct.rb#13
1132
+ # source://sorbet-runtime/0.5.11545/lib/types/struct.rb#13
1154
1133
  def inherited(s); end
1155
1134
  end
1156
1135
  end
1157
1136
 
1158
- # source://tapioca//lib/tapioca/helpers/config_helper.rb#141
1137
+ # source://tapioca//lib/tapioca/helpers/config_helper.rb#143
1159
1138
  class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
1160
1139
  const :message, ::String
1161
1140
  const :colors, T::Array[::Symbol]
1162
1141
 
1163
1142
  class << self
1164
- # source://sorbet-runtime/0.5.11305/lib/types/struct.rb#13
1143
+ # source://sorbet-runtime/0.5.11545/lib/types/struct.rb#13
1165
1144
  def inherited(s); end
1166
1145
  end
1167
1146
  end
1168
1147
 
1169
- # source://tapioca//lib/tapioca.rb#44
1148
+ # source://tapioca//lib/tapioca.rb#46
1170
1149
  Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
1171
1150
 
1172
- # source://tapioca//lib/tapioca.rb#40
1151
+ # source://tapioca//lib/tapioca.rb#42
1173
1152
  Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String)
1174
1153
 
1175
- # source://tapioca//lib/tapioca.rb#56
1154
+ # source://tapioca//lib/tapioca.rb#58
1176
1155
  Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String)
1177
1156
 
1178
- # source://tapioca//lib/tapioca.rb#41
1157
+ # source://tapioca//lib/tapioca.rb#43
1179
1158
  Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String)
1180
1159
 
1181
- # source://tapioca//lib/tapioca.rb#46
1160
+ # source://tapioca//lib/tapioca.rb#48
1182
1161
  Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
1183
1162
 
1184
- # source://tapioca//lib/tapioca.rb#38
1163
+ # source://tapioca//lib/tapioca.rb#40
1185
1164
  Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String)
1186
1165
 
1187
- # source://tapioca//lib/tapioca.rb#39
1166
+ # source://tapioca//lib/tapioca.rb#41
1188
1167
  Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String)
1189
1168
 
1190
1169
  # source://tapioca//lib/tapioca/rbi_formatter.rb#31
1191
1170
  Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter)
1192
1171
 
1193
- # source://tapioca//lib/tapioca.rb#55
1172
+ # source://tapioca//lib/tapioca.rb#57
1194
1173
  Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer)
1195
1174
 
1196
- # source://tapioca//lib/tapioca.rb#42
1175
+ # source://tapioca//lib/tapioca.rb#44
1197
1176
  Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String)
1198
1177
 
1199
- # source://tapioca//lib/tapioca.rb#43
1178
+ # source://tapioca//lib/tapioca.rb#45
1200
1179
  Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String)
1201
1180
 
1202
1181
  # source://tapioca//lib/tapioca/dsl/compilers.rb#5
@@ -1218,17 +1197,24 @@ class Tapioca::Dsl::Compiler
1218
1197
 
1219
1198
  ConstantType = type_member { { upper: Module } }
1220
1199
 
1221
- # source://tapioca//lib/tapioca/dsl/compiler.rb#64
1222
- sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void }
1223
- def initialize(pipeline, root, constant); end
1200
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#74
1201
+ sig do
1202
+ params(
1203
+ pipeline: ::Tapioca::Dsl::Pipeline,
1204
+ root: ::RBI::Tree,
1205
+ constant: ConstantType,
1206
+ options: T::Hash[::String, T.untyped]
1207
+ ).void
1208
+ end
1209
+ def initialize(pipeline, root, constant, options = T.unsafe(nil)); end
1224
1210
 
1225
1211
  # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1226
1212
  #
1227
- # source://tapioca//lib/tapioca/dsl/compiler.rb#81
1213
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#92
1228
1214
  sig { params(error: ::String).void }
1229
1215
  def add_error(error); end
1230
1216
 
1231
- # source://tapioca//lib/tapioca/dsl/compiler.rb#72
1217
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#83
1232
1218
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1233
1219
  def compiler_enabled?(compiler_name); end
1234
1220
 
@@ -1238,56 +1224,60 @@ class Tapioca::Dsl::Compiler
1238
1224
 
1239
1225
  # @abstract
1240
1226
  #
1241
- # source://tapioca//lib/tapioca/dsl/compiler.rb#77
1227
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#88
1242
1228
  sig { abstract.void }
1243
1229
  def decorate; end
1244
1230
 
1231
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#26
1232
+ sig { returns(T::Hash[::String, T.untyped]) }
1233
+ def options; end
1234
+
1245
1235
  # source://tapioca//lib/tapioca/dsl/compiler.rb#23
1246
1236
  sig { returns(::RBI::Tree) }
1247
1237
  def root; end
1248
1238
 
1249
1239
  private
1250
1240
 
1251
- # source://tapioca//lib/tapioca/dsl/compiler.rb#130
1241
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#141
1252
1242
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1253
1243
  def compile_method_parameters_to_rbi(method_def); end
1254
1244
 
1255
- # source://tapioca//lib/tapioca/dsl/compiler.rb#166
1245
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#177
1256
1246
  sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1257
1247
  def compile_method_return_type_to_rbi(method_def); end
1258
1248
 
1259
- # source://tapioca//lib/tapioca/dsl/compiler.rb#120
1249
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#131
1260
1250
  sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1261
1251
  def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1262
1252
 
1263
1253
  # Get the types of each parameter from a method signature
1264
1254
  #
1265
- # source://tapioca//lib/tapioca/dsl/compiler.rb#94
1255
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#105
1266
1256
  sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1267
1257
  def parameters_types_from_signature(method_def, signature); end
1268
1258
 
1269
1259
  class << self
1270
1260
  # @abstract
1271
1261
  #
1272
- # source://tapioca//lib/tapioca/dsl/compiler.rb#34
1262
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#37
1273
1263
  sig { abstract.returns(T::Enumerable[::Module]) }
1274
1264
  def gather_constants; end
1275
1265
 
1276
- # source://tapioca//lib/tapioca/dsl/compiler.rb#29
1266
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#32
1277
1267
  sig { params(constant: ::Module).returns(T::Boolean) }
1278
1268
  def handles?(constant); end
1279
1269
 
1280
- # source://tapioca//lib/tapioca/dsl/compiler.rb#37
1270
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#40
1281
1271
  sig { returns(T::Set[::Module]) }
1282
1272
  def processable_constants; end
1283
1273
 
1284
1274
  private
1285
1275
 
1286
- # source://tapioca//lib/tapioca/dsl/compiler.rb#47
1276
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#50
1287
1277
  sig { returns(T::Enumerable[T::Class[T.anything]]) }
1288
1278
  def all_classes; end
1289
1279
 
1290
- # source://tapioca//lib/tapioca/dsl/compiler.rb#55
1280
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#58
1291
1281
  sig { returns(T::Enumerable[::Module]) }
1292
1282
  def all_modules; end
1293
1283
  end
@@ -1308,7 +1298,7 @@ Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array)
1308
1298
 
1309
1299
  # source://tapioca//lib/tapioca/dsl/pipeline.rb#6
1310
1300
  class Tapioca::Dsl::Pipeline
1311
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#38
1301
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#39
1312
1302
  sig do
1313
1303
  params(
1314
1304
  requested_constants: T::Array[::Module],
@@ -1317,24 +1307,25 @@ class Tapioca::Dsl::Pipeline
1317
1307
  excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1318
1308
  error_handler: T.proc.params(error: ::String).void,
1319
1309
  skipped_constants: T::Array[::Module],
1320
- number_of_workers: T.nilable(::Integer)
1310
+ number_of_workers: T.nilable(::Integer),
1311
+ compiler_options: T::Hash[::String, T.untyped]
1321
1312
  ).void
1322
1313
  end
1323
- def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), skipped_constants: T.unsafe(nil), number_of_workers: T.unsafe(nil)); end
1314
+ def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), skipped_constants: T.unsafe(nil), number_of_workers: T.unsafe(nil), compiler_options: T.unsafe(nil)); end
1324
1315
 
1325
1316
  # source://tapioca//lib/tapioca/dsl/pipeline.rb#10
1326
1317
  sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) }
1327
1318
  def active_compilers; end
1328
1319
 
1329
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#99
1320
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#102
1330
1321
  sig { params(error: ::String).void }
1331
1322
  def add_error(error); end
1332
1323
 
1333
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#104
1324
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#107
1334
1325
  sig { params(compiler_name: ::String).returns(T::Boolean) }
1335
1326
  def compiler_enabled?(compiler_name); end
1336
1327
 
1337
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#113
1328
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#116
1338
1329
  sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
1339
1330
  def compilers; end
1340
1331
 
@@ -1354,7 +1345,7 @@ class Tapioca::Dsl::Pipeline
1354
1345
  sig { returns(T::Array[::Pathname]) }
1355
1346
  def requested_paths; end
1356
1347
 
1357
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#64
1348
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#67
1358
1349
  sig do
1359
1350
  type_parameters(:T)
1360
1351
  .params(
@@ -1369,15 +1360,15 @@ class Tapioca::Dsl::Pipeline
1369
1360
 
1370
1361
  private
1371
1362
 
1372
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#220
1363
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#223
1373
1364
  sig { void }
1374
1365
  def abort_if_pending_migrations!; end
1375
1366
 
1376
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#165
1367
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#168
1377
1368
  sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
1378
1369
  def filter_anonymous_and_reloaded_constants(constants); end
1379
1370
 
1380
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#130
1371
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#133
1381
1372
  sig do
1382
1373
  params(
1383
1374
  requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
@@ -1386,7 +1377,7 @@ class Tapioca::Dsl::Pipeline
1386
1377
  end
1387
1378
  def gather_active_compilers(requested_compilers, excluded_compilers); end
1388
1379
 
1389
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#144
1380
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#147
1390
1381
  sig do
1391
1382
  params(
1392
1383
  requested_constants: T::Array[::Module],
@@ -1396,11 +1387,11 @@ class Tapioca::Dsl::Pipeline
1396
1387
  end
1397
1388
  def gather_constants(requested_constants, requested_paths, skipped_constants); end
1398
1389
 
1399
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#194
1390
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#197
1400
1391
  sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
1401
1392
  def rbi_for_constant(constant); end
1402
1393
 
1403
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#213
1394
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#216
1404
1395
  sig { params(error: ::String).returns(T.noreturn) }
1405
1396
  def report_error(error); end
1406
1397
  end
@@ -1604,6 +1595,10 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1604
1595
  sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
1605
1596
  def initialize_method_for(constant); end
1606
1597
 
1598
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#216
1599
+ sig { params(method: ::UnboundMethod).returns(T.untyped) }
1600
+ def lookup_signature_of(method); end
1601
+
1607
1602
  # source://tapioca//lib/tapioca/gem/listeners/methods.rb#172
1608
1603
  sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1609
1604
  def method_names_by_visibility(mod); end
@@ -1933,49 +1928,60 @@ class Tapioca::Gem::Pipeline
1933
1928
  include ::Tapioca::SorbetHelper
1934
1929
  include ::Tapioca::RBIHelper
1935
1930
 
1936
- # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1937
- sig { params(gem: ::Tapioca::Gemfile::GemSpec, include_doc: T::Boolean, include_loc: T::Boolean).void }
1938
- def initialize(gem, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1931
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#27
1932
+ sig do
1933
+ params(
1934
+ gem: ::Tapioca::Gemfile::GemSpec,
1935
+ error_handler: T.proc.params(error: ::String).void,
1936
+ include_doc: T::Boolean,
1937
+ include_loc: T::Boolean
1938
+ ).void
1939
+ end
1940
+ def initialize(gem, error_handler:, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1939
1941
 
1940
- # source://tapioca//lib/tapioca/gem/pipeline.rb#48
1942
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#64
1941
1943
  sig { returns(::RBI::Tree) }
1942
1944
  def compile; end
1943
1945
 
1944
- # source://tapioca//lib/tapioca/gem/pipeline.rb#119
1946
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#135
1945
1947
  sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
1946
1948
  def constant_in_gem?(name); end
1947
1949
 
1950
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#17
1951
+ sig { returns(T.proc.params(error: ::String).void) }
1952
+ def error_handler; end
1953
+
1948
1954
  # source://tapioca//lib/tapioca/gem/pipeline.rb#14
1949
1955
  sig { returns(::Tapioca::Gemfile::GemSpec) }
1950
1956
  def gem; end
1951
1957
 
1952
- # source://tapioca//lib/tapioca/gem/pipeline.rb#137
1958
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#153
1953
1959
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
1954
1960
  def method_in_gem?(method); end
1955
1961
 
1956
1962
  # Helpers
1957
1963
  #
1958
- # source://tapioca//lib/tapioca/gem/pipeline.rb#147
1964
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#163
1959
1965
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
1960
1966
  def name_of(constant); end
1961
1967
 
1962
- # source://tapioca//lib/tapioca/gem/pipeline.rb#71
1968
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#87
1963
1969
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
1964
1970
  def push_const(symbol, constant, node); end
1965
1971
 
1966
- # source://tapioca//lib/tapioca/gem/pipeline.rb#61
1972
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#77
1967
1973
  sig { params(symbol: ::String, constant: ::BasicObject).void }
1968
1974
  def push_constant(symbol, constant); end
1969
1975
 
1970
- # source://tapioca//lib/tapioca/gem/pipeline.rb#66
1976
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#82
1971
1977
  sig { params(symbol: ::String, constant: ::Module).void }
1972
1978
  def push_foreign_constant(symbol, constant); end
1973
1979
 
1974
- # source://tapioca//lib/tapioca/gem/pipeline.rb#85
1980
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#101
1975
1981
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1976
1982
  def push_foreign_scope(symbol, constant, node); end
1977
1983
 
1978
- # source://tapioca//lib/tapioca/gem/pipeline.rb#99
1984
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#115
1979
1985
  sig do
1980
1986
  params(
1981
1987
  symbol: ::String,
@@ -1988,137 +1994,137 @@ class Tapioca::Gem::Pipeline
1988
1994
  end
1989
1995
  def push_method(symbol, constant, method, node, signature, parameters); end
1990
1996
 
1991
- # source://tapioca//lib/tapioca/gem/pipeline.rb#78
1997
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#94
1992
1998
  sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
1993
1999
  def push_scope(symbol, constant, node); end
1994
2000
 
1995
2001
  # Events handling
1996
2002
  #
1997
- # source://tapioca//lib/tapioca/gem/pipeline.rb#56
2003
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#72
1998
2004
  sig { params(symbol: ::String).void }
1999
2005
  def push_symbol(symbol); end
2000
2006
 
2001
2007
  # Constants and properties filtering
2002
2008
  #
2003
- # source://tapioca//lib/tapioca/gem/pipeline.rb#106
2009
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#122
2004
2010
  sig { params(symbol_name: ::String).returns(T::Boolean) }
2005
2011
  def symbol_in_payload?(symbol_name); end
2006
2012
 
2007
2013
  private
2008
2014
 
2009
- # source://tapioca//lib/tapioca/gem/pipeline.rb#440
2015
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#456
2010
2016
  sig { params(name: ::String).void }
2011
2017
  def add_to_alias_namespace(name); end
2012
2018
 
2013
- # source://tapioca//lib/tapioca/gem/pipeline.rb#445
2019
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#461
2014
2020
  sig { params(name: ::String).returns(T::Boolean) }
2015
2021
  def alias_namespaced?(name); end
2016
2022
 
2017
- # source://tapioca//lib/tapioca/gem/pipeline.rb#244
2023
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#260
2018
2024
  sig { params(name: ::String, constant: ::Module).void }
2019
2025
  def compile_alias(name, constant); end
2020
2026
 
2021
- # source://tapioca//lib/tapioca/gem/pipeline.rb#230
2027
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#246
2022
2028
  sig { params(symbol: ::String, constant: ::BasicObject).void }
2023
2029
  def compile_constant(symbol, constant); end
2024
2030
 
2025
2031
  # Compiling
2026
2032
  #
2027
- # source://tapioca//lib/tapioca/gem/pipeline.rb#219
2033
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#235
2028
2034
  sig { params(symbol: ::String, constant: ::Module).void }
2029
2035
  def compile_foreign_constant(symbol, constant); end
2030
2036
 
2031
- # source://tapioca//lib/tapioca/gem/pipeline.rb#298
2037
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#314
2032
2038
  sig { params(name: ::String, constant: ::Module).void }
2033
2039
  def compile_module(name, constant); end
2034
2040
 
2035
- # source://tapioca//lib/tapioca/gem/pipeline.rb#265
2041
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#281
2036
2042
  sig { params(name: ::String, value: ::BasicObject).void }
2037
2043
  def compile_object(name, value); end
2038
2044
 
2039
- # source://tapioca//lib/tapioca/gem/pipeline.rb#309
2045
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#325
2040
2046
  sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
2041
2047
  def compile_scope(name, constant); end
2042
2048
 
2043
- # source://tapioca//lib/tapioca/gem/pipeline.rb#323
2049
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#339
2044
2050
  sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
2045
2051
  def compile_superclass(constant); end
2046
2052
 
2047
- # source://tapioca//lib/tapioca/gem/pipeline.rb#421
2053
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#437
2048
2054
  sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
2049
2055
  def defined_in_gem?(constant, strict: T.unsafe(nil)); end
2050
2056
 
2051
- # source://tapioca//lib/tapioca/gem/pipeline.rb#177
2057
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#193
2052
2058
  sig { params(event: ::Tapioca::Gem::Event).void }
2053
2059
  def dispatch(event); end
2054
2060
 
2055
2061
  # Helpers
2056
2062
  #
2057
- # source://tapioca//lib/tapioca/gem/pipeline.rb#464
2063
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#480
2058
2064
  sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
2059
2065
  def generic_name_of(constant); end
2060
2066
 
2061
- # source://tapioca//lib/tapioca/gem/pipeline.rb#433
2067
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#449
2062
2068
  sig { params(constant: ::Module).returns(T::Set[::String]) }
2063
2069
  def get_file_candidates(constant); end
2064
2070
 
2065
- # source://tapioca//lib/tapioca/gem/pipeline.rb#162
2071
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#178
2066
2072
  sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
2067
2073
  def load_bootstrap_symbols(gem); end
2068
2074
 
2069
- # source://tapioca//lib/tapioca/gem/pipeline.rb#480
2075
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#496
2070
2076
  sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
2071
2077
  def name_of_proxy_target(constant, class_name); end
2072
2078
 
2073
2079
  # Events handling
2074
2080
  #
2075
- # source://tapioca//lib/tapioca/gem/pipeline.rb#172
2081
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#188
2076
2082
  sig { returns(::Tapioca::Gem::Event) }
2077
2083
  def next_event; end
2078
2084
 
2079
- # source://tapioca//lib/tapioca/gem/pipeline.rb#200
2085
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#216
2080
2086
  sig { params(event: ::Tapioca::Gem::ConstantFound).void }
2081
2087
  def on_constant(event); end
2082
2088
 
2083
- # source://tapioca//lib/tapioca/gem/pipeline.rb#212
2089
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#228
2084
2090
  sig { params(event: ::Tapioca::Gem::NodeAdded).void }
2085
2091
  def on_node(event); end
2086
2092
 
2087
- # source://tapioca//lib/tapioca/gem/pipeline.rb#191
2093
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#207
2088
2094
  sig { params(event: ::Tapioca::Gem::SymbolFound).void }
2089
2095
  def on_symbol(event); end
2090
2096
 
2091
- # source://tapioca//lib/tapioca/gem/pipeline.rb#452
2097
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#468
2092
2098
  sig { params(name: ::String).void }
2093
2099
  def seen!(name); end
2094
2100
 
2095
- # source://tapioca//lib/tapioca/gem/pipeline.rb#457
2101
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#473
2096
2102
  sig { params(name: ::String).returns(T::Boolean) }
2097
2103
  def seen?(name); end
2098
2104
 
2099
- # source://tapioca//lib/tapioca/gem/pipeline.rb#391
2105
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#407
2100
2106
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2101
2107
  def skip_alias?(name, constant); end
2102
2108
 
2103
- # source://tapioca//lib/tapioca/gem/pipeline.rb#379
2109
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#395
2104
2110
  sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
2105
2111
  def skip_constant?(name, constant); end
2106
2112
 
2107
- # source://tapioca//lib/tapioca/gem/pipeline.rb#408
2113
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#424
2108
2114
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2109
2115
  def skip_foreign_constant?(name, constant); end
2110
2116
 
2111
- # source://tapioca//lib/tapioca/gem/pipeline.rb#413
2117
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#429
2112
2118
  sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
2113
2119
  def skip_module?(name, constant); end
2114
2120
 
2115
- # source://tapioca//lib/tapioca/gem/pipeline.rb#400
2121
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#416
2116
2122
  sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
2117
2123
  def skip_object?(name, constant); end
2118
2124
 
2119
2125
  # Constants and properties filtering
2120
2126
  #
2121
- # source://tapioca//lib/tapioca/gem/pipeline.rb#374
2127
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#390
2122
2128
  sig { params(name: ::String).returns(T::Boolean) }
2123
2129
  def skip_symbol?(name); end
2124
2130
  end
@@ -2127,7 +2133,7 @@ end
2127
2133
  # "(eval at /path/to/file.rb:123)"
2128
2134
  # and we are just interested in the "/path/to/file.rb" part
2129
2135
  #
2130
- # source://tapioca//lib/tapioca/gem/pipeline.rb#116
2136
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#132
2131
2137
  Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
2132
2138
 
2133
2139
  # source://tapioca//lib/tapioca/gem/pipeline.rb#11
@@ -2180,6 +2186,21 @@ module Tapioca::GemHelper
2180
2186
  def path_in_dir?(path, dir); end
2181
2187
  end
2182
2188
 
2189
+ # source://tapioca//lib/tapioca/gem_info.rb#5
2190
+ class Tapioca::GemInfo < ::T::Struct
2191
+ const :name, ::String
2192
+ const :version, ::Gem::Version
2193
+
2194
+ class << self
2195
+ # source://tapioca//lib/tapioca/gem_info.rb#13
2196
+ sig { params(spec: ::Bundler::LazySpecification).returns(::Tapioca::GemInfo) }
2197
+ def from_spec(spec); end
2198
+
2199
+ # source://sorbet-runtime/0.5.11545/lib/types/struct.rb#13
2200
+ def inherited(s); end
2201
+ end
2202
+ end
2203
+
2183
2204
  # source://tapioca//lib/tapioca/gemfile.rb#7
2184
2205
  class Tapioca::Gemfile
2185
2206
  # source://tapioca//lib/tapioca/gemfile.rb#27
@@ -2346,6 +2367,9 @@ Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2346
2367
  # source://tapioca//lib/tapioca/gemfile.rb#10
2347
2368
  Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2348
2369
 
2370
+ # source://tapioca//lib/tapioca.rb#33
2371
+ Tapioca::LIB_ROOT_DIR = T.let(T.unsafe(nil), String)
2372
+
2349
2373
  # source://tapioca//lib/tapioca/loaders/loader.rb#5
2350
2374
  module Tapioca::Loaders; end
2351
2375
 
@@ -2368,7 +2392,7 @@ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2368
2392
 
2369
2393
  protected
2370
2394
 
2371
- # source://tapioca//lib/tapioca/loaders/dsl.rb#81
2395
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#88
2372
2396
  sig { void }
2373
2397
  def load_application; end
2374
2398
 
@@ -2467,16 +2491,16 @@ class Tapioca::Loaders::Loader
2467
2491
  # @param engine [T.class_of(Rails::Engine)]
2468
2492
  # @return [Array<String>]
2469
2493
  #
2470
- # source://sorbet-runtime/0.5.11305/lib/types/private/methods/_methods.rb#257
2471
- def eager_load_paths(*args, **_arg1, &blk); end
2494
+ # source://tapioca//lib/tapioca/loaders/loader.rb#234
2495
+ def eager_load_paths(engine); end
2472
2496
 
2473
- # source://tapioca//lib/tapioca/loaders/loader.rb#188
2497
+ # source://tapioca//lib/tapioca/loaders/loader.rb#199
2474
2498
  sig { void }
2475
2499
  def eager_load_rails_app; end
2476
2500
 
2477
2501
  # @return [Array<T.class_of(Rails::Engine)>]
2478
2502
  #
2479
- # source://tapioca//lib/tapioca/loaders/loader.rb#167
2503
+ # source://tapioca//lib/tapioca/loaders/loader.rb#178
2480
2504
  def engines; end
2481
2505
 
2482
2506
  # source://tapioca//lib/tapioca/loaders/loader.rb#29
@@ -2490,11 +2514,11 @@ class Tapioca::Loaders::Loader
2490
2514
  end
2491
2515
  def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
2492
2516
 
2493
- # source://tapioca//lib/tapioca/loaders/loader.rb#125
2517
+ # source://tapioca//lib/tapioca/loaders/loader.rb#136
2494
2518
  sig { void }
2495
2519
  def load_engines_in_classic_mode; end
2496
2520
 
2497
- # source://tapioca//lib/tapioca/loaders/loader.rb#103
2521
+ # source://tapioca//lib/tapioca/loaders/loader.rb#114
2498
2522
  sig { void }
2499
2523
  def load_engines_in_zeitwerk_mode; end
2500
2524
 
@@ -2509,26 +2533,26 @@ class Tapioca::Loaders::Loader
2509
2533
  end
2510
2534
  def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2511
2535
 
2512
- # source://tapioca//lib/tapioca/loaders/loader.rb#78
2536
+ # source://tapioca//lib/tapioca/loaders/loader.rb#89
2513
2537
  sig { void }
2514
2538
  def load_rails_engines; end
2515
2539
 
2516
- # source://tapioca//lib/tapioca/loaders/loader.rb#209
2540
+ # source://tapioca//lib/tapioca/loaders/loader.rb#220
2517
2541
  sig { params(file: T.nilable(::String)).void }
2518
2542
  def require_helper(file); end
2519
2543
 
2520
- # source://tapioca//lib/tapioca/loaders/loader.rb#92
2544
+ # source://tapioca//lib/tapioca/loaders/loader.rb#103
2521
2545
  def run_initializers; end
2522
2546
 
2523
- # source://tapioca//lib/tapioca/loaders/loader.rb#181
2547
+ # source://tapioca//lib/tapioca/loaders/loader.rb#192
2524
2548
  sig { params(path: ::String).void }
2525
2549
  def safe_require(path); end
2526
2550
 
2527
- # source://tapioca//lib/tapioca/loaders/loader.rb#150
2551
+ # source://tapioca//lib/tapioca/loaders/loader.rb#161
2528
2552
  sig { params(blk: T.proc.void).void }
2529
2553
  def with_rails_application(&blk); end
2530
2554
 
2531
- # source://tapioca//lib/tapioca/loaders/loader.rb#143
2555
+ # source://tapioca//lib/tapioca/loaders/loader.rb#154
2532
2556
  sig { returns(T::Boolean) }
2533
2557
  def zeitwerk_mode?; end
2534
2558
  end
@@ -2575,19 +2599,19 @@ module Tapioca::RBIFilesHelper
2575
2599
 
2576
2600
  private
2577
2601
 
2578
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#209
2602
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#223
2579
2603
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) }
2580
2604
  def extract_empty_scopes(nodes); end
2581
2605
 
2582
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#214
2606
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#228
2583
2607
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) }
2584
2608
  def extract_methods_and_attrs(nodes); end
2585
2609
 
2586
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#224
2610
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#238
2587
2611
  sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) }
2588
2612
  def extract_mixins(nodes); end
2589
2613
 
2590
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#234
2614
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#248
2591
2615
  sig do
2592
2616
  params(
2593
2617
  nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)]
@@ -2595,7 +2619,7 @@ module Tapioca::RBIFilesHelper
2595
2619
  end
2596
2620
  def extract_nodes_with_sigs(nodes); end
2597
2621
 
2598
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#202
2622
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#216
2599
2623
  sig do
2600
2624
  params(
2601
2625
  nodes: T::Array[::RBI::Node],
@@ -2605,7 +2629,7 @@ module Tapioca::RBIFilesHelper
2605
2629
  end
2606
2630
  def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end
2607
2631
 
2608
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#266
2632
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#280
2609
2633
  sig { params(path: ::String).returns(::String) }
2610
2634
  def gem_name_from_rbi_path(path); end
2611
2635
 
@@ -2617,7 +2641,7 @@ module Tapioca::RBIFilesHelper
2617
2641
  sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) }
2618
2642
  def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end
2619
2643
 
2620
- # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#239
2644
+ # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#253
2621
2645
  sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void }
2622
2646
  def update_gem_rbis_strictnesses(errors, gem_dir); end
2623
2647
  end
@@ -2897,7 +2921,7 @@ class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple
2897
2921
  def initialize(raw_type, underlying_type); end
2898
2922
 
2899
2923
  # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#45
2900
- sig { params(obj: T.untyped).returns(T::Boolean) }
2924
+ sig { override.params(obj: T.untyped).returns(T::Boolean) }
2901
2925
  def valid?(obj); end
2902
2926
  end
2903
2927
 
@@ -2906,7 +2930,7 @@ module Tapioca::Runtime::Reflection
2906
2930
  extend ::Tapioca::Runtime::AttachedClassOf
2907
2931
  extend ::Tapioca::Runtime::Reflection
2908
2932
 
2909
- # source://tapioca//lib/tapioca/runtime/reflection.rb#196
2933
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#201
2910
2934
  sig { params(constant: ::Module).returns(T.untyped) }
2911
2935
  def abstract_type_of(constant); end
2912
2936
 
@@ -2950,7 +2974,7 @@ module Tapioca::Runtime::Reflection
2950
2974
  # class D < C; end
2951
2975
  # descendants_of(C) # => [B, A, D]
2952
2976
  #
2953
- # source://tapioca//lib/tapioca/runtime/reflection.rb#167
2977
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#172
2954
2978
  sig do
2955
2979
  type_parameters(:U)
2956
2980
  .params(
@@ -2959,11 +2983,11 @@ module Tapioca::Runtime::Reflection
2959
2983
  end
2960
2984
  def descendants_of(klass); end
2961
2985
 
2962
- # source://tapioca//lib/tapioca/runtime/reflection.rb#189
2986
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#194
2963
2987
  sig { params(constant: ::Module).returns(T::Set[::String]) }
2964
2988
  def file_candidates_for(constant); end
2965
2989
 
2966
- # source://tapioca//lib/tapioca/runtime/reflection.rb#202
2990
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#207
2967
2991
  sig { params(constant: ::Module).returns(T::Boolean) }
2968
2992
  def final_module?(constant); end
2969
2993
 
@@ -2971,7 +2995,7 @@ module Tapioca::Runtime::Reflection
2971
2995
  sig { params(constant: ::Module).returns(T::Array[::Module]) }
2972
2996
  def inherited_ancestors_of(constant); end
2973
2997
 
2974
- # source://tapioca//lib/tapioca/runtime/reflection.rb#145
2998
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#150
2975
2999
  sig { params(constant: ::Module, method: ::Symbol).returns(::Method) }
2976
3000
  def method_of(constant, method); end
2977
3001
 
@@ -2979,7 +3003,7 @@ module Tapioca::Runtime::Reflection
2979
3003
  sig { params(constant: ::Module).returns(T.nilable(::String)) }
2980
3004
  def name_of(constant); end
2981
3005
 
2982
- # source://tapioca//lib/tapioca/runtime/reflection.rb#140
3006
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#145
2983
3007
  sig { params(type: ::T::Types::Base).returns(::String) }
2984
3008
  def name_of_type(type); end
2985
3009
 
@@ -3007,18 +3031,22 @@ module Tapioca::Runtime::Reflection
3007
3031
  # by searching for the label "<top (required)>". If none is found, it returns the location
3008
3032
  # labeled "<main>", which is the original call site.
3009
3033
  #
3010
- # source://tapioca//lib/tapioca/runtime/reflection.rb#179
3034
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#184
3011
3035
  sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
3012
3036
  def resolve_loc(locations); end
3013
3037
 
3014
- # source://tapioca//lib/tapioca/runtime/reflection.rb#207
3038
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#212
3015
3039
  sig { params(constant: ::Module).returns(T::Boolean) }
3016
3040
  def sealed_module?(constant); end
3017
3041
 
3018
- # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3042
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#138
3019
3043
  sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
3020
3044
  def signature_of(method); end
3021
3045
 
3046
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#133
3047
+ sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
3048
+ def signature_of!(method); end
3049
+
3022
3050
  # source://tapioca//lib/tapioca/runtime/reflection.rb#72
3023
3051
  sig { params(constant: ::Module).returns(T::Class[T.anything]) }
3024
3052
  def singleton_class_of(constant); end
@@ -3029,23 +3057,23 @@ module Tapioca::Runtime::Reflection
3029
3057
 
3030
3058
  private
3031
3059
 
3032
- # source://tapioca//lib/tapioca/runtime/reflection.rb#244
3060
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#249
3033
3061
  sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
3034
3062
  def child_module_for_parent_with_name(parent, name); end
3035
3063
 
3036
- # source://tapioca//lib/tapioca/runtime/reflection.rb#260
3064
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#265
3037
3065
  sig { params(name: ::String).returns(T::Boolean) }
3038
3066
  def has_aliased_namespace?(name); end
3039
3067
 
3040
- # source://tapioca//lib/tapioca/runtime/reflection.rb#255
3068
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#260
3041
3069
  sig { params(method: ::UnboundMethod).returns(T::Boolean) }
3042
3070
  def method_defined_by_forwardable_module?(method); end
3043
3071
 
3044
- # source://tapioca//lib/tapioca/runtime/reflection.rb#230
3072
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#235
3045
3073
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3046
3074
  def methods_for(constant); end
3047
3075
 
3048
- # source://tapioca//lib/tapioca/runtime/reflection.rb#214
3076
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#219
3049
3077
  sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
3050
3078
  def relevant_methods_for(constant); end
3051
3079
  end
@@ -3277,10 +3305,10 @@ module Tapioca::Runtime::Trackers::Tracker
3277
3305
  end
3278
3306
  end
3279
3307
 
3280
- # source://tapioca//lib/tapioca.rb#33
3308
+ # source://tapioca//lib/tapioca.rb#35
3281
3309
  Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String)
3282
3310
 
3283
- # source://tapioca//lib/tapioca.rb#32
3311
+ # source://tapioca//lib/tapioca.rb#34
3284
3312
  Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
3285
3313
 
3286
3314
  # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
@@ -3375,8 +3403,8 @@ module Tapioca::Static::SymbolLoader
3375
3403
 
3376
3404
  # @return [Array<T.class_of(Rails::Engine)>]
3377
3405
  #
3378
- # source://sorbet-runtime/0.5.11305/lib/types/private/methods/_methods.rb#257
3379
- def engines(*args, **_arg1, &blk); end
3406
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#69
3407
+ def engines; end
3380
3408
 
3381
3409
  # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
3382
3410
  sig { params(input: ::String, table_type: ::String).returns(::String) }
@@ -3412,10 +3440,10 @@ end
3412
3440
  # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9
3413
3441
  Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array)
3414
3442
 
3415
- # source://tapioca//lib/tapioca.rb#35
3443
+ # source://tapioca//lib/tapioca.rb#37
3416
3444
  Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3417
3445
 
3418
- # source://tapioca//lib/tapioca.rb#34
3446
+ # source://tapioca//lib/tapioca.rb#36
3419
3447
  Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3420
3448
 
3421
3449
  # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#108
@@ -3492,11 +3520,6 @@ end
3492
3520
  # source://tapioca//lib/tapioca/version.rb#5
3493
3521
  Tapioca::VERSION = T.let(T.unsafe(nil), String)
3494
3522
 
3495
- # source://tapioca//lib/tapioca/helpers/source_uri.rb#6
3496
- module URI
3497
- include ::URI::RFC2396_REGEXP
3498
- end
3499
-
3500
3523
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#7
3501
3524
  class URI::Source < ::URI::File
3502
3525
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#58
@@ -3537,5 +3560,3 @@ end
3537
3560
 
3538
3561
  # source://tapioca//lib/tapioca/helpers/source_uri.rb#10
3539
3562
  URI::Source::COMPONENT = T.let(T.unsafe(nil), Array)
3540
-
3541
- class URI::WSS < ::URI::WS; end