sorbet-rails 0.7.33 → 0.7.34

Sign up to get free protection for your applications and to get access to all the features.
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