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,1274 @@
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.untyped) }
273
+ def school; end
274
+
275
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
276
+ def build_school(*args, &block); end
277
+
278
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
279
+ def create_school(*args, &block); end
280
+
281
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
282
+ def create_school!(*args, &block); end
283
+
284
+ sig { params(value: T.untyped).void }
285
+ def school=(value); end
286
+
287
+ sig { returns(T.untyped) }
288
+ def reload_school; end
289
+
290
+ sig { returns(ActiveRecord::Associations::CollectionProxy) }
291
+ def spell_books; end
292
+
293
+ sig { params(value: T::Enumerable[T.untyped]).void }
294
+ def spell_books=(value); end
295
+
296
+ sig { returns(ActiveRecord::Associations::CollectionProxy) }
297
+ def subjects; end
298
+
299
+ sig { params(value: T::Enumerable[T.untyped]).void }
300
+ def subjects=(value); end
301
+
302
+ sig { returns(T.nilable(::Wand)) }
303
+ def wand; end
304
+
305
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
306
+ def build_wand(*args, &block); end
307
+
308
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
309
+ def create_wand(*args, &block); end
310
+
311
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
312
+ def create_wand!(*args, &block); end
313
+
314
+ sig { params(value: T.nilable(::Wand)).void }
315
+ def wand=(value); end
316
+
317
+ sig { returns(T.nilable(::Wand)) }
318
+ def reload_wand; end
319
+ end
320
+
321
+ module Wizard::CustomFinderMethods
322
+ sig { params(limit: Integer).returns(T::Array[Wizard]) }
323
+ def first_n(limit); end
324
+
325
+ sig { params(limit: Integer).returns(T::Array[Wizard]) }
326
+ def last_n(limit); end
327
+
328
+ sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Wizard]) }
329
+ def find_n(*args); end
330
+
331
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(Wizard)) }
332
+ def find_by_id(id); end
333
+
334
+ sig { params(id: Integer).returns(Wizard) }
335
+ def find_by_id!(id); end
336
+ end
337
+
338
+ class Wizard < ApplicationRecord
339
+ include Wizard::EnumInstanceMethods
340
+ include Wizard::GeneratedSerializedAttributeMethods
341
+ include Wizard::GeneratedAttributeMethods
342
+ include Wizard::GeneratedAssociationMethods
343
+ extend Wizard::CustomFinderMethods
344
+ extend Wizard::QueryMethodsReturningRelation
345
+ RelationType = T.type_alias { T.any(Wizard::ActiveRecord_Relation, Wizard::ActiveRecord_Associations_CollectionProxy, Wizard::ActiveRecord_AssociationRelation) }
346
+
347
+ sig { returns(T::Hash[T.any(String, Symbol), String]) }
348
+ def self.brooms; end
349
+
350
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
351
+ def self.eye_colors; end
352
+
353
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
354
+ def self.hair_colors; end
355
+
356
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
357
+ def self.houses; end
358
+
359
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
360
+ def self.professors; end
361
+
362
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
363
+ def self.quidditch_positions; end
364
+
365
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
366
+ def self.Alastor_Mad_Eye_Moody(*args); end
367
+
368
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
369
+ def self.Filius_Flitwick(*args); end
370
+
371
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
372
+ def self.Gryffindor(*args); end
373
+
374
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
375
+ def self.Hagrid(*args); end
376
+
377
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
378
+ def self.Hufflepuff(*args); end
379
+
380
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
381
+ def self.Minerva_McGonagall(*args); end
382
+
383
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
384
+ def self.Pomona_Sprout(*args); end
385
+
386
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
387
+ def self.Ravenclaw(*args); end
388
+
389
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
390
+ def self.Severus_Snape(*args); end
391
+
392
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
393
+ def self.Slytherin(*args); end
394
+
395
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
396
+ def self.black_hair(*args); end
397
+
398
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
399
+ def self.blonde_hair(*args); end
400
+
401
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
402
+ def self.broom_firebolt(*args); end
403
+
404
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
405
+ def self.broom_nimbus(*args); end
406
+
407
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
408
+ def self.brown_hair(*args); end
409
+
410
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
411
+ def self.color_blue_eyes(*args); end
412
+
413
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
414
+ def self.color_brown_eyes(*args); end
415
+
416
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
417
+ def self.color_green_eyes(*args); end
418
+
419
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
420
+ def self.not_Alastor_Mad_Eye_Moody(*args); end
421
+
422
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
423
+ def self.not_Filius_Flitwick(*args); end
424
+
425
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
426
+ def self.not_Gryffindor(*args); end
427
+
428
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
429
+ def self.not_Hagrid(*args); end
430
+
431
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
432
+ def self.not_Hufflepuff(*args); end
433
+
434
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
435
+ def self.not_Minerva_McGonagall(*args); end
436
+
437
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
438
+ def self.not_Pomona_Sprout(*args); end
439
+
440
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
441
+ def self.not_Ravenclaw(*args); end
442
+
443
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
444
+ def self.not_Severus_Snape(*args); end
445
+
446
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
447
+ def self.not_Slytherin(*args); end
448
+
449
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
450
+ def self.not_black_hair(*args); end
451
+
452
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
453
+ def self.not_blonde_hair(*args); end
454
+
455
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
456
+ def self.not_broom_firebolt(*args); end
457
+
458
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
459
+ def self.not_broom_nimbus(*args); end
460
+
461
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
462
+ def self.not_brown_hair(*args); end
463
+
464
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
465
+ def self.not_color_blue_eyes(*args); end
466
+
467
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
468
+ def self.not_color_brown_eyes(*args); end
469
+
470
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
471
+ def self.not_color_green_eyes(*args); end
472
+
473
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
474
+ def self.not_quidditch_beater(*args); end
475
+
476
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
477
+ def self.not_quidditch_chaser(*args); end
478
+
479
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
480
+ def self.not_quidditch_keeper(*args); end
481
+
482
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
483
+ def self.not_quidditch_seeker(*args); end
484
+
485
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
486
+ def self.quidditch_beater(*args); end
487
+
488
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
489
+ def self.quidditch_chaser(*args); end
490
+
491
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
492
+ def self.quidditch_keeper(*args); end
493
+
494
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
495
+ def self.quidditch_seeker(*args); end
496
+
497
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
498
+ def self.recent(*args); end
499
+
500
+ sig { returns(T.nilable(Wizard::Broom)) }
501
+ def typed_broom; end
502
+
503
+ sig { params(value: T.nilable(Wizard::Broom)).void }
504
+ def typed_broom=(value); end
505
+
506
+ sig { returns(T.nilable(Wizard::EyeColor)) }
507
+ def typed_eye_color; end
508
+
509
+ sig { params(value: T.nilable(Wizard::EyeColor)).void }
510
+ def typed_eye_color=(value); end
511
+
512
+ sig { returns(T.nilable(Wizard::HairColor)) }
513
+ def typed_hair_color; end
514
+
515
+ sig { params(value: T.nilable(Wizard::HairColor)).void }
516
+ def typed_hair_color=(value); end
517
+
518
+ sig { returns(T.nilable(Wizard::House)) }
519
+ def typed_house; end
520
+
521
+ sig { params(value: T.nilable(Wizard::House)).void }
522
+ def typed_house=(value); end
523
+
524
+ sig { returns(T.nilable(Wizard::ProfessorEnum)) }
525
+ def typed_professor; end
526
+
527
+ sig { params(value: T.nilable(Wizard::ProfessorEnum)).void }
528
+ def typed_professor=(value); end
529
+
530
+ sig { returns(T.nilable(Wizard::QuidditchPosition)) }
531
+ def typed_quidditch_position; end
532
+
533
+ sig { params(value: T.nilable(Wizard::QuidditchPosition)).void }
534
+ def typed_quidditch_position=(value); end
535
+
536
+ class Broom < T::Enum
537
+ enums do
538
+ Nimbus = new(%q{nimbus})
539
+ Firebolt = new(%q{firebolt})
540
+ end
541
+
542
+ end
543
+
544
+ class EyeColor < T::Enum
545
+ enums do
546
+ Brown = new(%q{brown})
547
+ Green = new(%q{green})
548
+ Blue = new(%q{blue})
549
+ end
550
+
551
+ end
552
+
553
+ class HairColor < T::Enum
554
+ enums do
555
+ Brown = new(%q{brown})
556
+ Black = new(%q{black})
557
+ Blonde = new(%q{blonde})
558
+ end
559
+
560
+ end
561
+
562
+ class House < T::Enum
563
+ enums do
564
+ Gryffindor = new(%q{Gryffindor})
565
+ Hufflepuff = new(%q{Hufflepuff})
566
+ Ravenclaw = new(%q{Ravenclaw})
567
+ Slytherin = new(%q{Slytherin})
568
+ end
569
+
570
+ end
571
+
572
+ class ProfessorEnum < T::Enum
573
+ enums do
574
+ SeverusSnape = new(%q{Severus Snape})
575
+ MinervaMcGonagall = new(%q{Minerva McGonagall})
576
+ PomonaSprout = new(%q{Pomona Sprout})
577
+ FiliusFlitwick = new(%q{Filius Flitwick})
578
+ Hagrid = new(%q{Hagrid})
579
+ AlastorMadEyeMoody = new(%q{Alastor 'Mad-Eye' Moody})
580
+ end
581
+
582
+ end
583
+
584
+ class QuidditchPosition < T::Enum
585
+ enums do
586
+ Keeper = new(%q{keeper})
587
+ Seeker = new(%q{seeker})
588
+ Beater = new(%q{beater})
589
+ Chaser = new(%q{chaser})
590
+ end
591
+
592
+ end
593
+ end
594
+
595
+ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
596
+ include Wizard::ActiveRelation_WhereNot
597
+ include Wizard::CustomFinderMethods
598
+ include Wizard::QueryMethodsReturningRelation
599
+ Elem = type_member {{fixed: Wizard}}
600
+
601
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
602
+ def Alastor_Mad_Eye_Moody(*args); end
603
+
604
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
605
+ def Filius_Flitwick(*args); end
606
+
607
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
608
+ def Gryffindor(*args); end
609
+
610
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
611
+ def Hagrid(*args); end
612
+
613
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
614
+ def Hufflepuff(*args); end
615
+
616
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
617
+ def Minerva_McGonagall(*args); end
618
+
619
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
620
+ def Pomona_Sprout(*args); end
621
+
622
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
623
+ def Ravenclaw(*args); end
624
+
625
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
626
+ def Severus_Snape(*args); end
627
+
628
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
629
+ def Slytherin(*args); end
630
+
631
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
632
+ def black_hair(*args); end
633
+
634
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
635
+ def blonde_hair(*args); end
636
+
637
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
638
+ def broom_firebolt(*args); end
639
+
640
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
641
+ def broom_nimbus(*args); end
642
+
643
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
644
+ def brown_hair(*args); end
645
+
646
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
647
+ def color_blue_eyes(*args); end
648
+
649
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
650
+ def color_brown_eyes(*args); end
651
+
652
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
653
+ def color_green_eyes(*args); end
654
+
655
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
656
+ def not_Alastor_Mad_Eye_Moody(*args); end
657
+
658
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
659
+ def not_Filius_Flitwick(*args); end
660
+
661
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
662
+ def not_Gryffindor(*args); end
663
+
664
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
665
+ def not_Hagrid(*args); end
666
+
667
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
668
+ def not_Hufflepuff(*args); end
669
+
670
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
671
+ def not_Minerva_McGonagall(*args); end
672
+
673
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
674
+ def not_Pomona_Sprout(*args); end
675
+
676
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
677
+ def not_Ravenclaw(*args); end
678
+
679
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
680
+ def not_Severus_Snape(*args); end
681
+
682
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
683
+ def not_Slytherin(*args); end
684
+
685
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
686
+ def not_black_hair(*args); end
687
+
688
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
689
+ def not_blonde_hair(*args); end
690
+
691
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
692
+ def not_broom_firebolt(*args); end
693
+
694
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
695
+ def not_broom_nimbus(*args); end
696
+
697
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
698
+ def not_brown_hair(*args); end
699
+
700
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
701
+ def not_color_blue_eyes(*args); end
702
+
703
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
704
+ def not_color_brown_eyes(*args); end
705
+
706
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
707
+ def not_color_green_eyes(*args); end
708
+
709
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
710
+ def not_quidditch_beater(*args); end
711
+
712
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
713
+ def not_quidditch_chaser(*args); end
714
+
715
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
716
+ def not_quidditch_keeper(*args); end
717
+
718
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
719
+ def not_quidditch_seeker(*args); end
720
+
721
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
722
+ def quidditch_beater(*args); end
723
+
724
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
725
+ def quidditch_chaser(*args); end
726
+
727
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
728
+ def quidditch_keeper(*args); end
729
+
730
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
731
+ def quidditch_seeker(*args); end
732
+
733
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
734
+ def recent(*args); end
735
+ end
736
+
737
+ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
738
+ include Wizard::ActiveRelation_WhereNot
739
+ include Wizard::CustomFinderMethods
740
+ include Wizard::QueryMethodsReturningAssociationRelation
741
+ Elem = type_member {{fixed: Wizard}}
742
+
743
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
744
+ def Alastor_Mad_Eye_Moody(*args); end
745
+
746
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
747
+ def Filius_Flitwick(*args); end
748
+
749
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
750
+ def Gryffindor(*args); end
751
+
752
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
753
+ def Hagrid(*args); end
754
+
755
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
756
+ def Hufflepuff(*args); end
757
+
758
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
759
+ def Minerva_McGonagall(*args); end
760
+
761
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
762
+ def Pomona_Sprout(*args); end
763
+
764
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
765
+ def Ravenclaw(*args); end
766
+
767
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
768
+ def Severus_Snape(*args); end
769
+
770
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
771
+ def Slytherin(*args); end
772
+
773
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
774
+ def black_hair(*args); end
775
+
776
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
777
+ def blonde_hair(*args); end
778
+
779
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
780
+ def broom_firebolt(*args); end
781
+
782
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
783
+ def broom_nimbus(*args); end
784
+
785
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
786
+ def brown_hair(*args); end
787
+
788
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
789
+ def color_blue_eyes(*args); end
790
+
791
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
792
+ def color_brown_eyes(*args); end
793
+
794
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
795
+ def color_green_eyes(*args); end
796
+
797
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
798
+ def not_Alastor_Mad_Eye_Moody(*args); end
799
+
800
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
801
+ def not_Filius_Flitwick(*args); end
802
+
803
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
804
+ def not_Gryffindor(*args); end
805
+
806
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
807
+ def not_Hagrid(*args); end
808
+
809
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
810
+ def not_Hufflepuff(*args); end
811
+
812
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
813
+ def not_Minerva_McGonagall(*args); end
814
+
815
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
816
+ def not_Pomona_Sprout(*args); end
817
+
818
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
819
+ def not_Ravenclaw(*args); end
820
+
821
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
822
+ def not_Severus_Snape(*args); end
823
+
824
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
825
+ def not_Slytherin(*args); end
826
+
827
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
828
+ def not_black_hair(*args); end
829
+
830
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
831
+ def not_blonde_hair(*args); end
832
+
833
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
834
+ def not_broom_firebolt(*args); end
835
+
836
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
837
+ def not_broom_nimbus(*args); end
838
+
839
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
840
+ def not_brown_hair(*args); end
841
+
842
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
843
+ def not_color_blue_eyes(*args); end
844
+
845
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
846
+ def not_color_brown_eyes(*args); end
847
+
848
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
849
+ def not_color_green_eyes(*args); end
850
+
851
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
852
+ def not_quidditch_beater(*args); end
853
+
854
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
855
+ def not_quidditch_chaser(*args); end
856
+
857
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
858
+ def not_quidditch_keeper(*args); end
859
+
860
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
861
+ def not_quidditch_seeker(*args); end
862
+
863
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
864
+ def quidditch_beater(*args); end
865
+
866
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
867
+ def quidditch_chaser(*args); end
868
+
869
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
870
+ def quidditch_keeper(*args); end
871
+
872
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
873
+ def quidditch_seeker(*args); end
874
+
875
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
876
+ def recent(*args); end
877
+ end
878
+
879
+ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
880
+ include Wizard::CustomFinderMethods
881
+ include Wizard::QueryMethodsReturningAssociationRelation
882
+ Elem = type_member {{fixed: Wizard}}
883
+
884
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
885
+ def Alastor_Mad_Eye_Moody(*args); end
886
+
887
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
888
+ def Filius_Flitwick(*args); end
889
+
890
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
891
+ def Gryffindor(*args); end
892
+
893
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
894
+ def Hagrid(*args); end
895
+
896
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
897
+ def Hufflepuff(*args); end
898
+
899
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
900
+ def Minerva_McGonagall(*args); end
901
+
902
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
903
+ def Pomona_Sprout(*args); end
904
+
905
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
906
+ def Ravenclaw(*args); end
907
+
908
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
909
+ def Severus_Snape(*args); end
910
+
911
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
912
+ def Slytherin(*args); end
913
+
914
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
915
+ def black_hair(*args); end
916
+
917
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
918
+ def blonde_hair(*args); end
919
+
920
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
921
+ def broom_firebolt(*args); end
922
+
923
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
924
+ def broom_nimbus(*args); end
925
+
926
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
927
+ def brown_hair(*args); end
928
+
929
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
930
+ def color_blue_eyes(*args); end
931
+
932
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
933
+ def color_brown_eyes(*args); end
934
+
935
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
936
+ def color_green_eyes(*args); end
937
+
938
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
939
+ def not_Alastor_Mad_Eye_Moody(*args); end
940
+
941
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
942
+ def not_Filius_Flitwick(*args); end
943
+
944
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
945
+ def not_Gryffindor(*args); end
946
+
947
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
948
+ def not_Hagrid(*args); end
949
+
950
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
951
+ def not_Hufflepuff(*args); end
952
+
953
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
954
+ def not_Minerva_McGonagall(*args); end
955
+
956
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
957
+ def not_Pomona_Sprout(*args); end
958
+
959
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
960
+ def not_Ravenclaw(*args); end
961
+
962
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
963
+ def not_Severus_Snape(*args); end
964
+
965
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
966
+ def not_Slytherin(*args); end
967
+
968
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
969
+ def not_black_hair(*args); end
970
+
971
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
972
+ def not_blonde_hair(*args); end
973
+
974
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
975
+ def not_broom_firebolt(*args); end
976
+
977
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
978
+ def not_broom_nimbus(*args); end
979
+
980
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
981
+ def not_brown_hair(*args); end
982
+
983
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
984
+ def not_color_blue_eyes(*args); end
985
+
986
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
987
+ def not_color_brown_eyes(*args); end
988
+
989
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
990
+ def not_color_green_eyes(*args); end
991
+
992
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
993
+ def not_quidditch_beater(*args); end
994
+
995
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
996
+ def not_quidditch_chaser(*args); end
997
+
998
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
999
+ def not_quidditch_keeper(*args); end
1000
+
1001
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1002
+ def not_quidditch_seeker(*args); end
1003
+
1004
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1005
+ def quidditch_beater(*args); end
1006
+
1007
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1008
+ def quidditch_chaser(*args); end
1009
+
1010
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1011
+ def quidditch_keeper(*args); end
1012
+
1013
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1014
+ def quidditch_seeker(*args); end
1015
+
1016
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1017
+ def recent(*args); end
1018
+
1019
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1020
+ def <<(*records); end
1021
+
1022
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1023
+ def append(*records); end
1024
+
1025
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1026
+ def push(*records); end
1027
+
1028
+ sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1029
+ def concat(*records); end
1030
+ end
1031
+
1032
+ module Wizard::QueryMethodsReturningRelation
1033
+ sig { returns(Wizard::ActiveRecord_Relation) }
1034
+ def all; end
1035
+
1036
+ sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
1037
+ def unscoped(&block); end
1038
+
1039
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1040
+ def reselect(*args); end
1041
+
1042
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1043
+ def order(*args); end
1044
+
1045
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1046
+ def reorder(*args); end
1047
+
1048
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1049
+ def group(*args); end
1050
+
1051
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1052
+ def limit(*args); end
1053
+
1054
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1055
+ def offset(*args); end
1056
+
1057
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1058
+ def joins(*args); end
1059
+
1060
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1061
+ def left_joins(*args); end
1062
+
1063
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1064
+ def left_outer_joins(*args); end
1065
+
1066
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1067
+ def where(*args); end
1068
+
1069
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1070
+ def rewhere(*args); end
1071
+
1072
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1073
+ def preload(*args); end
1074
+
1075
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1076
+ def extract_associated(*args); end
1077
+
1078
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1079
+ def eager_load(*args); end
1080
+
1081
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1082
+ def includes(*args); end
1083
+
1084
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1085
+ def from(*args); end
1086
+
1087
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1088
+ def lock(*args); end
1089
+
1090
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1091
+ def readonly(*args); end
1092
+
1093
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1094
+ def or(*args); end
1095
+
1096
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1097
+ def having(*args); end
1098
+
1099
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1100
+ def create_with(*args); end
1101
+
1102
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1103
+ def distinct(*args); end
1104
+
1105
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1106
+ def references(*args); end
1107
+
1108
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1109
+ def none(*args); end
1110
+
1111
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1112
+ def unscope(*args); end
1113
+
1114
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1115
+ def optimizer_hints(*args); end
1116
+
1117
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1118
+ def merge(*args); end
1119
+
1120
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1121
+ def except(*args); end
1122
+
1123
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1124
+ def only(*args); end
1125
+
1126
+ sig { params(block: T.proc.params(e: Wizard).returns(T::Boolean)).returns(T::Array[Wizard]) }
1127
+ def select(&block); end
1128
+
1129
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Wizard::ActiveRecord_Relation) }
1130
+ def select_columns(*args); end
1131
+
1132
+ sig { params(args: Symbol).returns(Wizard::ActiveRecord_Relation) }
1133
+ def where_missing(*args); end
1134
+
1135
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(Wizard::ActiveRecord_Relation) }
1136
+ def in_order_of(column, values); end
1137
+
1138
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
1139
+ def extending(*args, &block); end
1140
+
1141
+ sig do
1142
+ params(
1143
+ of: T.nilable(Integer),
1144
+ start: T.nilable(Integer),
1145
+ finish: T.nilable(Integer),
1146
+ load: T.nilable(T::Boolean),
1147
+ error_on_ignore: T.nilable(T::Boolean),
1148
+ block: T.nilable(T.proc.params(e: Wizard::ActiveRecord_Relation).void)
1149
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
1150
+ end
1151
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
1152
+ end
1153
+
1154
+ module Wizard::QueryMethodsReturningAssociationRelation
1155
+ sig { returns(Wizard::ActiveRecord_AssociationRelation) }
1156
+ def all; end
1157
+
1158
+ sig { params(block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
1159
+ def unscoped(&block); end
1160
+
1161
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1162
+ def reselect(*args); end
1163
+
1164
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1165
+ def order(*args); end
1166
+
1167
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1168
+ def reorder(*args); end
1169
+
1170
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1171
+ def group(*args); end
1172
+
1173
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1174
+ def limit(*args); end
1175
+
1176
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1177
+ def offset(*args); end
1178
+
1179
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1180
+ def joins(*args); end
1181
+
1182
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1183
+ def left_joins(*args); end
1184
+
1185
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1186
+ def left_outer_joins(*args); end
1187
+
1188
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1189
+ def where(*args); end
1190
+
1191
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1192
+ def rewhere(*args); end
1193
+
1194
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1195
+ def preload(*args); end
1196
+
1197
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1198
+ def extract_associated(*args); end
1199
+
1200
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1201
+ def eager_load(*args); end
1202
+
1203
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1204
+ def includes(*args); end
1205
+
1206
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1207
+ def from(*args); end
1208
+
1209
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1210
+ def lock(*args); end
1211
+
1212
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1213
+ def readonly(*args); end
1214
+
1215
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1216
+ def or(*args); end
1217
+
1218
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1219
+ def having(*args); end
1220
+
1221
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1222
+ def create_with(*args); end
1223
+
1224
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1225
+ def distinct(*args); end
1226
+
1227
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1228
+ def references(*args); end
1229
+
1230
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1231
+ def none(*args); end
1232
+
1233
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1234
+ def unscope(*args); end
1235
+
1236
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1237
+ def optimizer_hints(*args); end
1238
+
1239
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1240
+ def merge(*args); end
1241
+
1242
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1243
+ def except(*args); end
1244
+
1245
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1246
+ def only(*args); end
1247
+
1248
+ sig { params(block: T.proc.params(e: Wizard).returns(T::Boolean)).returns(T::Array[Wizard]) }
1249
+ def select(&block); end
1250
+
1251
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Wizard::ActiveRecord_AssociationRelation) }
1252
+ def select_columns(*args); end
1253
+
1254
+ sig { params(args: Symbol).returns(Wizard::ActiveRecord_AssociationRelation) }
1255
+ def where_missing(*args); end
1256
+
1257
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(Wizard::ActiveRecord_AssociationRelation) }
1258
+ def in_order_of(column, values); end
1259
+
1260
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
1261
+ def extending(*args, &block); end
1262
+
1263
+ sig do
1264
+ params(
1265
+ of: T.nilable(Integer),
1266
+ start: T.nilable(Integer),
1267
+ finish: T.nilable(Integer),
1268
+ load: T.nilable(T::Boolean),
1269
+ error_on_ignore: T.nilable(T::Boolean),
1270
+ block: T.nilable(T.proc.params(e: Wizard::ActiveRecord_AssociationRelation).void)
1271
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
1272
+ end
1273
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
1274
+ end