sorbet-rails 0.6.3 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/sorbet-rails/gem_plugins/active_flag_plugin.rb +0 -1
  4. data/lib/sorbet-rails/gem_plugins/paperclip_plugin.rb +0 -1
  5. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +9 -2
  6. data/lib/sorbet-rails/model_plugins/active_record_attribute.rb +0 -1
  7. data/lib/sorbet-rails/model_plugins/active_record_enum.rb +0 -1
  8. data/lib/sorbet-rails/model_plugins/active_record_named_scope.rb +15 -6
  9. data/lib/sorbet-rails/model_plugins/active_record_querying.rb +5 -1
  10. data/lib/sorbet-rails/model_plugins/base.rb +2 -1
  11. data/lib/sorbet-rails/model_rbi_formatter.rb +4 -8
  12. data/lib/sorbet-rails/model_utils.rb +68 -30
  13. data/lib/sorbet-rails/tasks/rails_rbi.rake +13 -21
  14. data/sorbet-rails.gemspec +1 -1
  15. data/spec/generators/rails-template.rb +3 -6
  16. data/spec/generators/sorbet_test_cases.rb +41 -26
  17. data/spec/support/v5.0/Gemfile.lock +2 -2
  18. data/spec/support/v5.0/app/models/spell_book.rb +2 -0
  19. data/spec/support/v5.0/app/models/wizard.rb +1 -1
  20. data/spec/support/v5.0/sorbet_test_cases.rb +41 -26
  21. data/spec/support/v5.1/Gemfile.lock +2 -2
  22. data/spec/support/v5.1/app/models/spell_book.rb +2 -0
  23. data/spec/support/v5.1/app/models/wizard.rb +1 -1
  24. data/spec/support/v5.1/sorbet_test_cases.rb +41 -26
  25. data/spec/support/v5.2/Gemfile.lock +2 -2
  26. data/spec/support/v5.2/app/models/spell_book.rb +2 -0
  27. data/spec/support/v5.2/app/models/wizard.rb +1 -1
  28. data/spec/support/v5.2/sorbet_test_cases.rb +41 -26
  29. data/spec/support/v6.0/Gemfile.lock +2 -2
  30. data/spec/support/v6.0/app/models/spell_book.rb +2 -0
  31. data/spec/support/v6.0/app/models/wizard.rb +1 -1
  32. data/spec/support/v6.0/sorbet_test_cases.rb +41 -26
  33. data/spec/test_data/v5.0/expected_headmaster.rbi +18 -190
  34. data/spec/test_data/v5.0/expected_internal_metadata.rbi +18 -188
  35. data/spec/test_data/v5.0/expected_potion.rbi +18 -188
  36. data/spec/test_data/v5.0/expected_robe.rbi +18 -190
  37. data/spec/test_data/v5.0/expected_schema_migration.rbi +18 -188
  38. data/spec/test_data/v5.0/expected_school.rbi +18 -190
  39. data/spec/test_data/v5.0/expected_spell.rbi +18 -190
  40. data/spec/test_data/v5.0/expected_spell/habtm_spell_books.rbi +18 -190
  41. data/spec/test_data/v5.0/expected_spell_book.rbi +55 -217
  42. data/spec/test_data/v5.0/expected_spell_book/habtm_spells.rbi +18 -190
  43. data/spec/test_data/v5.0/expected_squib.rbi +90 -264
  44. data/spec/test_data/v5.0/expected_subject.rbi +18 -190
  45. data/spec/test_data/v5.0/expected_subject/habtm_wizards.rbi +18 -190
  46. data/spec/test_data/v5.0/expected_wand.rbi +53 -227
  47. data/spec/test_data/v5.0/expected_wizard.rbi +90 -264
  48. data/spec/test_data/v5.0/expected_wizard/habtm_subjects.rbi +18 -190
  49. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +90 -264
  50. data/spec/test_data/v5.1/expected_headmaster.rbi +18 -196
  51. data/spec/test_data/v5.1/expected_internal_metadata.rbi +18 -194
  52. data/spec/test_data/v5.1/expected_potion.rbi +18 -194
  53. data/spec/test_data/v5.1/expected_robe.rbi +18 -196
  54. data/spec/test_data/v5.1/expected_schema_migration.rbi +18 -194
  55. data/spec/test_data/v5.1/expected_school.rbi +18 -196
  56. data/spec/test_data/v5.1/expected_spell.rbi +18 -196
  57. data/spec/test_data/v5.1/expected_spell/habtm_spell_books.rbi +18 -196
  58. data/spec/test_data/v5.1/expected_spell_book.rbi +55 -223
  59. data/spec/test_data/v5.1/expected_spell_book/habtm_spells.rbi +18 -196
  60. data/spec/test_data/v5.1/expected_squib.rbi +91 -271
  61. data/spec/test_data/v5.1/expected_subject.rbi +18 -196
  62. data/spec/test_data/v5.1/expected_subject/habtm_wizards.rbi +18 -196
  63. data/spec/test_data/v5.1/expected_wand.rbi +53 -233
  64. data/spec/test_data/v5.1/expected_wizard.rbi +91 -271
  65. data/spec/test_data/v5.1/expected_wizard/habtm_subjects.rbi +18 -196
  66. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +91 -271
  67. data/spec/test_data/v5.2/expected_attachment.rbi +18 -194
  68. data/spec/test_data/v5.2/expected_blob.rbi +39 -215
  69. data/spec/test_data/v5.2/expected_headmaster.rbi +18 -196
  70. data/spec/test_data/v5.2/expected_internal_metadata.rbi +18 -194
  71. data/spec/test_data/v5.2/expected_potion.rbi +18 -194
  72. data/spec/test_data/v5.2/expected_robe.rbi +18 -196
  73. data/spec/test_data/v5.2/expected_schema_migration.rbi +18 -194
  74. data/spec/test_data/v5.2/expected_school.rbi +18 -196
  75. data/spec/test_data/v5.2/expected_spell.rbi +18 -196
  76. data/spec/test_data/v5.2/expected_spell/habtm_spell_books.rbi +18 -196
  77. data/spec/test_data/v5.2/expected_spell_book.rbi +55 -223
  78. data/spec/test_data/v5.2/expected_spell_book/habtm_spells.rbi +18 -196
  79. data/spec/test_data/v5.2/expected_squib.rbi +95 -275
  80. data/spec/test_data/v5.2/expected_subject.rbi +18 -196
  81. data/spec/test_data/v5.2/expected_subject/habtm_wizards.rbi +18 -196
  82. data/spec/test_data/v5.2/expected_wand.rbi +53 -233
  83. data/spec/test_data/v5.2/expected_wizard.rbi +95 -275
  84. data/spec/test_data/v5.2/expected_wizard/habtm_subjects.rbi +18 -196
  85. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +95 -275
  86. data/spec/test_data/v6.0/expected_attachment.rbi +18 -218
  87. data/spec/test_data/v6.0/expected_blob.rbi +31 -243
  88. data/spec/test_data/v6.0/expected_headmaster.rbi +18 -220
  89. data/spec/test_data/v6.0/expected_internal_metadata.rbi +18 -218
  90. data/spec/test_data/v6.0/expected_potion.rbi +18 -218
  91. data/spec/test_data/v6.0/expected_robe.rbi +18 -220
  92. data/spec/test_data/v6.0/expected_schema_migration.rbi +18 -218
  93. data/spec/test_data/v6.0/expected_school.rbi +18 -220
  94. data/spec/test_data/v6.0/expected_spell.rbi +18 -220
  95. data/spec/test_data/v6.0/expected_spell/habtm_spell_books.rbi +18 -220
  96. data/spec/test_data/v6.0/expected_spell_book.rbi +24 -258
  97. data/spec/test_data/v6.0/expected_spell_book/habtm_spells.rbi +18 -220
  98. data/spec/test_data/v6.0/expected_squib.rbi +31 -457
  99. data/spec/test_data/v6.0/expected_subject.rbi +18 -220
  100. data/spec/test_data/v6.0/expected_subject/habtm_wizards.rbi +18 -220
  101. data/spec/test_data/v6.0/expected_wand.rbi +18 -270
  102. data/spec/test_data/v6.0/expected_wizard.rbi +31 -457
  103. data/spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi +18 -220
  104. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +31 -457
  105. metadata +1 -1
@@ -3,8 +3,6 @@
3
3
 
4
4
  # typed: strong
5
5
  module Wand::EnumInstanceMethods
6
- extend T::Sig
7
-
8
6
  sig { returns(T::Boolean) }
9
7
  def phoenix_feather?; end
10
8
 
@@ -36,8 +34,6 @@ module Wand::ActiveRelation_WhereNot
36
34
  end
37
35
 
38
36
  module Wand::GeneratedAttributeMethods
39
- extend T::Sig
40
-
41
37
  sig { returns(T::Boolean) }
42
38
  def broken; end
43
39
 
@@ -185,8 +181,6 @@ class Wand::CoreType < T::Enum
185
181
  end
186
182
 
187
183
  module Wand::GeneratedAssociationMethods
188
- extend T::Sig
189
-
190
184
  sig { returns(::Wizard) }
191
185
  def wizard; end
192
186
 
@@ -216,136 +210,12 @@ class Wand < ApplicationRecord
216
210
  include Wand::GeneratedAttributeMethods
217
211
  include Wand::GeneratedAssociationMethods
218
212
  extend Wand::CustomFinderMethods
219
- extend T::Sig
220
- extend T::Generic
213
+ extend Wand::QueryMethodsReturningRelation
221
214
  RelationType = T.type_alias { T.any(Wand::ActiveRecord_Relation, Wand::ActiveRecord_Associations_CollectionProxy, Wand::ActiveRecord_AssociationRelation) }
222
215
 
223
216
  sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
224
217
  def self.core_types; end
225
218
 
226
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
227
- def self.basilisk_horn(*args); end
228
-
229
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
230
- def self.dragon_heartstring(*args); end
231
-
232
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
233
- def self.not_basilisk_horn(*args); end
234
-
235
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
236
- def self.not_dragon_heartstring(*args); end
237
-
238
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
239
- def self.not_phoenix_feather(*args); end
240
-
241
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
242
- def self.not_unicorn_tail_hair(*args); end
243
-
244
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
245
- def self.phoenix_feather(*args); end
246
-
247
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
248
- def self.unicorn_tail_hair(*args); end
249
-
250
- sig { returns(Wand::ActiveRecord_Relation) }
251
- def self.all; end
252
-
253
- sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
254
- def self.unscoped(&block); end
255
-
256
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
257
- def self.select(*args); end
258
-
259
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
260
- def self.reselect(*args); end
261
-
262
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
263
- def self.order(*args); end
264
-
265
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
266
- def self.reorder(*args); end
267
-
268
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
269
- def self.group(*args); end
270
-
271
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
272
- def self.limit(*args); end
273
-
274
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
275
- def self.offset(*args); end
276
-
277
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
278
- def self.joins(*args); end
279
-
280
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
281
- def self.left_joins(*args); end
282
-
283
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
284
- def self.left_outer_joins(*args); end
285
-
286
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
287
- def self.where(*args); end
288
-
289
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
290
- def self.rewhere(*args); end
291
-
292
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
293
- def self.preload(*args); end
294
-
295
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
296
- def self.extract_associated(*args); end
297
-
298
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
299
- def self.eager_load(*args); end
300
-
301
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
302
- def self.includes(*args); end
303
-
304
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
305
- def self.from(*args); end
306
-
307
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
308
- def self.lock(*args); end
309
-
310
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
311
- def self.readonly(*args); end
312
-
313
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
314
- def self.or(*args); end
315
-
316
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
317
- def self.having(*args); end
318
-
319
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
320
- def self.create_with(*args); end
321
-
322
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
323
- def self.distinct(*args); end
324
-
325
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
326
- def self.references(*args); end
327
-
328
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
329
- def self.none(*args); end
330
-
331
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
332
- def self.unscope(*args); end
333
-
334
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
335
- def self.optimizer_hints(*args); end
336
-
337
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
338
- def self.merge(*args); end
339
-
340
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
341
- def self.except(*args); end
342
-
343
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
344
- def self.only(*args); end
345
-
346
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
347
- def self.extending(*args, &block); end
348
-
349
219
  sig { returns(T.nilable(Wand::CoreType)) }
350
220
  def typed_core_type; end
351
221
 
@@ -356,13 +226,7 @@ class Wand < ApplicationRecord
356
226
  def self.mythicals; end
357
227
  end
358
228
 
359
- class Wand::ActiveRecord_Relation < ActiveRecord::Relation
360
- include Wand::ActiveRelation_WhereNot
361
- include Wand::CustomFinderMethods
362
- extend T::Sig
363
- extend T::Generic
364
- Elem = type_member(fixed: Wand)
365
-
229
+ module Wand::QueryMethodsReturningRelation
366
230
  sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
367
231
  def basilisk_horn(*args); end
368
232
 
@@ -487,13 +351,7 @@ class Wand::ActiveRecord_Relation < ActiveRecord::Relation
487
351
  def extending(*args, &block); end
488
352
  end
489
353
 
490
- class Wand::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
491
- include Wand::ActiveRelation_WhereNot
492
- include Wand::CustomFinderMethods
493
- extend T::Sig
494
- extend T::Generic
495
- Elem = type_member(fixed: Wand)
496
-
354
+ module Wand::QueryMethodsReturningAssociationRelation
497
355
  sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
498
356
  def basilisk_horn(*args); end
499
357
 
@@ -521,7 +379,7 @@ class Wand::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
521
379
  sig { returns(Wand::ActiveRecord_AssociationRelation) }
522
380
  def all; end
523
381
 
524
- sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
382
+ sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
525
383
  def unscoped(&block); end
526
384
 
527
385
  sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
@@ -618,134 +476,24 @@ class Wand::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
618
476
  def extending(*args, &block); end
619
477
  end
620
478
 
621
- class Wand::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
479
+ class Wand::ActiveRecord_Relation < ActiveRecord::Relation
480
+ include Wand::ActiveRelation_WhereNot
622
481
  include Wand::CustomFinderMethods
623
- extend T::Sig
624
- extend T::Generic
482
+ include Wand::QueryMethodsReturningRelation
625
483
  Elem = type_member(fixed: Wand)
484
+ end
626
485
 
627
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
628
- def basilisk_horn(*args); end
629
-
630
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
631
- def dragon_heartstring(*args); end
632
-
633
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
634
- def not_basilisk_horn(*args); end
635
-
636
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
637
- def not_dragon_heartstring(*args); end
638
-
639
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
640
- def not_phoenix_feather(*args); end
641
-
642
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
643
- def not_unicorn_tail_hair(*args); end
644
-
645
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
646
- def phoenix_feather(*args); end
647
-
648
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
649
- def unicorn_tail_hair(*args); end
650
-
651
- sig { returns(Wand::ActiveRecord_AssociationRelation) }
652
- def all; end
653
-
654
- sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
655
- def unscoped(&block); end
656
-
657
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
658
- def select(*args); end
659
-
660
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
661
- def reselect(*args); end
662
-
663
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
664
- def order(*args); end
665
-
666
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
667
- def reorder(*args); end
668
-
669
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
670
- def group(*args); end
671
-
672
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
673
- def limit(*args); end
674
-
675
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
676
- def offset(*args); end
677
-
678
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
679
- def joins(*args); end
680
-
681
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
682
- def left_joins(*args); end
683
-
684
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
685
- def left_outer_joins(*args); end
686
-
687
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
688
- def where(*args); end
689
-
690
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
691
- def rewhere(*args); end
692
-
693
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
694
- def preload(*args); end
695
-
696
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
697
- def extract_associated(*args); end
698
-
699
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
700
- def eager_load(*args); end
701
-
702
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
703
- def includes(*args); end
704
-
705
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
706
- def from(*args); end
707
-
708
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
709
- def lock(*args); end
710
-
711
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
712
- def readonly(*args); end
713
-
714
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
715
- def or(*args); end
716
-
717
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
718
- def having(*args); end
719
-
720
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
721
- def create_with(*args); end
722
-
723
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
724
- def distinct(*args); end
725
-
726
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
727
- def references(*args); end
728
-
729
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
730
- def none(*args); end
731
-
732
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
733
- def unscope(*args); end
734
-
735
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
736
- def optimizer_hints(*args); end
737
-
738
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
739
- def merge(*args); end
740
-
741
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
742
- def except(*args); end
743
-
744
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
745
- def only(*args); end
486
+ class Wand::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
487
+ include Wand::ActiveRelation_WhereNot
488
+ include Wand::CustomFinderMethods
489
+ include Wand::QueryMethodsReturningAssociationRelation
490
+ Elem = type_member(fixed: Wand)
491
+ end
746
492
 
747
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
748
- def extending(*args, &block); end
493
+ class Wand::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
494
+ include Wand::CustomFinderMethods
495
+ include Wand::QueryMethodsReturningAssociationRelation
496
+ Elem = type_member(fixed: Wand)
749
497
 
750
498
  sig { params(records: T.any(Wand, T::Array[Wand])).returns(T.self_type) }
751
499
  def <<(*records); end
@@ -3,8 +3,6 @@
3
3
 
4
4
  # typed: strong
5
5
  module Wizard::EnumInstanceMethods
6
- extend T::Sig
7
-
8
6
  sig { returns(T::Boolean) }
9
7
  def broom_nimbus?; end
10
8
 
@@ -114,8 +112,6 @@ module Wizard::ActiveRelation_WhereNot
114
112
  end
115
113
 
116
114
  module Wizard::GeneratedAttributeMethods
117
- extend T::Sig
118
-
119
115
  sig { returns(T::Boolean) }
120
116
  def broom?; end
121
117
 
@@ -314,8 +310,7 @@ class Wizard < ApplicationRecord
314
310
  include Wizard::GeneratedAttributeMethods
315
311
  include Wizard::GeneratedAssociationMethods
316
312
  extend Wizard::CustomFinderMethods
317
- extend T::Sig
318
- extend T::Generic
313
+ extend Wizard::QueryMethodsReturningRelation
319
314
  RelationType = T.type_alias { T.any(Wizard::ActiveRecord_Relation, Wizard::ActiveRecord_Associations_CollectionProxy, Wizard::ActiveRecord_AssociationRelation) }
320
315
 
321
316
  sig { returns(T::Hash[T.any(String, Symbol), String]) }
@@ -336,216 +331,6 @@ class Wizard < ApplicationRecord
336
331
  sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
337
332
  def self.quidditch_positions; end
338
333
 
339
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
340
- def self.Gryffindor(*args); end
341
-
342
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
343
- def self.Hagrid(*args); end
344
-
345
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
346
- def self.Hufflepuff(*args); end
347
-
348
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
349
- def self.Ravenclaw(*args); end
350
-
351
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
352
- def self.Slytherin(*args); end
353
-
354
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
355
- def self.black_hair(*args); end
356
-
357
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
358
- def self.blonde_hair(*args); end
359
-
360
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
361
- def self.broom_firebolt(*args); end
362
-
363
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
364
- def self.broom_nimbus(*args); end
365
-
366
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
367
- def self.brown_hair(*args); end
368
-
369
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
370
- def self.color_blue_eyes(*args); end
371
-
372
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
373
- def self.color_brown_eyes(*args); end
374
-
375
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
376
- def self.color_green_eyes(*args); end
377
-
378
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
379
- def self.not_Gryffindor(*args); end
380
-
381
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
382
- def self.not_Hagrid(*args); end
383
-
384
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
385
- def self.not_Hufflepuff(*args); end
386
-
387
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
388
- def self.not_Ravenclaw(*args); end
389
-
390
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
391
- def self.not_Slytherin(*args); end
392
-
393
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
394
- def self.not_black_hair(*args); end
395
-
396
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
397
- def self.not_blonde_hair(*args); end
398
-
399
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
400
- def self.not_broom_firebolt(*args); end
401
-
402
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
403
- def self.not_broom_nimbus(*args); end
404
-
405
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
406
- def self.not_brown_hair(*args); end
407
-
408
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
409
- def self.not_color_blue_eyes(*args); end
410
-
411
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
412
- def self.not_color_brown_eyes(*args); end
413
-
414
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
415
- def self.not_color_green_eyes(*args); end
416
-
417
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
418
- def self.not_quidditch_beater(*args); end
419
-
420
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
421
- def self.not_quidditch_chaser(*args); end
422
-
423
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
424
- def self.not_quidditch_keeper(*args); end
425
-
426
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
427
- def self.not_quidditch_seeker(*args); end
428
-
429
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
430
- def self.quidditch_beater(*args); end
431
-
432
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
433
- def self.quidditch_chaser(*args); end
434
-
435
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
436
- def self.quidditch_keeper(*args); end
437
-
438
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
439
- def self.quidditch_seeker(*args); end
440
-
441
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
442
- def self.recent(*args); end
443
-
444
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
445
- def self.with_attached_hats(*args); end
446
-
447
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
448
- def self.with_attached_school_photo(*args); end
449
-
450
- sig { returns(Wizard::ActiveRecord_Relation) }
451
- def self.all; end
452
-
453
- sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
454
- def self.unscoped(&block); end
455
-
456
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
457
- def self.select(*args); end
458
-
459
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
460
- def self.reselect(*args); end
461
-
462
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
463
- def self.order(*args); end
464
-
465
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
466
- def self.reorder(*args); end
467
-
468
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
469
- def self.group(*args); end
470
-
471
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
472
- def self.limit(*args); end
473
-
474
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
475
- def self.offset(*args); end
476
-
477
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
478
- def self.joins(*args); end
479
-
480
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
481
- def self.left_joins(*args); end
482
-
483
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
484
- def self.left_outer_joins(*args); end
485
-
486
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
487
- def self.where(*args); end
488
-
489
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
490
- def self.rewhere(*args); end
491
-
492
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
493
- def self.preload(*args); end
494
-
495
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
496
- def self.extract_associated(*args); end
497
-
498
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
499
- def self.eager_load(*args); end
500
-
501
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
502
- def self.includes(*args); end
503
-
504
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
505
- def self.from(*args); end
506
-
507
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
508
- def self.lock(*args); end
509
-
510
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
511
- def self.readonly(*args); end
512
-
513
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
514
- def self.or(*args); end
515
-
516
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
517
- def self.having(*args); end
518
-
519
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
520
- def self.create_with(*args); end
521
-
522
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
523
- def self.distinct(*args); end
524
-
525
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
526
- def self.references(*args); end
527
-
528
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
529
- def self.none(*args); end
530
-
531
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
532
- def self.unscope(*args); end
533
-
534
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
535
- def self.optimizer_hints(*args); end
536
-
537
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
538
- def self.merge(*args); end
539
-
540
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
541
- def self.except(*args); end
542
-
543
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
544
- def self.only(*args); end
545
-
546
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
547
- def self.extending(*args, &block); end
548
-
549
334
  sig { returns(T.nilable(Wizard::Broom)) }
550
335
  def typed_broom; end
551
336
 
@@ -583,13 +368,7 @@ class Wizard < ApplicationRecord
583
368
  def typed_quidditch_position=(value); end
584
369
  end
585
370
 
586
- class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
587
- include Wizard::ActiveRelation_WhereNot
588
- include Wizard::CustomFinderMethods
589
- extend T::Sig
590
- extend T::Generic
591
- Elem = type_member(fixed: Wizard)
592
-
371
+ module Wizard::QueryMethodsReturningRelation
593
372
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
594
373
  def Gryffindor(*args); end
595
374
 
@@ -801,13 +580,7 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
801
580
  def extending(*args, &block); end
802
581
  end
803
582
 
804
- class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
805
- include Wizard::ActiveRelation_WhereNot
806
- include Wizard::CustomFinderMethods
807
- extend T::Sig
808
- extend T::Generic
809
- Elem = type_member(fixed: Wizard)
810
-
583
+ module Wizard::QueryMethodsReturningAssociationRelation
811
584
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
812
585
  def Gryffindor(*args); end
813
586
 
@@ -922,7 +695,7 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
922
695
  sig { returns(Wizard::ActiveRecord_AssociationRelation) }
923
696
  def all; end
924
697
 
925
- sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
698
+ sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
926
699
  def unscoped(&block); end
927
700
 
928
701
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
@@ -1019,238 +792,21 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
1019
792
  def extending(*args, &block); end
1020
793
  end
1021
794
 
1022
- class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
795
+ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
796
+ include Wizard::ActiveRelation_WhereNot
1023
797
  include Wizard::CustomFinderMethods
1024
- extend T::Sig
1025
- extend T::Generic
798
+ include Wizard::QueryMethodsReturningRelation
1026
799
  Elem = type_member(fixed: Wizard)
800
+ end
1027
801
 
1028
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1029
- def Gryffindor(*args); end
1030
-
1031
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1032
- def Hagrid(*args); end
1033
-
1034
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1035
- def Hufflepuff(*args); end
1036
-
1037
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1038
- def Ravenclaw(*args); end
1039
-
1040
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1041
- def Slytherin(*args); end
1042
-
1043
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1044
- def black_hair(*args); end
1045
-
1046
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1047
- def blonde_hair(*args); end
1048
-
1049
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1050
- def broom_firebolt(*args); end
1051
-
1052
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1053
- def broom_nimbus(*args); end
1054
-
1055
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1056
- def brown_hair(*args); end
1057
-
1058
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1059
- def color_blue_eyes(*args); end
1060
-
1061
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1062
- def color_brown_eyes(*args); end
1063
-
1064
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1065
- def color_green_eyes(*args); end
1066
-
1067
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1068
- def not_Gryffindor(*args); end
1069
-
1070
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1071
- def not_Hagrid(*args); end
1072
-
1073
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1074
- def not_Hufflepuff(*args); end
1075
-
1076
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1077
- def not_Ravenclaw(*args); end
1078
-
1079
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1080
- def not_Slytherin(*args); end
1081
-
1082
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1083
- def not_black_hair(*args); end
1084
-
1085
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1086
- def not_blonde_hair(*args); end
1087
-
1088
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1089
- def not_broom_firebolt(*args); end
1090
-
1091
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1092
- def not_broom_nimbus(*args); end
1093
-
1094
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1095
- def not_brown_hair(*args); end
1096
-
1097
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1098
- def not_color_blue_eyes(*args); end
1099
-
1100
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1101
- def not_color_brown_eyes(*args); end
1102
-
1103
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1104
- def not_color_green_eyes(*args); end
1105
-
1106
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1107
- def not_quidditch_beater(*args); end
1108
-
1109
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1110
- def not_quidditch_chaser(*args); end
1111
-
1112
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1113
- def not_quidditch_keeper(*args); end
1114
-
1115
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1116
- def not_quidditch_seeker(*args); end
1117
-
1118
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1119
- def quidditch_beater(*args); end
1120
-
1121
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1122
- def quidditch_chaser(*args); end
1123
-
1124
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1125
- def quidditch_keeper(*args); end
1126
-
1127
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1128
- def quidditch_seeker(*args); end
1129
-
1130
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1131
- def recent(*args); end
1132
-
1133
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1134
- def with_attached_hats(*args); end
1135
-
1136
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1137
- def with_attached_school_photo(*args); end
1138
-
1139
- sig { returns(Wizard::ActiveRecord_AssociationRelation) }
1140
- def all; end
1141
-
1142
- sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
1143
- def unscoped(&block); end
1144
-
1145
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1146
- def select(*args); end
1147
-
1148
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1149
- def reselect(*args); end
1150
-
1151
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1152
- def order(*args); end
1153
-
1154
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1155
- def reorder(*args); end
1156
-
1157
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1158
- def group(*args); end
1159
-
1160
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1161
- def limit(*args); end
1162
-
1163
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1164
- def offset(*args); end
1165
-
1166
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1167
- def joins(*args); end
1168
-
1169
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1170
- def left_joins(*args); end
1171
-
1172
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1173
- def left_outer_joins(*args); end
1174
-
1175
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1176
- def where(*args); end
1177
-
1178
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1179
- def rewhere(*args); end
1180
-
1181
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1182
- def preload(*args); end
1183
-
1184
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1185
- def extract_associated(*args); end
1186
-
1187
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1188
- def eager_load(*args); end
1189
-
1190
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1191
- def includes(*args); end
1192
-
1193
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1194
- def from(*args); end
1195
-
1196
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1197
- def lock(*args); end
1198
-
1199
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1200
- def readonly(*args); end
1201
-
1202
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1203
- def or(*args); end
1204
-
1205
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1206
- def having(*args); end
1207
-
1208
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1209
- def create_with(*args); end
1210
-
1211
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1212
- def distinct(*args); end
1213
-
1214
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1215
- def references(*args); end
1216
-
1217
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1218
- def none(*args); end
1219
-
1220
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1221
- def unscope(*args); end
1222
-
1223
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1224
- def optimizer_hints(*args); end
1225
-
1226
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1227
- def merge(*args); end
1228
-
1229
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1230
- def except(*args); end
1231
-
1232
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1233
- def only(*args); end
1234
-
1235
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
1236
- def extending(*args, &block); end
1237
-
1238
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1239
- def <<(*records); end
1240
-
1241
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1242
- def append(*records); end
1243
-
1244
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1245
- def push(*records); end
1246
-
1247
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1248
- def concat(*records); end
802
+ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
803
+ include Wizard::ActiveRelation_WhereNot
804
+ include Wizard::CustomFinderMethods
805
+ include Wizard::QueryMethodsReturningAssociationRelation
806
+ Elem = type_member(fixed: Wizard)
1249
807
  end
1250
808
 
1251
809
  module Wizard::GeneratedAssociationMethods
1252
- extend T::Sig
1253
-
1254
810
  sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
1255
811
  def hats_attachments; end
1256
812
 
@@ -1323,3 +879,21 @@ module Wizard::GeneratedAssociationMethods
1323
879
  sig { params(attachables: T.untyped).returns(T.untyped) }
1324
880
  def hats=(*attachables); end
1325
881
  end
882
+
883
+ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
884
+ include Wizard::CustomFinderMethods
885
+ include Wizard::QueryMethodsReturningAssociationRelation
886
+ Elem = type_member(fixed: Wizard)
887
+
888
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
889
+ def <<(*records); end
890
+
891
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
892
+ def append(*records); end
893
+
894
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
895
+ def push(*records); end
896
+
897
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
898
+ def concat(*records); end
899
+ end