sorbet-rails 0.7.33 → 0.7.34

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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci-master.yml +1 -1
  3. data/.github/workflows/ci.yml +1 -1
  4. data/CONTRIBUTING.md +1 -0
  5. data/Gemfile +4 -0
  6. data/README.md +1 -1
  7. data/Rakefile +27 -1
  8. data/lib/sorbet-rails/active_record_rbi_formatter.rb +1 -1
  9. data/lib/sorbet-rails/model_plugins/active_record_querying.rb +14 -0
  10. data/lib/sorbet-rails/rails_mixins/active_record_overrides.rb +1 -1
  11. data/lib/sorbet-rails/tasks/rails_rbi.rake +15 -0
  12. data/sorbet-rails.gemspec +1 -1
  13. data/spec/bin/run_all_specs.sh +1 -0
  14. data/spec/generators/rails-template.rb +2 -7
  15. data/spec/rails_helper.rb +2 -0
  16. data/spec/rake_rails_rbi_models_spec.rb +1 -1
  17. data/spec/support/v5.2/sorbet_test_cases.rb +8 -0
  18. data/spec/support/v6.0/sorbet_test_cases.rb +8 -0
  19. data/spec/support/v6.1/sorbet_test_cases.rb +8 -0
  20. data/spec/support/v7.0/.gitattributes +7 -0
  21. data/spec/support/v7.0/.gitignore +35 -0
  22. data/spec/support/v7.0/Gemfile +48 -0
  23. data/spec/support/v7.0/Gemfile.lock +218 -0
  24. data/spec/support/v7.0/README.md +24 -0
  25. data/spec/support/v7.0/Rakefile +6 -0
  26. data/spec/support/v7.0/app/assets/images/.keep +0 -0
  27. data/spec/support/v7.0/app/assets/stylesheets/application.css +1 -0
  28. data/spec/support/v7.0/app/controllers/application_controller.rb +3 -0
  29. data/spec/support/v7.0/app/controllers/concerns/.keep +0 -0
  30. data/spec/support/v7.0/app/helpers/application_helper.rb +3 -0
  31. data/spec/support/v7.0/app/helpers/bar_helper.rb +3 -0
  32. data/spec/support/v7.0/app/helpers/baz_helper.rb +3 -0
  33. data/spec/support/v7.0/app/helpers/foo_helper.rb +3 -0
  34. data/spec/support/v7.0/app/jobs/application_job.rb +8 -0
  35. data/spec/support/v7.0/app/jobs/award_house_point_hourglasses.rb +12 -0
  36. data/spec/support/v7.0/app/mailers/application_mailer.rb +5 -0
  37. data/spec/support/v7.0/app/mailers/daily_prophet_mailer.rb +9 -0
  38. data/spec/support/v7.0/app/mailers/hogwarts_acceptance_mailer.rb +29 -0
  39. data/spec/support/v7.0/app/models/application_record.rb +4 -0
  40. data/spec/support/v7.0/app/models/concerns/.keep +0 -0
  41. data/spec/support/v7.0/app/models/concerns/mythical.rb +11 -0
  42. data/spec/support/v7.0/app/models/headmaster.rb +8 -0
  43. data/spec/support/v7.0/app/models/potion.rb +6 -0
  44. data/spec/support/v7.0/app/models/robe.rb +4 -0
  45. data/spec/support/v7.0/app/models/school.rb +5 -0
  46. data/spec/support/v7.0/app/models/spell.rb +5 -0
  47. data/spec/support/v7.0/app/models/spell_book.rb +18 -0
  48. data/spec/support/v7.0/app/models/squib.rb +6 -0
  49. data/spec/support/v7.0/app/models/subject.rb +5 -0
  50. data/spec/support/v7.0/app/models/wand.rb +19 -0
  51. data/spec/support/v7.0/app/models/wizard.rb +65 -0
  52. data/spec/support/v7.0/app/views/layouts/application.html.erb +15 -0
  53. data/spec/support/v7.0/app/views/layouts/mailer.html.erb +13 -0
  54. data/spec/support/v7.0/app/views/layouts/mailer.text.erb +1 -0
  55. data/spec/support/v7.0/bin/bundle +114 -0
  56. data/spec/support/v7.0/bin/rails +4 -0
  57. data/spec/support/v7.0/bin/rake +4 -0
  58. data/spec/support/v7.0/bin/setup +33 -0
  59. data/spec/support/v7.0/config/application.rb +38 -0
  60. data/spec/support/v7.0/config/boot.rb +4 -0
  61. data/spec/support/v7.0/config/database.yml +25 -0
  62. data/spec/support/v7.0/config/environment.rb +6 -0
  63. data/spec/support/v7.0/config/environments/development.rb +69 -0
  64. data/spec/support/v7.0/config/environments/production.rb +83 -0
  65. data/spec/support/v7.0/config/environments/test.rb +61 -0
  66. data/spec/support/v7.0/config/initializers/content_security_policy.rb +26 -0
  67. data/spec/support/v7.0/config/initializers/filter_parameter_logging.rb +9 -0
  68. data/spec/support/v7.0/config/initializers/inflections.rb +17 -0
  69. data/spec/support/v7.0/config/initializers/permissions_policy.rb +12 -0
  70. data/spec/support/v7.0/config/initializers/sorbet_rails.rb +3 -0
  71. data/spec/support/v7.0/config/locales/en.yml +33 -0
  72. data/spec/support/v7.0/config/puma.rb +44 -0
  73. data/spec/support/v7.0/config/routes.rb +8 -0
  74. data/spec/support/v7.0/config/storage.yml +34 -0
  75. data/spec/support/v7.0/config.ru +6 -0
  76. data/spec/support/v7.0/db/migrate/20190620000001_create_wizards.rb +14 -0
  77. data/spec/support/v7.0/db/migrate/20190620000002_create_wands.rb +12 -0
  78. data/spec/support/v7.0/db/migrate/20190620000003_create_spell_books.rb +10 -0
  79. data/spec/support/v7.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +14 -0
  80. data/spec/support/v7.0/db/migrate/20190620000005_add_broom_to_wizard.rb +6 -0
  81. data/spec/support/v7.0/db/migrate/20190620000006_add_more_enums_to_wizard.rb +9 -0
  82. data/spec/support/v7.0/db/migrate/20190620000007_add_type_to_wizard.rb +6 -0
  83. data/spec/support/v7.0/db/migrate/20190620000008_add_robe_to_wizard.rb +8 -0
  84. data/spec/support/v7.0/db/migrate/20190620000009_add_school.rb +10 -0
  85. data/spec/support/v7.0/db/migrate/20190620000010_add_subject.rb +8 -0
  86. data/spec/support/v7.0/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  87. data/spec/support/v7.0/db/migrate/20190620000012_add_spell.rb +8 -0
  88. data/spec/support/v7.0/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  89. data/spec/support/v7.0/db/migrate/20190620000014_create_headmasters.rb +9 -0
  90. data/spec/support/v7.0/db/migrate/20190620000015_add_serialized_to_wizards.rb +9 -0
  91. data/spec/support/v7.0/db/schema.rb +98 -0
  92. data/spec/support/v7.0/db/seeds.rb +8 -0
  93. data/spec/support/v7.0/lib/assets/.keep +0 -0
  94. data/spec/support/v7.0/lib/mythical_rbi_plugin.rb +16 -0
  95. data/spec/support/v7.0/lib/tasks/.keep +0 -0
  96. data/spec/support/v7.0/log/.keep +0 -0
  97. data/spec/support/v7.0/sorbet_test_cases.rb +439 -0
  98. data/spec/support/v7.0/storage/.keep +0 -0
  99. data/spec/support/v7.0/tmp/.keep +0 -0
  100. data/spec/support/v7.0/tmp/pids/.keep +0 -0
  101. data/spec/support/v7.0/tmp/storage/.keep +0 -0
  102. data/spec/support/v7.0/vendor/.keep +0 -0
  103. data/spec/test_data/v5.2/expected_active_record_base.rbi +6 -0
  104. data/spec/test_data/v5.2/expected_active_record_relation.rbi +6 -0
  105. data/spec/test_data/v6.0/expected_active_record_base.rbi +6 -0
  106. data/spec/test_data/v6.0/expected_active_record_relation.rbi +6 -0
  107. data/spec/test_data/v6.1/expected_active_record_base.rbi +6 -0
  108. data/spec/test_data/v6.1/expected_active_record_relation.rbi +6 -0
  109. data/spec/test_data/v7.0/expected_active_record_base.rbi +119 -0
  110. data/spec/test_data/v7.0/expected_active_record_relation.rbi +180 -0
  111. data/spec/test_data/v7.0/expected_application_job.rbi +20 -0
  112. data/spec/test_data/v7.0/expected_application_mailer.rbi +5 -0
  113. data/spec/test_data/v7.0/expected_attachment.rbi +358 -0
  114. data/spec/test_data/v7.0/expected_award_house_point_hourglasses.rbi +20 -0
  115. data/spec/test_data/v7.0/expected_blob.rbi +394 -0
  116. data/spec/test_data/v7.0/expected_custom_application_job.rbi +21 -0
  117. data/spec/test_data/v7.0/expected_custom_application_mailer.rbi +6 -0
  118. data/spec/test_data/v7.0/expected_custom_award_house_point_hourglasses.rbi +21 -0
  119. data/spec/test_data/v7.0/expected_custom_daily_prophet_mailer.rbi +8 -0
  120. data/spec/test_data/v7.0/expected_custom_hogwarts_acceptance_mailer.rbi +21 -0
  121. data/spec/test_data/v7.0/expected_daily_prophet_mailer.rbi +7 -0
  122. data/spec/test_data/v7.0/expected_headmaster.rbi +376 -0
  123. data/spec/test_data/v7.0/expected_helpers.rbi +27 -0
  124. data/spec/test_data/v7.0/expected_helpers_with_application_and_devise_helpers.rbi +34 -0
  125. data/spec/test_data/v7.0/expected_hogwarts_acceptance_mailer.rbi +20 -0
  126. data/spec/test_data/v7.0/expected_internal_metadata.rbi +346 -0
  127. data/spec/test_data/v7.0/expected_no_routes.rbi +4 -0
  128. data/spec/test_data/v7.0/expected_potion.rbi +328 -0
  129. data/spec/test_data/v7.0/expected_record.rbi +307 -0
  130. data/spec/test_data/v7.0/expected_robe.rbi +349 -0
  131. data/spec/test_data/v7.0/expected_routes.rbi +182 -0
  132. data/spec/test_data/v7.0/expected_schema_migration.rbi +319 -0
  133. data/spec/test_data/v7.0/expected_school.rbi +349 -0
  134. data/spec/test_data/v7.0/expected_spell/habtm_spell_books.rbi +367 -0
  135. data/spec/test_data/v7.0/expected_spell.rbi +340 -0
  136. data/spec/test_data/v7.0/expected_spell_book/habtm_spells.rbi +367 -0
  137. data/spec/test_data/v7.0/expected_spell_book.rbi +499 -0
  138. data/spec/test_data/v7.0/expected_squib.rbi +1204 -0
  139. data/spec/test_data/v7.0/expected_srb_tc_output.txt +1 -0
  140. data/spec/test_data/v7.0/expected_subject/habtm_wizards.rbi +367 -0
  141. data/spec/test_data/v7.0/expected_subject.rbi +340 -0
  142. data/spec/test_data/v7.0/expected_variant_record.rbi +382 -0
  143. data/spec/test_data/v7.0/expected_wand.rbi +611 -0
  144. data/spec/test_data/v7.0/expected_wizard/habtm_subjects.rbi +367 -0
  145. data/spec/test_data/v7.0/expected_wizard.rbi +1280 -0
  146. data/spec/test_data/v7.0/expected_wizard_wo_spellbook.rbi +1274 -0
  147. metadata +243 -1
@@ -0,0 +1,1280 @@
1
+ # This is an autogenerated file for dynamic methods in Wizard
2
+ # Please rerun bundle exec rake rails_rbi:models[Wizard] to regenerate.
3
+
4
+ # typed: strong
5
+ module Wizard::EnumInstanceMethods
6
+ sig { returns(T::Boolean) }
7
+ def broom_nimbus?; end
8
+
9
+ sig { void }
10
+ def broom_nimbus!; end
11
+
12
+ sig { returns(T::Boolean) }
13
+ def broom_firebolt?; end
14
+
15
+ sig { void }
16
+ def broom_firebolt!; end
17
+
18
+ sig { returns(T::Boolean) }
19
+ def color_brown_eyes?; end
20
+
21
+ sig { void }
22
+ def color_brown_eyes!; end
23
+
24
+ sig { returns(T::Boolean) }
25
+ def color_green_eyes?; end
26
+
27
+ sig { void }
28
+ def color_green_eyes!; end
29
+
30
+ sig { returns(T::Boolean) }
31
+ def color_blue_eyes?; end
32
+
33
+ sig { void }
34
+ def color_blue_eyes!; end
35
+
36
+ sig { returns(T::Boolean) }
37
+ def brown_hair?; end
38
+
39
+ sig { void }
40
+ def brown_hair!; end
41
+
42
+ sig { returns(T::Boolean) }
43
+ def black_hair?; end
44
+
45
+ sig { void }
46
+ def black_hair!; end
47
+
48
+ sig { returns(T::Boolean) }
49
+ def blonde_hair?; end
50
+
51
+ sig { void }
52
+ def blonde_hair!; end
53
+
54
+ sig { returns(T::Boolean) }
55
+ def Gryffindor?; end
56
+
57
+ sig { void }
58
+ def Gryffindor!; end
59
+
60
+ sig { returns(T::Boolean) }
61
+ def Hufflepuff?; end
62
+
63
+ sig { void }
64
+ def Hufflepuff!; end
65
+
66
+ sig { returns(T::Boolean) }
67
+ def Ravenclaw?; end
68
+
69
+ sig { void }
70
+ def Ravenclaw!; end
71
+
72
+ sig { returns(T::Boolean) }
73
+ def Slytherin?; end
74
+
75
+ sig { void }
76
+ def Slytherin!; end
77
+
78
+ sig { returns(T::Boolean) }
79
+ def Hagrid?; end
80
+
81
+ sig { void }
82
+ def Hagrid!; end
83
+
84
+ sig { returns(T::Boolean) }
85
+ def quidditch_keeper?; end
86
+
87
+ sig { void }
88
+ def quidditch_keeper!; end
89
+
90
+ sig { returns(T::Boolean) }
91
+ def quidditch_seeker?; end
92
+
93
+ sig { void }
94
+ def quidditch_seeker!; end
95
+
96
+ sig { returns(T::Boolean) }
97
+ def quidditch_beater?; end
98
+
99
+ sig { void }
100
+ def quidditch_beater!; end
101
+
102
+ sig { returns(T::Boolean) }
103
+ def quidditch_chaser?; end
104
+
105
+ sig { void }
106
+ def quidditch_chaser!; end
107
+ end
108
+
109
+ module Wizard::ActiveRelation_WhereNot
110
+ sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) }
111
+ def not(opts, *rest); end
112
+ end
113
+
114
+ module Wizard::GeneratedSerializedAttributeMethods
115
+ sig { returns(T.nilable(T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String))) }
116
+ def newt_subjects; end
117
+
118
+ sig { params(value: T.nilable(T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String))).void }
119
+ def newt_subjects=(value); end
120
+
121
+ sig { returns(T::Boolean) }
122
+ def newt_subjects?; end
123
+
124
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
125
+ def owl_results; end
126
+
127
+ sig { params(value: T.nilable(T::Hash[T.untyped, T.untyped])).void }
128
+ def owl_results=(value); end
129
+
130
+ sig { returns(T::Boolean) }
131
+ def owl_results?; end
132
+
133
+ sig { returns(T.nilable(ActiveRecord::Coders::JSON)) }
134
+ def patronus_characteristics; end
135
+
136
+ sig { params(value: T.nilable(ActiveRecord::Coders::JSON)).void }
137
+ def patronus_characteristics=(value); end
138
+
139
+ sig { returns(T::Boolean) }
140
+ def patronus_characteristics?; end
141
+
142
+ sig { returns(T.nilable(T::Array[T.untyped])) }
143
+ def pets; end
144
+
145
+ sig { params(value: T.nilable(T::Array[T.untyped])).void }
146
+ def pets=(value); end
147
+
148
+ sig { returns(T::Boolean) }
149
+ def pets?; end
150
+ end
151
+
152
+ module Wizard::GeneratedAttributeMethods
153
+ sig { returns(T::Boolean) }
154
+ def broom?; end
155
+
156
+ sig { returns(ActiveSupport::TimeWithZone) }
157
+ def created_at; end
158
+
159
+ sig { params(value: T.any(Date, Time, ActiveSupport::TimeWithZone)).void }
160
+ def created_at=(value); end
161
+
162
+ sig { returns(T::Boolean) }
163
+ def created_at?; end
164
+
165
+ sig { returns(T.nilable(String)) }
166
+ def eye_color; end
167
+
168
+ sig { params(value: T.nilable(T.any(Integer, String, Symbol))).void }
169
+ def eye_color=(value); end
170
+
171
+ sig { returns(T::Boolean) }
172
+ def eye_color?; end
173
+
174
+ sig { returns(T.nilable(String)) }
175
+ def hair_color; end
176
+
177
+ sig { params(value: T.nilable(T.any(Integer, String, Symbol))).void }
178
+ def hair_color=(value); end
179
+
180
+ sig { returns(T::Boolean) }
181
+ def hair_color?; end
182
+
183
+ sig { returns(T.nilable(Integer)) }
184
+ def hair_length; end
185
+
186
+ sig { params(value: T.nilable(T.any(Numeric, ActiveSupport::Duration))).void }
187
+ def hair_length=(value); end
188
+
189
+ sig { returns(T::Boolean) }
190
+ def hair_length?; end
191
+
192
+ sig { returns(T::Boolean) }
193
+ def house?; end
194
+
195
+ sig { returns(Integer) }
196
+ def id; end
197
+
198
+ sig { params(value: T.any(Numeric, ActiveSupport::Duration)).void }
199
+ def id=(value); end
200
+
201
+ sig { returns(T::Boolean) }
202
+ def id?; end
203
+
204
+ sig { returns(String) }
205
+ def name; end
206
+
207
+ sig { params(value: T.any(String, Symbol)).void }
208
+ def name=(value); end
209
+
210
+ sig { returns(T::Boolean) }
211
+ def name?; end
212
+
213
+ sig { returns(T.nilable(String)) }
214
+ def notes; end
215
+
216
+ sig { params(value: T.nilable(T.any(String, Symbol))).void }
217
+ def notes=(value); end
218
+
219
+ sig { returns(T::Boolean) }
220
+ def notes?; end
221
+
222
+ sig { returns(T.nilable(String)) }
223
+ def parent_email; end
224
+
225
+ sig { params(value: T.nilable(T.any(String, Symbol))).void }
226
+ def parent_email=(value); end
227
+
228
+ sig { returns(T::Boolean) }
229
+ def parent_email?; end
230
+
231
+ sig { returns(T.nilable(String)) }
232
+ def professor; end
233
+
234
+ sig { params(value: T.nilable(T.any(Integer, String, Symbol))).void }
235
+ def professor=(value); end
236
+
237
+ sig { returns(T::Boolean) }
238
+ def professor?; end
239
+
240
+ sig { returns(T::Boolean) }
241
+ def quidditch_position?; end
242
+
243
+ sig { returns(T.nilable(Integer)) }
244
+ def school_id; end
245
+
246
+ sig { params(value: T.nilable(T.any(Numeric, ActiveSupport::Duration))).void }
247
+ def school_id=(value); end
248
+
249
+ sig { returns(T::Boolean) }
250
+ def school_id?; end
251
+
252
+ sig { returns(String) }
253
+ def type; end
254
+
255
+ sig { params(value: T.any(String, Symbol)).void }
256
+ def type=(value); end
257
+
258
+ sig { returns(T::Boolean) }
259
+ def type?; end
260
+
261
+ sig { returns(ActiveSupport::TimeWithZone) }
262
+ def updated_at; end
263
+
264
+ sig { params(value: T.any(Date, Time, ActiveSupport::TimeWithZone)).void }
265
+ def updated_at=(value); end
266
+
267
+ sig { returns(T::Boolean) }
268
+ def updated_at?; end
269
+ end
270
+
271
+ module Wizard::GeneratedAssociationMethods
272
+ sig { returns(T.nilable(::School)) }
273
+ def school; end
274
+
275
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
276
+ def build_school(*args, &block); end
277
+
278
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
279
+ def create_school(*args, &block); end
280
+
281
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
282
+ def create_school!(*args, &block); end
283
+
284
+ sig { params(value: T.nilable(::School)).void }
285
+ def school=(value); end
286
+
287
+ sig { returns(T.nilable(::School)) }
288
+ def reload_school; end
289
+
290
+ sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
291
+ def spell_books; end
292
+
293
+ sig { returns(T::Array[Integer]) }
294
+ def spell_book_ids; end
295
+
296
+ sig { params(value: T::Enumerable[::SpellBook]).void }
297
+ def spell_books=(value); end
298
+
299
+ sig { returns(::Subject::ActiveRecord_Associations_CollectionProxy) }
300
+ def subjects; end
301
+
302
+ sig { returns(T::Array[Integer]) }
303
+ def subject_ids; end
304
+
305
+ sig { params(value: T::Enumerable[::Subject]).void }
306
+ def subjects=(value); end
307
+
308
+ sig { returns(T.nilable(::Wand)) }
309
+ def wand; end
310
+
311
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
312
+ def build_wand(*args, &block); end
313
+
314
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
315
+ def create_wand(*args, &block); end
316
+
317
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
318
+ def create_wand!(*args, &block); end
319
+
320
+ sig { params(value: T.nilable(::Wand)).void }
321
+ def wand=(value); end
322
+
323
+ sig { returns(T.nilable(::Wand)) }
324
+ def reload_wand; end
325
+ end
326
+
327
+ module Wizard::CustomFinderMethods
328
+ sig { params(limit: Integer).returns(T::Array[Wizard]) }
329
+ def first_n(limit); end
330
+
331
+ sig { params(limit: Integer).returns(T::Array[Wizard]) }
332
+ def last_n(limit); end
333
+
334
+ sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Wizard]) }
335
+ def find_n(*args); end
336
+
337
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(Wizard)) }
338
+ def find_by_id(id); end
339
+
340
+ sig { params(id: Integer).returns(Wizard) }
341
+ def find_by_id!(id); end
342
+ end
343
+
344
+ class Wizard < ApplicationRecord
345
+ include Wizard::EnumInstanceMethods
346
+ include Wizard::GeneratedSerializedAttributeMethods
347
+ include Wizard::GeneratedAttributeMethods
348
+ include Wizard::GeneratedAssociationMethods
349
+ extend Wizard::CustomFinderMethods
350
+ extend Wizard::QueryMethodsReturningRelation
351
+ RelationType = T.type_alias { T.any(Wizard::ActiveRecord_Relation, Wizard::ActiveRecord_Associations_CollectionProxy, Wizard::ActiveRecord_AssociationRelation) }
352
+
353
+ sig { returns(T::Hash[T.any(String, Symbol), String]) }
354
+ def self.brooms; end
355
+
356
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
357
+ def self.eye_colors; end
358
+
359
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
360
+ def self.hair_colors; end
361
+
362
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
363
+ def self.houses; end
364
+
365
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
366
+ def self.professors; end
367
+
368
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
369
+ def self.quidditch_positions; end
370
+
371
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
372
+ def self.Alastor_Mad_Eye_Moody(*args); end
373
+
374
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
375
+ def self.Filius_Flitwick(*args); end
376
+
377
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
378
+ def self.Gryffindor(*args); end
379
+
380
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
381
+ def self.Hagrid(*args); end
382
+
383
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
384
+ def self.Hufflepuff(*args); end
385
+
386
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
387
+ def self.Minerva_McGonagall(*args); end
388
+
389
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
390
+ def self.Pomona_Sprout(*args); end
391
+
392
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
393
+ def self.Ravenclaw(*args); end
394
+
395
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
396
+ def self.Severus_Snape(*args); end
397
+
398
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
399
+ def self.Slytherin(*args); end
400
+
401
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
402
+ def self.black_hair(*args); end
403
+
404
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
405
+ def self.blonde_hair(*args); end
406
+
407
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
408
+ def self.broom_firebolt(*args); end
409
+
410
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
411
+ def self.broom_nimbus(*args); end
412
+
413
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
414
+ def self.brown_hair(*args); end
415
+
416
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
417
+ def self.color_blue_eyes(*args); end
418
+
419
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
420
+ def self.color_brown_eyes(*args); end
421
+
422
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
423
+ def self.color_green_eyes(*args); end
424
+
425
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
426
+ def self.not_Alastor_Mad_Eye_Moody(*args); end
427
+
428
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
429
+ def self.not_Filius_Flitwick(*args); end
430
+
431
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
432
+ def self.not_Gryffindor(*args); end
433
+
434
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
435
+ def self.not_Hagrid(*args); end
436
+
437
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
438
+ def self.not_Hufflepuff(*args); end
439
+
440
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
441
+ def self.not_Minerva_McGonagall(*args); end
442
+
443
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
444
+ def self.not_Pomona_Sprout(*args); end
445
+
446
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
447
+ def self.not_Ravenclaw(*args); end
448
+
449
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
450
+ def self.not_Severus_Snape(*args); end
451
+
452
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
453
+ def self.not_Slytherin(*args); end
454
+
455
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
456
+ def self.not_black_hair(*args); end
457
+
458
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
459
+ def self.not_blonde_hair(*args); end
460
+
461
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
462
+ def self.not_broom_firebolt(*args); end
463
+
464
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
465
+ def self.not_broom_nimbus(*args); end
466
+
467
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
468
+ def self.not_brown_hair(*args); end
469
+
470
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
471
+ def self.not_color_blue_eyes(*args); end
472
+
473
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
474
+ def self.not_color_brown_eyes(*args); end
475
+
476
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
477
+ def self.not_color_green_eyes(*args); end
478
+
479
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
480
+ def self.not_quidditch_beater(*args); end
481
+
482
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
483
+ def self.not_quidditch_chaser(*args); end
484
+
485
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
486
+ def self.not_quidditch_keeper(*args); end
487
+
488
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
489
+ def self.not_quidditch_seeker(*args); end
490
+
491
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
492
+ def self.quidditch_beater(*args); end
493
+
494
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
495
+ def self.quidditch_chaser(*args); end
496
+
497
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
498
+ def self.quidditch_keeper(*args); end
499
+
500
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
501
+ def self.quidditch_seeker(*args); end
502
+
503
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
504
+ def self.recent(*args); end
505
+
506
+ sig { returns(T.nilable(Wizard::Broom)) }
507
+ def typed_broom; end
508
+
509
+ sig { params(value: T.nilable(Wizard::Broom)).void }
510
+ def typed_broom=(value); end
511
+
512
+ sig { returns(T.nilable(Wizard::EyeColor)) }
513
+ def typed_eye_color; end
514
+
515
+ sig { params(value: T.nilable(Wizard::EyeColor)).void }
516
+ def typed_eye_color=(value); end
517
+
518
+ sig { returns(T.nilable(Wizard::HairColor)) }
519
+ def typed_hair_color; end
520
+
521
+ sig { params(value: T.nilable(Wizard::HairColor)).void }
522
+ def typed_hair_color=(value); end
523
+
524
+ sig { returns(T.nilable(Wizard::House)) }
525
+ def typed_house; end
526
+
527
+ sig { params(value: T.nilable(Wizard::House)).void }
528
+ def typed_house=(value); end
529
+
530
+ sig { returns(T.nilable(Wizard::ProfessorEnum)) }
531
+ def typed_professor; end
532
+
533
+ sig { params(value: T.nilable(Wizard::ProfessorEnum)).void }
534
+ def typed_professor=(value); end
535
+
536
+ sig { returns(T.nilable(Wizard::QuidditchPosition)) }
537
+ def typed_quidditch_position; end
538
+
539
+ sig { params(value: T.nilable(Wizard::QuidditchPosition)).void }
540
+ def typed_quidditch_position=(value); end
541
+
542
+ class Broom < T::Enum
543
+ enums do
544
+ Nimbus = new(%q{nimbus})
545
+ Firebolt = new(%q{firebolt})
546
+ end
547
+
548
+ end
549
+
550
+ class EyeColor < T::Enum
551
+ enums do
552
+ Brown = new(%q{brown})
553
+ Green = new(%q{green})
554
+ Blue = new(%q{blue})
555
+ end
556
+
557
+ end
558
+
559
+ class HairColor < T::Enum
560
+ enums do
561
+ Brown = new(%q{brown})
562
+ Black = new(%q{black})
563
+ Blonde = new(%q{blonde})
564
+ end
565
+
566
+ end
567
+
568
+ class House < T::Enum
569
+ enums do
570
+ Gryffindor = new(%q{Gryffindor})
571
+ Hufflepuff = new(%q{Hufflepuff})
572
+ Ravenclaw = new(%q{Ravenclaw})
573
+ Slytherin = new(%q{Slytherin})
574
+ end
575
+
576
+ end
577
+
578
+ class ProfessorEnum < T::Enum
579
+ enums do
580
+ SeverusSnape = new(%q{Severus Snape})
581
+ MinervaMcGonagall = new(%q{Minerva McGonagall})
582
+ PomonaSprout = new(%q{Pomona Sprout})
583
+ FiliusFlitwick = new(%q{Filius Flitwick})
584
+ Hagrid = new(%q{Hagrid})
585
+ AlastorMadEyeMoody = new(%q{Alastor 'Mad-Eye' Moody})
586
+ end
587
+
588
+ end
589
+
590
+ class QuidditchPosition < T::Enum
591
+ enums do
592
+ Keeper = new(%q{keeper})
593
+ Seeker = new(%q{seeker})
594
+ Beater = new(%q{beater})
595
+ Chaser = new(%q{chaser})
596
+ end
597
+
598
+ end
599
+ end
600
+
601
+ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
602
+ include Wizard::ActiveRelation_WhereNot
603
+ include Wizard::CustomFinderMethods
604
+ include Wizard::QueryMethodsReturningRelation
605
+ Elem = type_member {{fixed: Wizard}}
606
+
607
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
608
+ def Alastor_Mad_Eye_Moody(*args); end
609
+
610
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
611
+ def Filius_Flitwick(*args); end
612
+
613
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
614
+ def Gryffindor(*args); end
615
+
616
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
617
+ def Hagrid(*args); end
618
+
619
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
620
+ def Hufflepuff(*args); end
621
+
622
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
623
+ def Minerva_McGonagall(*args); end
624
+
625
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
626
+ def Pomona_Sprout(*args); end
627
+
628
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
629
+ def Ravenclaw(*args); end
630
+
631
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
632
+ def Severus_Snape(*args); end
633
+
634
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
635
+ def Slytherin(*args); end
636
+
637
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
638
+ def black_hair(*args); end
639
+
640
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
641
+ def blonde_hair(*args); end
642
+
643
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
644
+ def broom_firebolt(*args); end
645
+
646
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
647
+ def broom_nimbus(*args); end
648
+
649
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
650
+ def brown_hair(*args); end
651
+
652
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
653
+ def color_blue_eyes(*args); end
654
+
655
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
656
+ def color_brown_eyes(*args); end
657
+
658
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
659
+ def color_green_eyes(*args); end
660
+
661
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
662
+ def not_Alastor_Mad_Eye_Moody(*args); end
663
+
664
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
665
+ def not_Filius_Flitwick(*args); end
666
+
667
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
668
+ def not_Gryffindor(*args); end
669
+
670
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
671
+ def not_Hagrid(*args); end
672
+
673
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
674
+ def not_Hufflepuff(*args); end
675
+
676
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
677
+ def not_Minerva_McGonagall(*args); end
678
+
679
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
680
+ def not_Pomona_Sprout(*args); end
681
+
682
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
683
+ def not_Ravenclaw(*args); end
684
+
685
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
686
+ def not_Severus_Snape(*args); end
687
+
688
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
689
+ def not_Slytherin(*args); end
690
+
691
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
692
+ def not_black_hair(*args); end
693
+
694
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
695
+ def not_blonde_hair(*args); end
696
+
697
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
698
+ def not_broom_firebolt(*args); end
699
+
700
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
701
+ def not_broom_nimbus(*args); end
702
+
703
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
704
+ def not_brown_hair(*args); end
705
+
706
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
707
+ def not_color_blue_eyes(*args); end
708
+
709
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
710
+ def not_color_brown_eyes(*args); end
711
+
712
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
713
+ def not_color_green_eyes(*args); end
714
+
715
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
716
+ def not_quidditch_beater(*args); end
717
+
718
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
719
+ def not_quidditch_chaser(*args); end
720
+
721
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
722
+ def not_quidditch_keeper(*args); end
723
+
724
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
725
+ def not_quidditch_seeker(*args); end
726
+
727
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
728
+ def quidditch_beater(*args); end
729
+
730
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
731
+ def quidditch_chaser(*args); end
732
+
733
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
734
+ def quidditch_keeper(*args); end
735
+
736
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
737
+ def quidditch_seeker(*args); end
738
+
739
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
740
+ def recent(*args); end
741
+ end
742
+
743
+ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
744
+ include Wizard::ActiveRelation_WhereNot
745
+ include Wizard::CustomFinderMethods
746
+ include Wizard::QueryMethodsReturningAssociationRelation
747
+ Elem = type_member {{fixed: Wizard}}
748
+
749
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
750
+ def Alastor_Mad_Eye_Moody(*args); end
751
+
752
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
753
+ def Filius_Flitwick(*args); end
754
+
755
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
756
+ def Gryffindor(*args); end
757
+
758
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
759
+ def Hagrid(*args); end
760
+
761
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
762
+ def Hufflepuff(*args); end
763
+
764
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
765
+ def Minerva_McGonagall(*args); end
766
+
767
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
768
+ def Pomona_Sprout(*args); end
769
+
770
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
771
+ def Ravenclaw(*args); end
772
+
773
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
774
+ def Severus_Snape(*args); end
775
+
776
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
777
+ def Slytherin(*args); end
778
+
779
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
780
+ def black_hair(*args); end
781
+
782
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
783
+ def blonde_hair(*args); end
784
+
785
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
786
+ def broom_firebolt(*args); end
787
+
788
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
789
+ def broom_nimbus(*args); end
790
+
791
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
792
+ def brown_hair(*args); end
793
+
794
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
795
+ def color_blue_eyes(*args); end
796
+
797
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
798
+ def color_brown_eyes(*args); end
799
+
800
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
801
+ def color_green_eyes(*args); end
802
+
803
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
804
+ def not_Alastor_Mad_Eye_Moody(*args); end
805
+
806
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
807
+ def not_Filius_Flitwick(*args); end
808
+
809
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
810
+ def not_Gryffindor(*args); end
811
+
812
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
813
+ def not_Hagrid(*args); end
814
+
815
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
816
+ def not_Hufflepuff(*args); end
817
+
818
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
819
+ def not_Minerva_McGonagall(*args); end
820
+
821
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
822
+ def not_Pomona_Sprout(*args); end
823
+
824
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
825
+ def not_Ravenclaw(*args); end
826
+
827
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
828
+ def not_Severus_Snape(*args); end
829
+
830
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
831
+ def not_Slytherin(*args); end
832
+
833
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
834
+ def not_black_hair(*args); end
835
+
836
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
837
+ def not_blonde_hair(*args); end
838
+
839
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
840
+ def not_broom_firebolt(*args); end
841
+
842
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
843
+ def not_broom_nimbus(*args); end
844
+
845
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
846
+ def not_brown_hair(*args); end
847
+
848
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
849
+ def not_color_blue_eyes(*args); end
850
+
851
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
852
+ def not_color_brown_eyes(*args); end
853
+
854
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
855
+ def not_color_green_eyes(*args); end
856
+
857
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
858
+ def not_quidditch_beater(*args); end
859
+
860
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
861
+ def not_quidditch_chaser(*args); end
862
+
863
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
864
+ def not_quidditch_keeper(*args); end
865
+
866
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
867
+ def not_quidditch_seeker(*args); end
868
+
869
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
870
+ def quidditch_beater(*args); end
871
+
872
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
873
+ def quidditch_chaser(*args); end
874
+
875
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
876
+ def quidditch_keeper(*args); end
877
+
878
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
879
+ def quidditch_seeker(*args); end
880
+
881
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
882
+ def recent(*args); end
883
+ end
884
+
885
+ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
886
+ include Wizard::CustomFinderMethods
887
+ include Wizard::QueryMethodsReturningAssociationRelation
888
+ Elem = type_member {{fixed: Wizard}}
889
+
890
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
891
+ def Alastor_Mad_Eye_Moody(*args); end
892
+
893
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
894
+ def Filius_Flitwick(*args); end
895
+
896
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
897
+ def Gryffindor(*args); end
898
+
899
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
900
+ def Hagrid(*args); end
901
+
902
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
903
+ def Hufflepuff(*args); end
904
+
905
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
906
+ def Minerva_McGonagall(*args); end
907
+
908
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
909
+ def Pomona_Sprout(*args); end
910
+
911
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
912
+ def Ravenclaw(*args); end
913
+
914
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
915
+ def Severus_Snape(*args); end
916
+
917
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
918
+ def Slytherin(*args); end
919
+
920
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
921
+ def black_hair(*args); end
922
+
923
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
924
+ def blonde_hair(*args); end
925
+
926
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
927
+ def broom_firebolt(*args); end
928
+
929
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
930
+ def broom_nimbus(*args); end
931
+
932
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
933
+ def brown_hair(*args); end
934
+
935
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
936
+ def color_blue_eyes(*args); end
937
+
938
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
939
+ def color_brown_eyes(*args); end
940
+
941
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
942
+ def color_green_eyes(*args); end
943
+
944
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
945
+ def not_Alastor_Mad_Eye_Moody(*args); end
946
+
947
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
948
+ def not_Filius_Flitwick(*args); end
949
+
950
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
951
+ def not_Gryffindor(*args); end
952
+
953
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
954
+ def not_Hagrid(*args); end
955
+
956
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
957
+ def not_Hufflepuff(*args); end
958
+
959
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
960
+ def not_Minerva_McGonagall(*args); end
961
+
962
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
963
+ def not_Pomona_Sprout(*args); end
964
+
965
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
966
+ def not_Ravenclaw(*args); end
967
+
968
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
969
+ def not_Severus_Snape(*args); end
970
+
971
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
972
+ def not_Slytherin(*args); end
973
+
974
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
975
+ def not_black_hair(*args); end
976
+
977
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
978
+ def not_blonde_hair(*args); end
979
+
980
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
981
+ def not_broom_firebolt(*args); end
982
+
983
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
984
+ def not_broom_nimbus(*args); end
985
+
986
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
987
+ def not_brown_hair(*args); end
988
+
989
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
990
+ def not_color_blue_eyes(*args); end
991
+
992
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
993
+ def not_color_brown_eyes(*args); end
994
+
995
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
996
+ def not_color_green_eyes(*args); end
997
+
998
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
999
+ def not_quidditch_beater(*args); end
1000
+
1001
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1002
+ def not_quidditch_chaser(*args); end
1003
+
1004
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1005
+ def not_quidditch_keeper(*args); end
1006
+
1007
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1008
+ def not_quidditch_seeker(*args); end
1009
+
1010
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1011
+ def quidditch_beater(*args); end
1012
+
1013
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1014
+ def quidditch_chaser(*args); end
1015
+
1016
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1017
+ def quidditch_keeper(*args); end
1018
+
1019
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1020
+ def quidditch_seeker(*args); end
1021
+
1022
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1023
+ def recent(*args); end
1024
+
1025
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1026
+ def <<(*records); end
1027
+
1028
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1029
+ def append(*records); end
1030
+
1031
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1032
+ def push(*records); end
1033
+
1034
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1035
+ def concat(*records); end
1036
+ end
1037
+
1038
+ module Wizard::QueryMethodsReturningRelation
1039
+ sig { returns(Wizard::ActiveRecord_Relation) }
1040
+ def all; end
1041
+
1042
+ sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
1043
+ def unscoped(&block); end
1044
+
1045
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1046
+ def reselect(*args); end
1047
+
1048
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1049
+ def order(*args); end
1050
+
1051
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1052
+ def reorder(*args); end
1053
+
1054
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1055
+ def group(*args); end
1056
+
1057
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1058
+ def limit(*args); end
1059
+
1060
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1061
+ def offset(*args); end
1062
+
1063
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1064
+ def joins(*args); end
1065
+
1066
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1067
+ def left_joins(*args); end
1068
+
1069
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1070
+ def left_outer_joins(*args); end
1071
+
1072
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1073
+ def where(*args); end
1074
+
1075
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1076
+ def rewhere(*args); end
1077
+
1078
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1079
+ def preload(*args); end
1080
+
1081
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1082
+ def extract_associated(*args); end
1083
+
1084
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1085
+ def eager_load(*args); end
1086
+
1087
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1088
+ def includes(*args); end
1089
+
1090
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1091
+ def from(*args); end
1092
+
1093
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1094
+ def lock(*args); end
1095
+
1096
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1097
+ def readonly(*args); end
1098
+
1099
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1100
+ def or(*args); end
1101
+
1102
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1103
+ def having(*args); end
1104
+
1105
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1106
+ def create_with(*args); end
1107
+
1108
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1109
+ def distinct(*args); end
1110
+
1111
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1112
+ def references(*args); end
1113
+
1114
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1115
+ def none(*args); end
1116
+
1117
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1118
+ def unscope(*args); end
1119
+
1120
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1121
+ def optimizer_hints(*args); end
1122
+
1123
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1124
+ def merge(*args); end
1125
+
1126
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1127
+ def except(*args); end
1128
+
1129
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1130
+ def only(*args); end
1131
+
1132
+ sig { params(block: T.proc.params(e: Wizard).returns(T::Boolean)).returns(T::Array[Wizard]) }
1133
+ def select(&block); end
1134
+
1135
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Wizard::ActiveRecord_Relation) }
1136
+ def select_columns(*args); end
1137
+
1138
+ sig { params(args: Symbol).returns(Wizard::ActiveRecord_Relation) }
1139
+ def where_missing(*args); end
1140
+
1141
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(Wizard::ActiveRecord_Relation) }
1142
+ def in_order_of(column, values); end
1143
+
1144
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
1145
+ def extending(*args, &block); end
1146
+
1147
+ sig do
1148
+ params(
1149
+ of: T.nilable(Integer),
1150
+ start: T.nilable(Integer),
1151
+ finish: T.nilable(Integer),
1152
+ load: T.nilable(T::Boolean),
1153
+ error_on_ignore: T.nilable(T::Boolean),
1154
+ block: T.nilable(T.proc.params(e: Wizard::ActiveRecord_Relation).void)
1155
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
1156
+ end
1157
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
1158
+ end
1159
+
1160
+ module Wizard::QueryMethodsReturningAssociationRelation
1161
+ sig { returns(Wizard::ActiveRecord_AssociationRelation) }
1162
+ def all; end
1163
+
1164
+ sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
1165
+ def unscoped(&block); end
1166
+
1167
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1168
+ def reselect(*args); end
1169
+
1170
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1171
+ def order(*args); end
1172
+
1173
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1174
+ def reorder(*args); end
1175
+
1176
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1177
+ def group(*args); end
1178
+
1179
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1180
+ def limit(*args); end
1181
+
1182
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1183
+ def offset(*args); end
1184
+
1185
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1186
+ def joins(*args); end
1187
+
1188
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1189
+ def left_joins(*args); end
1190
+
1191
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1192
+ def left_outer_joins(*args); end
1193
+
1194
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1195
+ def where(*args); end
1196
+
1197
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1198
+ def rewhere(*args); end
1199
+
1200
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1201
+ def preload(*args); end
1202
+
1203
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1204
+ def extract_associated(*args); end
1205
+
1206
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1207
+ def eager_load(*args); end
1208
+
1209
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1210
+ def includes(*args); end
1211
+
1212
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1213
+ def from(*args); end
1214
+
1215
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1216
+ def lock(*args); end
1217
+
1218
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1219
+ def readonly(*args); end
1220
+
1221
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1222
+ def or(*args); end
1223
+
1224
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1225
+ def having(*args); end
1226
+
1227
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1228
+ def create_with(*args); end
1229
+
1230
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1231
+ def distinct(*args); end
1232
+
1233
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1234
+ def references(*args); end
1235
+
1236
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1237
+ def none(*args); end
1238
+
1239
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1240
+ def unscope(*args); end
1241
+
1242
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1243
+ def optimizer_hints(*args); end
1244
+
1245
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1246
+ def merge(*args); end
1247
+
1248
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1249
+ def except(*args); end
1250
+
1251
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1252
+ def only(*args); end
1253
+
1254
+ sig { params(block: T.proc.params(e: Wizard).returns(T::Boolean)).returns(T::Array[Wizard]) }
1255
+ def select(&block); end
1256
+
1257
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Wizard::ActiveRecord_AssociationRelation) }
1258
+ def select_columns(*args); end
1259
+
1260
+ sig { params(args: Symbol).returns(Wizard::ActiveRecord_AssociationRelation) }
1261
+ def where_missing(*args); end
1262
+
1263
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(Wizard::ActiveRecord_AssociationRelation) }
1264
+ def in_order_of(column, values); end
1265
+
1266
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
1267
+ def extending(*args, &block); end
1268
+
1269
+ sig do
1270
+ params(
1271
+ of: T.nilable(Integer),
1272
+ start: T.nilable(Integer),
1273
+ finish: T.nilable(Integer),
1274
+ load: T.nilable(T::Boolean),
1275
+ error_on_ignore: T.nilable(T::Boolean),
1276
+ block: T.nilable(T.proc.params(e: Wizard::ActiveRecord_AssociationRelation).void)
1277
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
1278
+ end
1279
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
1280
+ end