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