sorbet-rails 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/README.md +3 -3
  4. data/lib/bundled_rbi/typed_enum.rbi +7 -0
  5. data/lib/sorbet-rails.rb +0 -2
  6. data/lib/sorbet-rails/active_record_rbi_formatter.rb +301 -0
  7. data/lib/sorbet-rails/config.rb +0 -1
  8. data/lib/sorbet-rails/dependent_gem_rbis/activerecord.rbi +11 -0
  9. data/lib/sorbet-rails/deprecation.rb +5 -0
  10. data/lib/sorbet-rails/gem_plugins/active_flag_plugin.rb +0 -1
  11. data/lib/sorbet-rails/gem_plugins/paperclip_plugin.rb +0 -1
  12. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +36 -8
  13. data/lib/sorbet-rails/model_plugins/active_record_attribute.rb +20 -9
  14. data/lib/sorbet-rails/model_plugins/active_record_enum.rb +0 -1
  15. data/lib/sorbet-rails/model_plugins/active_record_named_scope.rb +15 -6
  16. data/lib/sorbet-rails/model_plugins/active_record_querying.rb +34 -3
  17. data/lib/sorbet-rails/model_plugins/active_storage_methods.rb +1 -1
  18. data/lib/sorbet-rails/model_plugins/base.rb +10 -0
  19. data/lib/sorbet-rails/model_plugins/enumerable_collections.rb +0 -50
  20. data/lib/sorbet-rails/model_plugins/plugins.rb +0 -3
  21. data/lib/sorbet-rails/model_rbi_formatter.rb +6 -10
  22. data/lib/sorbet-rails/model_utils.rb +83 -36
  23. data/lib/sorbet-rails/rails_mixins/generated_url_helpers.rb +2 -3
  24. data/lib/sorbet-rails/railtie.rb +0 -2
  25. data/lib/sorbet-rails/tasks/rails_rbi.rake +32 -24
  26. data/sorbet-rails.gemspec +2 -2
  27. data/spec/active_record_rbi_formatter_spec.rb +24 -0
  28. data/spec/generators/rails-template.rb +90 -6
  29. data/spec/generators/sorbet_test_cases.rb +204 -122
  30. data/spec/model_rbi_formatter_spec.rb +1 -1
  31. data/spec/rails_helper.rb +14 -1
  32. data/spec/rake_rails_rbi_active_record_spec.rb +21 -0
  33. data/spec/rake_rails_rbi_models_spec.rb +7 -0
  34. data/spec/sorbet_spec.rb +12 -1
  35. data/spec/support/v5.0/Gemfile.lock +8 -8
  36. data/spec/support/v5.0/app/models/headmaster.rb +8 -0
  37. data/spec/support/v5.0/app/models/school.rb +2 -0
  38. data/spec/support/v5.0/app/models/spell.rb +5 -0
  39. data/spec/support/v5.0/app/models/spell_book.rb +5 -0
  40. data/spec/support/v5.0/app/models/subject.rb +5 -0
  41. data/spec/support/v5.0/app/models/wizard.rb +6 -1
  42. data/spec/support/v5.0/db/migrate/20190620000010_add_subject.rb +8 -0
  43. data/spec/support/v5.0/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  44. data/spec/support/v5.0/db/migrate/20190620000012_add_spell.rb +8 -0
  45. data/spec/support/v5.0/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  46. data/spec/support/v5.0/db/migrate/20190620000014_create_headmasters.rb +9 -0
  47. data/spec/support/v5.0/db/schema.rb +28 -1
  48. data/spec/support/v5.0/lib/mythical_rbi_plugin.rb +1 -1
  49. data/spec/support/v5.0/sorbet_test_cases.rb +204 -122
  50. data/spec/support/v5.1/Gemfile.lock +8 -8
  51. data/spec/support/v5.1/app/models/headmaster.rb +8 -0
  52. data/spec/support/v5.1/app/models/school.rb +2 -0
  53. data/spec/support/v5.1/app/models/spell.rb +5 -0
  54. data/spec/support/v5.1/app/models/spell_book.rb +5 -0
  55. data/spec/support/v5.1/app/models/subject.rb +5 -0
  56. data/spec/support/v5.1/app/models/wizard.rb +6 -1
  57. data/spec/support/v5.1/db/migrate/20190620000010_add_subject.rb +8 -0
  58. data/spec/support/v5.1/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  59. data/spec/support/v5.1/db/migrate/20190620000012_add_spell.rb +8 -0
  60. data/spec/support/v5.1/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  61. data/spec/support/v5.1/db/migrate/20190620000014_create_headmasters.rb +9 -0
  62. data/spec/support/v5.1/db/schema.rb +28 -1
  63. data/spec/support/v5.1/lib/mythical_rbi_plugin.rb +1 -1
  64. data/spec/support/v5.1/sorbet_test_cases.rb +204 -122
  65. data/spec/support/v5.2/Gemfile +1 -1
  66. data/spec/support/v5.2/Gemfile.lock +9 -9
  67. data/spec/support/v5.2/app/models/headmaster.rb +8 -0
  68. data/spec/support/v5.2/app/models/school.rb +2 -0
  69. data/spec/support/v5.2/app/models/spell.rb +5 -0
  70. data/spec/support/v5.2/app/models/spell_book.rb +5 -0
  71. data/spec/support/v5.2/app/models/subject.rb +5 -0
  72. data/spec/support/v5.2/app/models/wizard.rb +5 -0
  73. data/spec/support/v5.2/config/puma.rb +3 -0
  74. data/spec/support/v5.2/db/migrate/20190620000010_add_subject.rb +8 -0
  75. data/spec/support/v5.2/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  76. data/spec/support/v5.2/db/migrate/20190620000012_add_spell.rb +8 -0
  77. data/spec/support/v5.2/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  78. data/spec/support/v5.2/db/migrate/20190620000014_create_headmasters.rb +9 -0
  79. data/spec/support/v5.2/db/schema.rb +28 -1
  80. data/spec/support/v5.2/lib/mythical_rbi_plugin.rb +1 -1
  81. data/spec/support/v5.2/sorbet_test_cases.rb +204 -122
  82. data/spec/support/v6.0/Gemfile.lock +8 -8
  83. data/spec/support/v6.0/app/models/headmaster.rb +8 -0
  84. data/spec/support/v6.0/app/models/school.rb +2 -0
  85. data/spec/support/v6.0/app/models/spell.rb +5 -0
  86. data/spec/support/v6.0/app/models/spell_book.rb +5 -0
  87. data/spec/support/v6.0/app/models/subject.rb +5 -0
  88. data/spec/support/v6.0/app/models/wizard.rb +6 -1
  89. data/spec/support/v6.0/db/migrate/20190620000010_add_subject.rb +8 -0
  90. data/spec/support/v6.0/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  91. data/spec/support/v6.0/db/migrate/20190620000012_add_spell.rb +8 -0
  92. data/spec/support/v6.0/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  93. data/spec/support/v6.0/db/migrate/20190620000014_create_headmasters.rb +9 -0
  94. data/spec/support/v6.0/db/schema.rb +28 -1
  95. data/spec/support/v6.0/lib/mythical_rbi_plugin.rb +1 -1
  96. data/spec/support/v6.0/sorbet_test_cases.rb +204 -122
  97. data/spec/test_data/v5.0/expected_active_record_base.rbi +113 -0
  98. data/spec/test_data/v5.0/expected_active_record_relation.rbi +199 -0
  99. data/spec/test_data/v5.0/expected_habtm_subjects.rbi +660 -0
  100. data/spec/test_data/v5.0/expected_habtm_wizards.rbi +660 -0
  101. data/spec/test_data/v5.0/expected_headmaster.rbi +304 -0
  102. data/spec/test_data/v5.0/expected_internal_metadata.rbi +38 -401
  103. data/spec/test_data/v5.0/expected_potion.rbi +38 -401
  104. data/spec/test_data/v5.0/expected_robe.rbi +38 -403
  105. data/spec/test_data/v5.0/expected_schema_migration.rbi +38 -401
  106. data/spec/test_data/v5.0/expected_school.rbi +47 -401
  107. data/spec/test_data/v5.0/expected_spell.rbi +292 -0
  108. data/spec/test_data/v5.0/expected_spell/habtm_spell_books.rbi +295 -0
  109. data/spec/test_data/v5.0/expected_spell_book.rbi +86 -432
  110. data/spec/test_data/v5.0/expected_spell_book/habtm_spell_books.rbi +637 -0
  111. data/spec/test_data/v5.0/expected_spell_book/habtm_spells.rbi +295 -0
  112. data/spec/test_data/v5.0/expected_squib.rbi +122 -477
  113. data/spec/test_data/v5.0/expected_subject.rbi +292 -0
  114. data/spec/test_data/v5.0/expected_subject/habtm_wizards.rbi +295 -0
  115. data/spec/test_data/v5.0/expected_wand.rbi +75 -442
  116. data/spec/test_data/v5.0/expected_wizard.rbi +144 -498
  117. data/spec/test_data/v5.0/expected_wizard/habtm_subjects.rbi +295 -0
  118. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +138 -498
  119. data/spec/test_data/v5.1/expected_active_record_base.rbi +113 -0
  120. data/spec/test_data/v5.1/expected_active_record_relation.rbi +178 -0
  121. data/spec/test_data/v5.1/expected_habtm_subjects.rbi +672 -0
  122. data/spec/test_data/v5.1/expected_habtm_wizards.rbi +672 -0
  123. data/spec/test_data/v5.1/expected_headmaster.rbi +310 -0
  124. data/spec/test_data/v5.1/expected_internal_metadata.rbi +38 -407
  125. data/spec/test_data/v5.1/expected_potion.rbi +38 -407
  126. data/spec/test_data/v5.1/expected_robe.rbi +38 -409
  127. data/spec/test_data/v5.1/expected_schema_migration.rbi +38 -407
  128. data/spec/test_data/v5.1/expected_school.rbi +47 -407
  129. data/spec/test_data/v5.1/expected_spell.rbi +298 -0
  130. data/spec/test_data/v5.1/expected_spell/habtm_spell_books.rbi +301 -0
  131. data/spec/test_data/v5.1/expected_spell_book.rbi +86 -438
  132. data/spec/test_data/v5.1/expected_spell_book/habtm_spell_books.rbi +649 -0
  133. data/spec/test_data/v5.1/expected_spell_book/habtm_spells.rbi +301 -0
  134. data/spec/test_data/v5.1/expected_squib.rbi +123 -484
  135. data/spec/test_data/v5.1/expected_subject.rbi +298 -0
  136. data/spec/test_data/v5.1/expected_subject/habtm_wizards.rbi +301 -0
  137. data/spec/test_data/v5.1/expected_wand.rbi +75 -448
  138. data/spec/test_data/v5.1/expected_wizard.rbi +145 -505
  139. data/spec/test_data/v5.1/expected_wizard/habtm_subjects.rbi +301 -0
  140. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +139 -505
  141. data/spec/test_data/v5.2/expected_active_record_base.rbi +113 -0
  142. data/spec/test_data/v5.2/expected_active_record_relation.rbi +175 -0
  143. data/spec/test_data/v5.2/expected_attachment.rbi +38 -407
  144. data/spec/test_data/v5.2/expected_blob.rbi +60 -426
  145. data/spec/test_data/v5.2/expected_habtm_subjects.rbi +672 -0
  146. data/spec/test_data/v5.2/expected_habtm_wizards.rbi +672 -0
  147. data/spec/test_data/v5.2/expected_headmaster.rbi +310 -0
  148. data/spec/test_data/v5.2/expected_internal_metadata.rbi +38 -407
  149. data/spec/test_data/v5.2/expected_potion.rbi +38 -407
  150. data/spec/test_data/v5.2/expected_robe.rbi +38 -409
  151. data/spec/test_data/v5.2/expected_schema_migration.rbi +38 -407
  152. data/spec/test_data/v5.2/expected_school.rbi +47 -407
  153. data/spec/test_data/v5.2/expected_spell.rbi +298 -0
  154. data/spec/test_data/v5.2/expected_spell/habtm_spell_books.rbi +301 -0
  155. data/spec/test_data/v5.2/expected_spell_book.rbi +86 -438
  156. data/spec/test_data/v5.2/expected_spell_book/habtm_spell_books.rbi +649 -0
  157. data/spec/test_data/v5.2/expected_spell_book/habtm_spells.rbi +301 -0
  158. data/spec/test_data/v5.2/expected_squib.rbi +133 -488
  159. data/spec/test_data/v5.2/expected_subject.rbi +298 -0
  160. data/spec/test_data/v5.2/expected_subject/habtm_wizards.rbi +301 -0
  161. data/spec/test_data/v5.2/expected_wand.rbi +75 -448
  162. data/spec/test_data/v5.2/expected_wizard.rbi +155 -509
  163. data/spec/test_data/v5.2/expected_wizard/habtm_subjects.rbi +301 -0
  164. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +149 -509
  165. data/spec/test_data/v6.0/expected_active_record_base.rbi +113 -0
  166. data/spec/test_data/v6.0/expected_active_record_relation.rbi +175 -0
  167. data/spec/test_data/v6.0/expected_attachment.rbi +38 -431
  168. data/spec/test_data/v6.0/expected_blob.rbi +60 -450
  169. data/spec/test_data/v6.0/expected_habtm_subjects.rbi +720 -0
  170. data/spec/test_data/v6.0/expected_habtm_wizards.rbi +720 -0
  171. data/spec/test_data/v6.0/expected_headmaster.rbi +334 -0
  172. data/spec/test_data/v6.0/expected_internal_metadata.rbi +38 -431
  173. data/spec/test_data/v6.0/expected_potion.rbi +38 -431
  174. data/spec/test_data/v6.0/expected_robe.rbi +38 -433
  175. data/spec/test_data/v6.0/expected_routes.rbi +14 -7
  176. data/spec/test_data/v6.0/expected_schema_migration.rbi +38 -431
  177. data/spec/test_data/v6.0/expected_school.rbi +47 -431
  178. data/spec/test_data/v6.0/expected_spell.rbi +322 -0
  179. data/spec/test_data/v6.0/expected_spell/habtm_spell_books.rbi +325 -0
  180. data/spec/test_data/v6.0/expected_spell_book.rbi +98 -474
  181. data/spec/test_data/v6.0/expected_spell_book/habtm_spell_books.rbi +697 -0
  182. data/spec/test_data/v6.0/expected_spell_book/habtm_spells.rbi +325 -0
  183. data/spec/test_data/v6.0/expected_squib.rbi +162 -541
  184. data/spec/test_data/v6.0/expected_subject.rbi +322 -0
  185. data/spec/test_data/v6.0/expected_subject/habtm_wizards.rbi +325 -0
  186. data/spec/test_data/v6.0/expected_wand.rbi +91 -488
  187. data/spec/test_data/v6.0/expected_wizard.rbi +184 -562
  188. data/spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi +325 -0
  189. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +178 -562
  190. metadata +170 -24
  191. data/lib/bundled_rbi/active_record_base.rbi +0 -83
  192. data/lib/bundled_rbi/active_record_relation.rbi +0 -122
  193. data/lib/bundled_rbi/parameters.rbi +0 -28
  194. data/lib/sorbet-rails/custom_types/boolean_string.rb +0 -32
  195. data/lib/sorbet-rails/custom_types/integer_string.rb +0 -35
  196. data/lib/sorbet-rails/model_plugins/active_record_finder_methods.rb +0 -131
  197. data/lib/sorbet-rails/rails_mixins/custom_params_methods.rb +0 -46
  198. data/spec/boolean_string_spec.rb +0 -59
  199. data/spec/custom_params_methods_spec.rb +0 -138
  200. data/spec/integer_string_spec.rb +0 -46
  201. data/spec/support/v5.0/typed-override.yaml +0 -2
  202. data/spec/support/v5.1/typed-override.yaml +0 -2
  203. data/spec/support/v5.2/typed-override.yaml +0 -2
  204. data/spec/support/v6.0/typed-override.yaml +0 -2
@@ -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
 
@@ -167,10 +163,10 @@ module Wizard::GeneratedAttributeMethods
167
163
  sig { returns(T::Boolean) }
168
164
  def id?; end
169
165
 
170
- sig { returns(T.nilable(String)) }
166
+ sig { returns(String) }
171
167
  def name; end
172
168
 
173
- sig { params(value: T.nilable(T.any(String, Symbol))).void }
169
+ sig { params(value: T.any(String, Symbol)).void }
174
170
  def name=(value); end
175
171
 
176
172
  sig { returns(T::Boolean) }
@@ -236,57 +232,58 @@ end
236
232
 
237
233
  class Wizard::Broom < T::Enum
238
234
  enums do
239
- Nimbus = new('nimbus')
240
- Firebolt = new('firebolt')
235
+ Nimbus = new(%q{nimbus})
236
+ Firebolt = new(%q{firebolt})
241
237
  end
242
238
 
243
239
  end
244
240
 
245
241
  class Wizard::EyeColor < T::Enum
246
242
  enums do
247
- Brown = new('brown')
248
- Green = new('green')
249
- Blue = new('blue')
243
+ Brown = new(%q{brown})
244
+ Green = new(%q{green})
245
+ Blue = new(%q{blue})
250
246
  end
251
247
 
252
248
  end
253
249
 
254
250
  class Wizard::HairColor < T::Enum
255
251
  enums do
256
- Brown = new('brown')
257
- Black = new('black')
258
- Blonde = new('blonde')
252
+ Brown = new(%q{brown})
253
+ Black = new(%q{black})
254
+ Blonde = new(%q{blonde})
259
255
  end
260
256
 
261
257
  end
262
258
 
263
259
  class Wizard::House < T::Enum
264
260
  enums do
265
- Gryffindor = new('Gryffindor')
266
- Hufflepuff = new('Hufflepuff')
267
- Ravenclaw = new('Ravenclaw')
268
- Slytherin = new('Slytherin')
261
+ Gryffindor = new(%q{Gryffindor})
262
+ Hufflepuff = new(%q{Hufflepuff})
263
+ Ravenclaw = new(%q{Ravenclaw})
264
+ Slytherin = new(%q{Slytherin})
269
265
  end
270
266
 
271
267
  end
272
268
 
273
269
  class Wizard::ProfessorEnum < T::Enum
274
270
  enums do
275
- SeverusSnape = new('Severus Snape')
276
- MinervaMcGonagall = new('Minerva McGonagall')
277
- PomonaSprout = new('Pomona Sprout')
278
- FiliusFlitwick = new('Filius Flitwick')
279
- Hagrid = new('Hagrid')
271
+ SeverusSnape = new(%q{Severus Snape})
272
+ MinervaMcGonagall = new(%q{Minerva McGonagall})
273
+ PomonaSprout = new(%q{Pomona Sprout})
274
+ FiliusFlitwick = new(%q{Filius Flitwick})
275
+ Hagrid = new(%q{Hagrid})
276
+ AlastorMadEyeMoody = new(%q{Alastor 'Mad-Eye' Moody})
280
277
  end
281
278
 
282
279
  end
283
280
 
284
281
  class Wizard::QuidditchPosition < T::Enum
285
282
  enums do
286
- Keeper = new('keeper')
287
- Seeker = new('seeker')
288
- Beater = new('beater')
289
- Chaser = new('chaser')
283
+ Keeper = new(%q{keeper})
284
+ Seeker = new(%q{seeker})
285
+ Beater = new(%q{beater})
286
+ Chaser = new(%q{chaser})
290
287
  end
291
288
 
292
289
  end
@@ -313,8 +310,7 @@ class Wizard < ApplicationRecord
313
310
  include Wizard::GeneratedAttributeMethods
314
311
  include Wizard::GeneratedAssociationMethods
315
312
  extend Wizard::CustomFinderMethods
316
- extend T::Sig
317
- extend T::Generic
313
+ extend Wizard::QueryMethodsReturningRelation
318
314
  RelationType = T.type_alias { T.any(Wizard::ActiveRecord_Relation, Wizard::ActiveRecord_Associations_CollectionProxy, Wizard::ActiveRecord_AssociationRelation) }
319
315
 
320
316
  sig { returns(T::Hash[T.any(String, Symbol), String]) }
@@ -446,105 +442,6 @@ class Wizard < ApplicationRecord
446
442
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
447
443
  def self.with_attached_school_photo(*args); end
448
444
 
449
- sig { returns(Wizard::ActiveRecord_Relation) }
450
- def self.all; end
451
-
452
- sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
453
- def self.unscoped(&block); end
454
-
455
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
456
- def self.select(*args); end
457
-
458
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
459
- def self.reselect(*args); end
460
-
461
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
462
- def self.order(*args); end
463
-
464
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
465
- def self.reorder(*args); end
466
-
467
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
468
- def self.group(*args); end
469
-
470
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
471
- def self.limit(*args); end
472
-
473
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
474
- def self.offset(*args); end
475
-
476
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
477
- def self.joins(*args); end
478
-
479
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
480
- def self.left_joins(*args); end
481
-
482
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
483
- def self.left_outer_joins(*args); end
484
-
485
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
486
- def self.where(*args); end
487
-
488
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
489
- def self.rewhere(*args); end
490
-
491
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
492
- def self.preload(*args); end
493
-
494
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
495
- def self.extract_associated(*args); end
496
-
497
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
498
- def self.eager_load(*args); end
499
-
500
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
501
- def self.includes(*args); end
502
-
503
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
504
- def self.from(*args); end
505
-
506
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
507
- def self.lock(*args); end
508
-
509
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
510
- def self.readonly(*args); end
511
-
512
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
513
- def self.or(*args); end
514
-
515
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
516
- def self.having(*args); end
517
-
518
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
519
- def self.create_with(*args); end
520
-
521
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
522
- def self.distinct(*args); end
523
-
524
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
525
- def self.references(*args); end
526
-
527
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
528
- def self.none(*args); end
529
-
530
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
531
- def self.unscope(*args); end
532
-
533
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
534
- def self.optimizer_hints(*args); end
535
-
536
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
537
- def self.merge(*args); end
538
-
539
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
540
- def self.except(*args); end
541
-
542
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
543
- def self.only(*args); end
544
-
545
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
546
- def self.extending(*args, &block); end
547
-
548
445
  sig { returns(T.nilable(Wizard::Broom)) }
549
446
  def typed_broom; end
550
447
 
@@ -580,32 +477,12 @@ class Wizard < ApplicationRecord
580
477
 
581
478
  sig { params(value: T.nilable(Wizard::QuidditchPosition)).void }
582
479
  def typed_quidditch_position=(value); end
583
-
584
- sig { params(conditions: T.untyped).returns(T::Boolean) }
585
- def self.exists?(conditions = nil); end
586
-
587
- sig { params(args: T.untyped).returns(T::Boolean) }
588
- def self.any?(*args); end
589
-
590
- sig { params(args: T.untyped).returns(T::Boolean) }
591
- def self.many?(*args); end
592
-
593
- sig { params(args: T.untyped).returns(T::Boolean) }
594
- def self.none?(*args); end
595
-
596
- sig { params(args: T.untyped).returns(T::Boolean) }
597
- def self.one?(*args); end
598
-
599
- sig { params(args: T.untyped).returns(T::Boolean) }
600
- def self.empty?(*args); end
601
480
  end
602
481
 
603
482
  class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
604
483
  include Wizard::ActiveRelation_WhereNot
605
484
  include Wizard::CustomFinderMethods
606
- include Enumerable
607
- extend T::Sig
608
- extend T::Generic
485
+ include Wizard::QueryMethodsReturningRelation
609
486
  Elem = type_member(fixed: Wizard)
610
487
 
611
488
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
@@ -718,131 +595,12 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
718
595
 
719
596
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
720
597
  def with_attached_school_photo(*args); end
721
-
722
- sig { returns(Wizard::ActiveRecord_Relation) }
723
- def all; end
724
-
725
- sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
726
- def unscoped(&block); end
727
-
728
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
729
- def select(*args); end
730
-
731
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
732
- def reselect(*args); end
733
-
734
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
735
- def order(*args); end
736
-
737
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
738
- def reorder(*args); end
739
-
740
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
741
- def group(*args); end
742
-
743
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
744
- def limit(*args); end
745
-
746
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
747
- def offset(*args); end
748
-
749
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
750
- def joins(*args); end
751
-
752
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
753
- def left_joins(*args); end
754
-
755
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
756
- def left_outer_joins(*args); end
757
-
758
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
759
- def where(*args); end
760
-
761
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
762
- def rewhere(*args); end
763
-
764
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
765
- def preload(*args); end
766
-
767
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
768
- def extract_associated(*args); end
769
-
770
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
771
- def eager_load(*args); end
772
-
773
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
774
- def includes(*args); end
775
-
776
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
777
- def from(*args); end
778
-
779
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
780
- def lock(*args); end
781
-
782
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
783
- def readonly(*args); end
784
-
785
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
786
- def or(*args); end
787
-
788
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
789
- def having(*args); end
790
-
791
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
792
- def create_with(*args); end
793
-
794
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
795
- def distinct(*args); end
796
-
797
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
798
- def references(*args); end
799
-
800
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
801
- def none(*args); end
802
-
803
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
804
- def unscope(*args); end
805
-
806
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
807
- def optimizer_hints(*args); end
808
-
809
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
810
- def merge(*args); end
811
-
812
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
813
- def except(*args); end
814
-
815
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
816
- def only(*args); end
817
-
818
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
819
- def extending(*args, &block); end
820
-
821
- sig { params(conditions: T.untyped).returns(T::Boolean) }
822
- def exists?(conditions = nil); end
823
-
824
- sig { params(args: T.untyped).returns(T::Boolean) }
825
- def any?(*args); end
826
-
827
- sig { params(args: T.untyped).returns(T::Boolean) }
828
- def many?(*args); end
829
-
830
- sig { params(args: T.untyped).returns(T::Boolean) }
831
- def none?(*args); end
832
-
833
- sig { params(args: T.untyped).returns(T::Boolean) }
834
- def one?(*args); end
835
-
836
- sig { params(args: T.untyped).returns(T::Boolean) }
837
- def empty?(*args); end
838
598
  end
839
599
 
840
600
  class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
841
601
  include Wizard::ActiveRelation_WhereNot
842
602
  include Wizard::CustomFinderMethods
843
- include Enumerable
844
- extend T::Sig
845
- extend T::Generic
603
+ include Wizard::QueryMethodsReturningAssociationRelation
846
604
  Elem = type_member(fixed: Wizard)
847
605
 
848
606
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
@@ -955,201 +713,11 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
955
713
 
956
714
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
957
715
  def with_attached_school_photo(*args); end
958
-
959
- sig { returns(Wizard::ActiveRecord_AssociationRelation) }
960
- def all; end
961
-
962
- sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
963
- def unscoped(&block); end
964
-
965
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
966
- def select(*args); end
967
-
968
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
969
- def reselect(*args); end
970
-
971
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
972
- def order(*args); end
973
-
974
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
975
- def reorder(*args); end
976
-
977
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
978
- def group(*args); end
979
-
980
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
981
- def limit(*args); end
982
-
983
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
984
- def offset(*args); end
985
-
986
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
987
- def joins(*args); end
988
-
989
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
990
- def left_joins(*args); end
991
-
992
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
993
- def left_outer_joins(*args); end
994
-
995
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
996
- def where(*args); end
997
-
998
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
999
- def rewhere(*args); end
1000
-
1001
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1002
- def preload(*args); end
1003
-
1004
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1005
- def extract_associated(*args); end
1006
-
1007
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1008
- def eager_load(*args); end
1009
-
1010
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1011
- def includes(*args); end
1012
-
1013
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1014
- def from(*args); end
1015
-
1016
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1017
- def lock(*args); end
1018
-
1019
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1020
- def readonly(*args); end
1021
-
1022
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1023
- def or(*args); end
1024
-
1025
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1026
- def having(*args); end
1027
-
1028
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1029
- def create_with(*args); end
1030
-
1031
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1032
- def distinct(*args); end
1033
-
1034
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1035
- def references(*args); end
1036
-
1037
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1038
- def none(*args); end
1039
-
1040
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1041
- def unscope(*args); end
1042
-
1043
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1044
- def optimizer_hints(*args); end
1045
-
1046
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1047
- def merge(*args); end
1048
-
1049
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1050
- def except(*args); end
1051
-
1052
- sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1053
- def only(*args); end
1054
-
1055
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
1056
- def extending(*args, &block); end
1057
-
1058
- sig { params(args: T.untyped).returns(Wizard) }
1059
- def find(*args); end
1060
-
1061
- sig { params(args: T.untyped).returns(T.nilable(Wizard)) }
1062
- def find_by(*args); end
1063
-
1064
- sig { params(args: T.untyped).returns(Wizard) }
1065
- def find_by!(*args); end
1066
-
1067
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1068
- def find_or_initialize_by(attributes, &block); end
1069
-
1070
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1071
- def find_or_create_by(attributes, &block); end
1072
-
1073
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1074
- def find_or_create_by!(attributes, &block); end
1075
-
1076
- sig { returns(T.nilable(Wizard)) }
1077
- def first; end
1078
-
1079
- sig { returns(Wizard) }
1080
- def first!; end
1081
-
1082
- sig { returns(T.nilable(Wizard)) }
1083
- def second; end
1084
-
1085
- sig { returns(Wizard) }
1086
- def second!; end
1087
-
1088
- sig { returns(T.nilable(Wizard)) }
1089
- def third; end
1090
-
1091
- sig { returns(Wizard) }
1092
- def third!; end
1093
-
1094
- sig { returns(T.nilable(Wizard)) }
1095
- def third_to_last; end
1096
-
1097
- sig { returns(Wizard) }
1098
- def third_to_last!; end
1099
-
1100
- sig { returns(T.nilable(Wizard)) }
1101
- def second_to_last; end
1102
-
1103
- sig { returns(Wizard) }
1104
- def second_to_last!; end
1105
-
1106
- sig { returns(T.nilable(Wizard)) }
1107
- def last; end
1108
-
1109
- sig { returns(Wizard) }
1110
- def last!; end
1111
-
1112
- sig { params(conditions: T.untyped).returns(T::Boolean) }
1113
- def exists?(conditions = nil); end
1114
-
1115
- sig { params(args: T.untyped).returns(T::Boolean) }
1116
- def any?(*args); end
1117
-
1118
- sig { params(args: T.untyped).returns(T::Boolean) }
1119
- def many?(*args); end
1120
-
1121
- sig { params(args: T.untyped).returns(T::Boolean) }
1122
- def none?(*args); end
1123
-
1124
- sig { params(args: T.untyped).returns(T::Boolean) }
1125
- def one?(*args); end
1126
-
1127
- sig { params(args: T.untyped).returns(T::Boolean) }
1128
- def empty?(*args); end
1129
-
1130
- sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
1131
- def each(&block); end
1132
-
1133
- sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
1134
- def flatten(level); end
1135
-
1136
- sig { returns(T::Array[Wizard]) }
1137
- def to_a; end
1138
-
1139
- sig do
1140
- type_parameters(:U).params(
1141
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
1142
- )
1143
- .returns(T::Array[T.type_parameter(:U)])
1144
- end
1145
- def map(&blk); end
1146
716
  end
1147
717
 
1148
718
  class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
1149
719
  include Wizard::CustomFinderMethods
1150
- include Enumerable
1151
- extend T::Sig
1152
- extend T::Generic
720
+ include Wizard::QueryMethodsReturningAssociationRelation
1153
721
  Elem = type_member(fixed: Wizard)
1154
722
 
1155
723
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
@@ -1263,10 +831,137 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
1263
831
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1264
832
  def with_attached_school_photo(*args); end
1265
833
 
834
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
835
+ def <<(*records); end
836
+
837
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
838
+ def append(*records); end
839
+
840
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
841
+ def push(*records); end
842
+
843
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
844
+ def concat(*records); end
845
+ end
846
+
847
+ module Wizard::QueryMethodsReturningRelation
848
+ sig { returns(Wizard::ActiveRecord_Relation) }
849
+ def all; end
850
+
851
+ sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
852
+ def unscoped(&block); end
853
+
854
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
855
+ def select(*args); end
856
+
857
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
858
+ def reselect(*args); end
859
+
860
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
861
+ def order(*args); end
862
+
863
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
864
+ def reorder(*args); end
865
+
866
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
867
+ def group(*args); end
868
+
869
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
870
+ def limit(*args); end
871
+
872
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
873
+ def offset(*args); end
874
+
875
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
876
+ def joins(*args); end
877
+
878
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
879
+ def left_joins(*args); end
880
+
881
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
882
+ def left_outer_joins(*args); end
883
+
884
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
885
+ def where(*args); end
886
+
887
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
888
+ def rewhere(*args); end
889
+
890
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
891
+ def preload(*args); end
892
+
893
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
894
+ def extract_associated(*args); end
895
+
896
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
897
+ def eager_load(*args); end
898
+
899
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
900
+ def includes(*args); end
901
+
902
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
903
+ def from(*args); end
904
+
905
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
906
+ def lock(*args); end
907
+
908
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
909
+ def readonly(*args); end
910
+
911
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
912
+ def or(*args); end
913
+
914
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
915
+ def having(*args); end
916
+
917
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
918
+ def create_with(*args); end
919
+
920
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
921
+ def distinct(*args); end
922
+
923
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
924
+ def references(*args); end
925
+
926
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
927
+ def none(*args); end
928
+
929
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
930
+ def unscope(*args); end
931
+
932
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
933
+ def optimizer_hints(*args); end
934
+
935
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
936
+ def merge(*args); end
937
+
938
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
939
+ def except(*args); end
940
+
941
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
942
+ def only(*args); end
943
+
944
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
945
+ def extending(*args, &block); end
946
+
947
+ sig do
948
+ params(
949
+ of: T.nilable(Integer),
950
+ start: T.nilable(Integer),
951
+ finish: T.nilable(Integer),
952
+ load: T.nilable(T::Boolean),
953
+ error_on_ignore: T.nilable(T::Boolean),
954
+ block: T.nilable(T.proc.params(e: Wizard::ActiveRecord_Relation).void)
955
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
956
+ end
957
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
958
+ end
959
+
960
+ module Wizard::QueryMethodsReturningAssociationRelation
1266
961
  sig { returns(Wizard::ActiveRecord_AssociationRelation) }
1267
962
  def all; end
1268
963
 
1269
- sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
964
+ sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
1270
965
  def unscoped(&block); end
1271
966
 
1272
967
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
@@ -1362,120 +1057,35 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
1362
1057
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
1363
1058
  def extending(*args, &block); end
1364
1059
 
1365
- sig { params(args: T.untyped).returns(Wizard) }
1366
- def find(*args); end
1367
-
1368
- sig { params(args: T.untyped).returns(T.nilable(Wizard)) }
1369
- def find_by(*args); end
1370
-
1371
- sig { params(args: T.untyped).returns(Wizard) }
1372
- def find_by!(*args); end
1373
-
1374
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1375
- def find_or_initialize_by(attributes, &block); end
1376
-
1377
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1378
- def find_or_create_by(attributes, &block); end
1379
-
1380
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1381
- def find_or_create_by!(attributes, &block); end
1382
-
1383
- sig { returns(T.nilable(Wizard)) }
1384
- def first; end
1385
-
1386
- sig { returns(Wizard) }
1387
- def first!; end
1388
-
1389
- sig { returns(T.nilable(Wizard)) }
1390
- def second; end
1391
-
1392
- sig { returns(Wizard) }
1393
- def second!; end
1394
-
1395
- sig { returns(T.nilable(Wizard)) }
1396
- def third; end
1397
-
1398
- sig { returns(Wizard) }
1399
- def third!; end
1400
-
1401
- sig { returns(T.nilable(Wizard)) }
1402
- def third_to_last; end
1403
-
1404
- sig { returns(Wizard) }
1405
- def third_to_last!; end
1406
-
1407
- sig { returns(T.nilable(Wizard)) }
1408
- def second_to_last; end
1409
-
1410
- sig { returns(Wizard) }
1411
- def second_to_last!; end
1412
-
1413
- sig { returns(T.nilable(Wizard)) }
1414
- def last; end
1415
-
1416
- sig { returns(Wizard) }
1417
- def last!; end
1418
-
1419
- sig { params(conditions: T.untyped).returns(T::Boolean) }
1420
- def exists?(conditions = nil); end
1421
-
1422
- sig { params(args: T.untyped).returns(T::Boolean) }
1423
- def any?(*args); end
1424
-
1425
- sig { params(args: T.untyped).returns(T::Boolean) }
1426
- def many?(*args); end
1427
-
1428
- sig { params(args: T.untyped).returns(T::Boolean) }
1429
- def none?(*args); end
1430
-
1431
- sig { params(args: T.untyped).returns(T::Boolean) }
1432
- def one?(*args); end
1433
-
1434
- sig { params(args: T.untyped).returns(T::Boolean) }
1435
- def empty?(*args); end
1436
-
1437
- sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
1438
- def each(&block); end
1439
-
1440
- sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
1441
- def flatten(level); end
1442
-
1443
- sig { returns(T::Array[Wizard]) }
1444
- def to_a; end
1445
-
1446
1060
  sig do
1447
- type_parameters(:U).params(
1448
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
1449
- )
1450
- .returns(T::Array[T.type_parameter(:U)])
1061
+ params(
1062
+ of: T.nilable(Integer),
1063
+ start: T.nilable(Integer),
1064
+ finish: T.nilable(Integer),
1065
+ load: T.nilable(T::Boolean),
1066
+ error_on_ignore: T.nilable(T::Boolean),
1067
+ block: T.nilable(T.proc.params(e: Wizard::ActiveRecord_AssociationRelation).void)
1068
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
1451
1069
  end
1452
- def map(&blk); end
1453
-
1454
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1455
- def <<(*records); end
1456
-
1457
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1458
- def append(*records); end
1459
-
1460
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1461
- def push(*records); end
1462
-
1463
- sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1464
- def concat(*records); end
1070
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
1465
1071
  end
1466
1072
 
1467
1073
  module Wizard::GeneratedAssociationMethods
1468
- extend T::Sig
1469
-
1470
1074
  sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
1471
1075
  def hats_attachments; end
1472
1076
 
1077
+ sig { returns(T::Array[Integer]) }
1078
+ def hats_attachment_ids; end
1079
+
1473
1080
  sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
1474
1081
  def hats_attachments=(value); end
1475
1082
 
1476
1083
  sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
1477
1084
  def hats_blobs; end
1478
1085
 
1086
+ sig { returns(T::Array[Integer]) }
1087
+ def hats_blob_ids; end
1088
+
1479
1089
  sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
1480
1090
  def hats_blobs=(value); end
1481
1091
 
@@ -1500,9 +1110,21 @@ module Wizard::GeneratedAssociationMethods
1500
1110
  sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
1501
1111
  def spell_books; end
1502
1112
 
1113
+ sig { returns(T::Array[Integer]) }
1114
+ def spell_book_ids; end
1115
+
1503
1116
  sig { params(value: T::Enumerable[::SpellBook]).void }
1504
1117
  def spell_books=(value); end
1505
1118
 
1119
+ sig { returns(::Subject::ActiveRecord_Associations_CollectionProxy) }
1120
+ def subjects; end
1121
+
1122
+ sig { returns(T::Array[Integer]) }
1123
+ def subject_ids; end
1124
+
1125
+ sig { params(value: T::Enumerable[::Subject]).void }
1126
+ def subjects=(value); end
1127
+
1506
1128
  sig { returns(T.nilable(::Wand)) }
1507
1129
  def wand; end
1508
1130
 
@@ -1519,5 +1141,5 @@ module Wizard::GeneratedAssociationMethods
1519
1141
  def hats; end
1520
1142
 
1521
1143
  sig { params(attachables: T.untyped).returns(T.untyped) }
1522
- def hats=(*attachables); end
1144
+ def hats=(attachables); end
1523
1145
  end