sorbet-rails 0.7.3 → 0.7.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +7 -0
  3. data/.github/workflows/ci-master.yml +30 -0
  4. data/.github/workflows/ci.yml +26 -0
  5. data/.github/workflows/publish-gem.yml +17 -0
  6. data/CONTRIBUTING.md +1 -2
  7. data/Gemfile +5 -9
  8. data/README.md +44 -6
  9. data/Rakefile +13 -24
  10. data/lib/sorbet-rails/active_record_rbi_formatter.rb +18 -15
  11. data/lib/sorbet-rails/dependent_gem_rbis/activerecord.rbi +4 -0
  12. data/lib/sorbet-rails/dependent_gem_rbis/parlour.rbi +1896 -0
  13. data/lib/sorbet-rails/gem_plugins/aasm_plugin.rb +55 -0
  14. data/lib/sorbet-rails/gem_plugins/attr_json_plugin.rb +137 -0
  15. data/lib/sorbet-rails/gem_plugins/flag_shih_tzu_plugin.rb +201 -0
  16. data/lib/sorbet-rails/gem_plugins/kaminari_plugin.rb +20 -0
  17. data/lib/sorbet-rails/gem_plugins/money_rails_plugin.rb +76 -0
  18. data/lib/sorbet-rails/gem_plugins/shrine_plugin.rb +1 -1
  19. data/lib/sorbet-rails/job_rbi_formatter.rb +1 -1
  20. data/lib/sorbet-rails/model_column_utils.rb +1 -1
  21. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +1 -1
  22. data/lib/sorbet-rails/model_plugins/active_record_querying.rb +38 -1
  23. data/lib/sorbet-rails/model_plugins/active_record_serialized_attribute.rb +3 -2
  24. data/lib/sorbet-rails/model_plugins/base.rb +8 -1
  25. data/lib/sorbet-rails/model_plugins/custom_finder_methods.rb +1 -1
  26. data/lib/sorbet-rails/model_plugins/plugins.rb +12 -0
  27. data/lib/sorbet-rails/model_rbi_formatter.rb +7 -4
  28. data/lib/sorbet-rails/model_utils.rb +14 -7
  29. data/lib/sorbet-rails/rails_mixins/custom_finder_methods.rb +12 -0
  30. data/lib/sorbet-rails/railtie.rb +1 -1
  31. data/lib/sorbet-rails/routes_rbi_formatter.rb +8 -0
  32. data/lib/sorbet-rails/tasks/rails_rbi.rake +12 -8
  33. data/sorbet-rails.gemspec +3 -3
  34. data/spec/bin/run_all_specs.sh +3 -4
  35. data/spec/bin/run_spec.sh +4 -1
  36. data/spec/custom_finder_methods_spec.rb +23 -0
  37. data/spec/generators/rails-template.rb +3 -20
  38. data/spec/generators/sorbet_test_cases.rb +26 -4
  39. data/spec/rails_helper.rb +6 -10
  40. data/spec/rake_rails_rbi_models_spec.rb +11 -4
  41. data/spec/sorbet_spec.rb +5 -1
  42. data/spec/support/v5.2/Gemfile +1 -3
  43. data/spec/support/v5.2/Gemfile.lock +88 -81
  44. data/spec/support/v5.2/app/controllers/application_controller.rb +1 -1
  45. data/spec/support/v5.2/app/mailers/application_mailer.rb +1 -1
  46. data/spec/support/v5.2/app/mailers/daily_prophet_mailer.rb +1 -1
  47. data/spec/support/v5.2/app/mailers/hogwarts_acceptance_mailer.rb +1 -1
  48. data/spec/support/v5.2/app/models/spell_book.rb +1 -1
  49. data/spec/support/v5.2/app/models/wand.rb +1 -1
  50. data/spec/support/v5.2/app/models/wizard.rb +1 -1
  51. data/spec/support/v5.2/config/environments/development.rb +1 -1
  52. data/spec/support/v5.2/config/environments/production.rb +1 -1
  53. data/spec/support/v5.2/config/environments/test.rb +1 -1
  54. data/spec/support/v5.2/config/initializers/wrap_parameters.rb +1 -1
  55. data/spec/support/v5.2/config/routes.rb +1 -1
  56. data/spec/support/v5.2/sorbet_test_cases.rb +26 -4
  57. data/spec/support/v6.0/Gemfile +1 -1
  58. data/spec/support/v6.0/Gemfile.lock +103 -96
  59. data/spec/support/v6.0/app/mailers/application_mailer.rb +1 -1
  60. data/spec/support/v6.0/config/environments/development.rb +1 -1
  61. data/spec/support/v6.0/config/environments/test.rb +1 -1
  62. data/spec/support/v6.0/config/initializers/cookies_serializer.rb +1 -1
  63. data/spec/support/v6.0/config/initializers/sorbet_rails.rb +1 -1
  64. data/spec/support/v6.0/config/routes.rb +1 -1
  65. data/spec/support/v6.0/sorbet_test_cases.rb +26 -4
  66. data/spec/support/{v5.1 → v6.1}/.gitignore +13 -2
  67. data/spec/support/{v5.1 → v6.1}/Gemfile +12 -15
  68. data/spec/support/v6.1/Gemfile.lock +203 -0
  69. data/spec/support/{v5.0 → v6.1}/README.md +0 -0
  70. data/spec/support/{v5.0 → v6.1}/Rakefile +0 -0
  71. data/spec/support/{v5.0 → v6.1}/app/assets/config/manifest.js +0 -0
  72. data/spec/support/{v5.0 → v6.1}/app/assets/images/.keep +0 -0
  73. data/spec/support/{v5.1 → v6.1}/app/assets/stylesheets/application.css +0 -0
  74. data/spec/support/{v5.0 → v6.1}/app/controllers/application_controller.rb +1 -2
  75. data/spec/support/{v5.0 → v6.1}/app/controllers/concerns/.keep +0 -0
  76. data/spec/support/{v5.0 → v6.1}/app/helpers/application_helper.rb +0 -0
  77. data/spec/support/{v5.0 → v6.1}/app/helpers/bar_helper.rb +0 -0
  78. data/spec/support/{v5.0 → v6.1}/app/helpers/baz_helper.rb +0 -0
  79. data/spec/support/{v5.0 → v6.1}/app/helpers/foo_helper.rb +0 -0
  80. data/spec/support/v6.1/app/jobs/application_job.rb +8 -0
  81. data/spec/support/{v5.0 → v6.1}/app/jobs/award_house_point_hourglasses.rb +0 -0
  82. data/spec/support/{v5.1 → v6.1}/app/mailers/application_mailer.rb +1 -1
  83. data/spec/support/{v5.0 → v6.1}/app/mailers/daily_prophet_mailer.rb +0 -0
  84. data/spec/support/{v5.0 → v6.1}/app/mailers/hogwarts_acceptance_mailer.rb +0 -0
  85. data/spec/support/{v5.0 → v6.1}/app/models/application_record.rb +0 -0
  86. data/spec/support/{v5.0 → v6.1}/app/models/concerns/.keep +0 -0
  87. data/spec/support/{v5.0 → v6.1}/app/models/concerns/mythical.rb +0 -0
  88. data/spec/support/{v5.1 → v6.1}/app/models/headmaster.rb +1 -1
  89. data/spec/support/{v5.1 → v6.1}/app/models/potion.rb +0 -0
  90. data/spec/support/{v5.1 → v6.1}/app/models/robe.rb +0 -0
  91. data/spec/support/{v5.0 → v6.1}/app/models/school.rb +1 -1
  92. data/spec/support/{v5.1 → v6.1}/app/models/spell.rb +0 -0
  93. data/spec/support/{v5.0 → v6.1}/app/models/spell_book.rb +0 -0
  94. data/spec/support/{v5.0 → v6.1}/app/models/squib.rb +0 -0
  95. data/spec/support/{v5.1 → v6.1}/app/models/subject.rb +0 -0
  96. data/spec/support/{v5.0 → v6.1}/app/models/wand.rb +0 -0
  97. data/spec/support/{v5.0 → v6.1}/app/models/wizard.rb +2 -1
  98. data/spec/support/{v5.1 → v6.1}/app/views/layouts/application.html.erb +2 -1
  99. data/spec/support/{v5.0 → v6.1}/app/views/layouts/mailer.html.erb +0 -0
  100. data/spec/support/{v5.0 → v6.1}/app/views/layouts/mailer.text.erb +0 -0
  101. data/spec/support/v6.1/bin/bundle +114 -0
  102. data/spec/support/{v5.0 → v6.1}/bin/rails +0 -0
  103. data/spec/support/{v5.0 → v6.1}/bin/rake +0 -0
  104. data/spec/support/{v5.1 → v6.1}/bin/setup +6 -11
  105. data/spec/support/{v5.1 → v6.1}/config/application.rb +8 -4
  106. data/spec/support/{v5.0 → v6.1}/config/boot.rb +0 -0
  107. data/spec/support/{v5.1 → v6.1}/config/database.yml +1 -1
  108. data/spec/support/{v5.0 → v6.1}/config/environment.rb +0 -0
  109. data/spec/support/{v5.1 → v6.1}/config/environments/development.rb +12 -4
  110. data/spec/support/{v5.1 → v6.1}/config/environments/production.rb +29 -7
  111. data/spec/support/{v5.1 → v6.1}/config/environments/test.rb +13 -7
  112. data/spec/support/{v5.0 → v6.1}/config/initializers/application_controller_renderer.rb +0 -0
  113. data/spec/support/{v5.0 → v6.1}/config/initializers/backtrace_silencers.rb +0 -0
  114. data/spec/support/v6.1/config/initializers/content_security_policy.rb +29 -0
  115. data/spec/support/{v5.1 → v6.1}/config/initializers/cookies_serializer.rb +1 -1
  116. data/spec/support/{v5.0 → v6.1}/config/initializers/filter_parameter_logging.rb +0 -0
  117. data/spec/support/{v5.0 → v6.1}/config/initializers/inflections.rb +0 -0
  118. data/spec/support/{v5.0 → v6.1}/config/initializers/mime_types.rb +0 -0
  119. data/spec/support/{v5.0 → v6.1}/config/initializers/sorbet_rails.rb +1 -1
  120. data/spec/support/{v5.0 → v6.1}/config/initializers/wrap_parameters.rb +1 -1
  121. data/spec/support/{v5.1 → v6.1}/config/locales/en.yml +1 -1
  122. data/spec/support/{v5.1 → v6.1}/config/puma.rb +8 -26
  123. data/spec/support/v6.1/config/routes.rb +5 -0
  124. data/spec/support/v6.1/config/storage.yml +34 -0
  125. data/spec/support/{v5.0 → v6.1}/config.ru +0 -0
  126. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000001_create_wizards.rb +2 -2
  127. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000002_create_wands.rb +2 -2
  128. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000003_create_spell_books.rb +2 -2
  129. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000004_add_more_column_types_to_wands.rb +2 -2
  130. data/spec/support/v6.1/db/migrate/20190620000005_add_broom_to_wizard.rb +6 -0
  131. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000006_add_more_enums_to_wizard.rb +2 -2
  132. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000007_add_type_to_wizard.rb +2 -2
  133. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000008_add_robe_to_wizard.rb +2 -2
  134. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000009_add_school.rb +2 -2
  135. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000010_add_subject.rb +2 -2
  136. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000011_add_subjects_wizards.rb +2 -2
  137. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000012_add_spell.rb +2 -2
  138. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000013_add_spells_spell_books.rb +2 -2
  139. data/spec/support/{v5.0 → v6.1}/db/migrate/20190620000014_create_headmasters.rb +2 -2
  140. data/spec/support/{v5.0 → v6.1}/db/migrate/20190620000015_add_serialized_to_wizards.rb +2 -2
  141. data/spec/support/{v5.1 → v6.1}/db/schema.rb +14 -11
  142. data/spec/support/{v5.0 → v6.1}/db/seeds.rb +0 -0
  143. data/spec/support/{v5.0 → v6.1}/lib/assets/.keep +0 -0
  144. data/spec/support/{v5.0 → v6.1}/lib/mythical_rbi_plugin.rb +0 -0
  145. data/spec/support/{v5.0 → v6.1}/lib/tasks/.keep +0 -0
  146. data/spec/support/{v5.0 → v6.1}/log/.keep +0 -0
  147. data/spec/support/{v5.0 → v6.1}/sorbet_test_cases.rb +29 -4
  148. data/spec/support/{v5.0/tmp → v6.1/storage}/.keep +0 -0
  149. data/spec/support/{v5.0/vendor/assets/stylesheets → v6.1/tmp}/.keep +0 -0
  150. data/spec/support/{v5.1/app/assets/images → v6.1/tmp/pids}/.keep +0 -0
  151. data/spec/support/{v5.1/app/controllers/concerns → v6.1/vendor}/.keep +0 -0
  152. data/spec/test_data/v5.2/expected_active_record_base.rbi +10 -10
  153. data/spec/test_data/v5.2/expected_active_record_relation.rbi +12 -13
  154. data/spec/test_data/v5.2/expected_attachment.rbi +16 -10
  155. data/spec/test_data/v5.2/expected_blob.rbi +16 -10
  156. data/spec/test_data/v5.2/expected_habtm_subjects.rbi +3 -3
  157. data/spec/test_data/v5.2/expected_habtm_wizards.rbi +3 -3
  158. data/spec/test_data/v5.2/expected_headmaster.rbi +16 -10
  159. data/spec/test_data/v5.2/expected_internal_metadata.rbi +16 -10
  160. data/spec/test_data/v5.2/expected_potion.rbi +16 -10
  161. data/spec/test_data/v5.2/expected_robe.rbi +16 -10
  162. data/spec/test_data/v5.2/expected_routes.rbi +8 -0
  163. data/spec/test_data/v5.2/expected_schema_migration.rbi +16 -10
  164. data/spec/test_data/v5.2/expected_school.rbi +16 -10
  165. data/spec/test_data/v5.2/expected_spell/habtm_spell_books.rbi +16 -10
  166. data/spec/test_data/v5.2/expected_spell.rbi +16 -10
  167. data/spec/test_data/v5.2/expected_spell_book/habtm_spell_books.rbi +3 -3
  168. data/spec/test_data/v5.2/expected_spell_book/habtm_spells.rbi +16 -10
  169. data/spec/test_data/v5.2/expected_spell_book.rbi +16 -10
  170. data/spec/test_data/v5.2/expected_squib.rbi +18 -12
  171. data/spec/test_data/v5.2/expected_subject/habtm_wizards.rbi +16 -10
  172. data/spec/test_data/v5.2/expected_subject.rbi +16 -10
  173. data/spec/test_data/v5.2/expected_wand.rbi +16 -10
  174. data/spec/test_data/v5.2/expected_wizard/habtm_subjects.rbi +16 -10
  175. data/spec/test_data/v5.2/expected_wizard.rbi +18 -12
  176. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +21 -15
  177. data/spec/test_data/v6.0/expected_active_record_base.rbi +10 -10
  178. data/spec/test_data/v6.0/expected_active_record_relation.rbi +12 -13
  179. data/spec/test_data/v6.0/expected_attachment.rbi +16 -10
  180. data/spec/test_data/v6.0/expected_blob.rbi +16 -10
  181. data/spec/test_data/v6.0/expected_habtm_subjects.rbi +3 -3
  182. data/spec/test_data/v6.0/expected_habtm_wizards.rbi +3 -3
  183. data/spec/test_data/v6.0/expected_headmaster.rbi +16 -10
  184. data/spec/test_data/v6.0/expected_internal_metadata.rbi +16 -10
  185. data/spec/test_data/v6.0/expected_potion.rbi +16 -10
  186. data/spec/test_data/v6.0/expected_robe.rbi +16 -10
  187. data/spec/test_data/v6.0/expected_routes.rbi +8 -0
  188. data/spec/test_data/v6.0/expected_schema_migration.rbi +16 -10
  189. data/spec/test_data/v6.0/expected_school.rbi +16 -10
  190. data/spec/test_data/v6.0/expected_spell/habtm_spell_books.rbi +16 -10
  191. data/spec/test_data/v6.0/expected_spell.rbi +16 -10
  192. data/spec/test_data/v6.0/expected_spell_book/habtm_spell_books.rbi +3 -3
  193. data/spec/test_data/v6.0/expected_spell_book/habtm_spells.rbi +16 -10
  194. data/spec/test_data/v6.0/expected_spell_book.rbi +16 -10
  195. data/spec/test_data/v6.0/expected_squib.rbi +18 -12
  196. data/spec/test_data/v6.0/expected_subject/habtm_wizards.rbi +16 -10
  197. data/spec/test_data/v6.0/expected_subject.rbi +16 -10
  198. data/spec/test_data/v6.0/expected_wand.rbi +16 -10
  199. data/spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi +16 -10
  200. data/spec/test_data/v6.0/expected_wizard.rbi +18 -12
  201. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +21 -15
  202. data/spec/test_data/{v5.1 → v6.1}/expected_active_record_base.rbi +16 -16
  203. data/spec/test_data/{v5.1 → v6.1}/expected_active_record_relation.rbi +28 -32
  204. data/spec/test_data/{v5.0 → v6.1}/expected_application_job.rbi +0 -0
  205. data/spec/test_data/{v5.0 → v6.1}/expected_application_mailer.rbi +0 -0
  206. data/spec/test_data/v6.1/expected_attachment.rbi +340 -0
  207. data/spec/test_data/{v5.0 → v6.1}/expected_award_house_point_hourglasses.rbi +0 -0
  208. data/spec/test_data/v6.1/expected_blob.rbi +388 -0
  209. data/spec/test_data/{v5.0 → v6.1}/expected_custom_application_job.rbi +0 -0
  210. data/spec/test_data/{v5.0 → v6.1}/expected_custom_application_mailer.rbi +0 -0
  211. data/spec/test_data/{v5.0 → v6.1}/expected_custom_award_house_point_hourglasses.rbi +0 -0
  212. data/spec/test_data/{v5.0 → v6.1}/expected_custom_daily_prophet_mailer.rbi +0 -0
  213. data/spec/test_data/{v5.0 → v6.1}/expected_custom_hogwarts_acceptance_mailer.rbi +0 -0
  214. data/spec/test_data/{v5.0 → v6.1}/expected_daily_prophet_mailer.rbi +0 -0
  215. data/spec/test_data/{v5.1 → v6.1}/expected_habtm_subjects.rbi +51 -3
  216. data/spec/test_data/{v5.1 → v6.1}/expected_habtm_wizards.rbi +51 -3
  217. data/spec/test_data/{v5.1 → v6.1}/expected_headmaster.rbi +42 -6
  218. data/spec/test_data/{v5.0 → v6.1}/expected_helpers.rbi +0 -0
  219. data/spec/test_data/{v5.0 → v6.1}/expected_helpers_with_application_and_devise_helpers.rbi +0 -0
  220. data/spec/test_data/{v5.0 → v6.1}/expected_hogwarts_acceptance_mailer.rbi +0 -0
  221. data/spec/test_data/{v5.1 → v6.1}/expected_internal_metadata.rbi +42 -6
  222. data/spec/test_data/{v5.0 → v6.1}/expected_no_routes.rbi +0 -0
  223. data/spec/test_data/{v5.1 → v6.1}/expected_potion.rbi +42 -6
  224. data/spec/test_data/v6.1/expected_record.rbi +301 -0
  225. data/spec/test_data/{v5.1 → v6.1}/expected_robe.rbi +42 -6
  226. data/spec/test_data/v6.1/expected_routes.rbi +175 -0
  227. data/spec/test_data/{v5.1 → v6.1}/expected_schema_migration.rbi +42 -6
  228. data/spec/test_data/{v5.1 → v6.1}/expected_school.rbi +42 -6
  229. data/spec/test_data/{v5.1 → v6.1}/expected_spell/habtm_spell_books.rbi +42 -6
  230. data/spec/test_data/{v5.1 → v6.1}/expected_spell.rbi +42 -6
  231. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book/habtm_spell_books.rbi +51 -3
  232. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book/habtm_spells.rbi +42 -6
  233. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book.rbi +78 -6
  234. data/spec/test_data/{v5.1 → v6.1}/expected_squib.rbi +514 -64
  235. data/spec/test_data/{v5.0 → v6.1}/expected_srb_tc_output.txt +0 -0
  236. data/spec/test_data/{v5.1 → v6.1}/expected_subject/habtm_wizards.rbi +42 -6
  237. data/spec/test_data/{v5.1 → v6.1}/expected_subject.rbi +42 -6
  238. data/spec/test_data/v6.1/expected_variant_record.rbi +376 -0
  239. data/spec/test_data/{v5.1 → v6.1}/expected_wand.rbi +108 -6
  240. data/spec/test_data/{v5.1 → v6.1}/expected_wizard/habtm_subjects.rbi +42 -6
  241. data/spec/test_data/{v5.1 → v6.1}/expected_wizard.rbi +514 -64
  242. data/spec/test_data/{v5.1 → v6.1}/expected_wizard_wo_spellbook.rbi +508 -58
  243. metadata +271 -503
  244. data/.travis.yml +0 -42
  245. data/lib/sorbet-rails/type_assert/actionpack.rbi +0 -4
  246. data/spec/support/v5.0/.gitignore +0 -21
  247. data/spec/support/v5.0/Gemfile +0 -37
  248. data/spec/support/v5.0/Gemfile.lock +0 -158
  249. data/spec/support/v5.0/app/assets/stylesheets/application.css +0 -15
  250. data/spec/support/v5.0/app/jobs/application_job.rb +0 -3
  251. data/spec/support/v5.0/app/mailers/application_mailer.rb +0 -5
  252. data/spec/support/v5.0/app/models/headmaster.rb +0 -8
  253. data/spec/support/v5.0/app/models/potion.rb +0 -6
  254. data/spec/support/v5.0/app/models/robe.rb +0 -4
  255. data/spec/support/v5.0/app/models/spell.rb +0 -5
  256. data/spec/support/v5.0/app/models/subject.rb +0 -5
  257. data/spec/support/v5.0/app/views/layouts/application.html.erb +0 -13
  258. data/spec/support/v5.0/bin/bundle +0 -3
  259. data/spec/support/v5.0/bin/setup +0 -34
  260. data/spec/support/v5.0/bin/update +0 -29
  261. data/spec/support/v5.0/config/application.rb +0 -27
  262. data/spec/support/v5.0/config/database.yml +0 -25
  263. data/spec/support/v5.0/config/environments/development.rb +0 -48
  264. data/spec/support/v5.0/config/environments/production.rb +0 -75
  265. data/spec/support/v5.0/config/environments/test.rb +0 -43
  266. data/spec/support/v5.0/config/initializers/cookies_serializer.rb +0 -6
  267. data/spec/support/v5.0/config/initializers/new_framework_defaults.rb +0 -27
  268. data/spec/support/v5.0/config/initializers/session_store.rb +0 -4
  269. data/spec/support/v5.0/config/locales/en.yml +0 -23
  270. data/spec/support/v5.0/config/puma.rb +0 -48
  271. data/spec/support/v5.0/config/routes.rb +0 -5
  272. data/spec/support/v5.0/db/migrate/20190620000001_create_wizards.rb +0 -14
  273. data/spec/support/v5.0/db/migrate/20190620000002_create_wands.rb +0 -12
  274. data/spec/support/v5.0/db/migrate/20190620000003_create_spell_books.rb +0 -10
  275. data/spec/support/v5.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +0 -17
  276. data/spec/support/v5.0/db/migrate/20190620000005_add_broom_to_wizard.rb +0 -6
  277. data/spec/support/v5.0/db/migrate/20190620000006_add_more_enums_to_wizard.rb +0 -9
  278. data/spec/support/v5.0/db/migrate/20190620000007_add_type_to_wizard.rb +0 -6
  279. data/spec/support/v5.0/db/migrate/20190620000008_add_robe_to_wizard.rb +0 -8
  280. data/spec/support/v5.0/db/migrate/20190620000009_add_school.rb +0 -10
  281. data/spec/support/v5.0/db/migrate/20190620000010_add_subject.rb +0 -8
  282. data/spec/support/v5.0/db/migrate/20190620000011_add_subjects_wizards.rb +0 -8
  283. data/spec/support/v5.0/db/migrate/20190620000012_add_spell.rb +0 -8
  284. data/spec/support/v5.0/db/migrate/20190620000013_add_spells_spell_books.rb +0 -8
  285. data/spec/support/v5.0/db/schema.rb +0 -96
  286. data/spec/support/v5.0/public/robots.txt +0 -5
  287. data/spec/support/v5.1/Gemfile.lock +0 -165
  288. data/spec/support/v5.1/README.md +0 -24
  289. data/spec/support/v5.1/Rakefile +0 -6
  290. data/spec/support/v5.1/app/assets/config/manifest.js +0 -2
  291. data/spec/support/v5.1/app/controllers/application_controller.rb +0 -4
  292. data/spec/support/v5.1/app/helpers/application_helper.rb +0 -3
  293. data/spec/support/v5.1/app/helpers/bar_helper.rb +0 -3
  294. data/spec/support/v5.1/app/helpers/baz_helper.rb +0 -3
  295. data/spec/support/v5.1/app/helpers/foo_helper.rb +0 -3
  296. data/spec/support/v5.1/app/jobs/application_job.rb +0 -3
  297. data/spec/support/v5.1/app/jobs/award_house_point_hourglasses.rb +0 -12
  298. data/spec/support/v5.1/app/mailers/daily_prophet_mailer.rb +0 -9
  299. data/spec/support/v5.1/app/mailers/hogwarts_acceptance_mailer.rb +0 -29
  300. data/spec/support/v5.1/app/models/application_record.rb +0 -4
  301. data/spec/support/v5.1/app/models/concerns/.keep +0 -0
  302. data/spec/support/v5.1/app/models/concerns/mythical.rb +0 -11
  303. data/spec/support/v5.1/app/models/school.rb +0 -5
  304. data/spec/support/v5.1/app/models/spell_book.rb +0 -18
  305. data/spec/support/v5.1/app/models/squib.rb +0 -6
  306. data/spec/support/v5.1/app/models/wand.rb +0 -19
  307. data/spec/support/v5.1/app/models/wizard.rb +0 -65
  308. data/spec/support/v5.1/app/views/layouts/mailer.html.erb +0 -13
  309. data/spec/support/v5.1/app/views/layouts/mailer.text.erb +0 -1
  310. data/spec/support/v5.1/bin/bundle +0 -3
  311. data/spec/support/v5.1/bin/rails +0 -4
  312. data/spec/support/v5.1/bin/rake +0 -4
  313. data/spec/support/v5.1/bin/update +0 -29
  314. data/spec/support/v5.1/bin/yarn +0 -11
  315. data/spec/support/v5.1/config/boot.rb +0 -4
  316. data/spec/support/v5.1/config/environment.rb +0 -6
  317. data/spec/support/v5.1/config/initializers/application_controller_renderer.rb +0 -9
  318. data/spec/support/v5.1/config/initializers/backtrace_silencers.rb +0 -8
  319. data/spec/support/v5.1/config/initializers/filter_parameter_logging.rb +0 -5
  320. data/spec/support/v5.1/config/initializers/inflections.rb +0 -17
  321. data/spec/support/v5.1/config/initializers/mime_types.rb +0 -5
  322. data/spec/support/v5.1/config/initializers/sorbet_rails.rb +0 -3
  323. data/spec/support/v5.1/config/initializers/wrap_parameters.rb +0 -15
  324. data/spec/support/v5.1/config/routes.rb +0 -5
  325. data/spec/support/v5.1/config.ru +0 -5
  326. data/spec/support/v5.1/db/migrate/20190620000005_add_broom_to_wizard.rb +0 -6
  327. data/spec/support/v5.1/db/migrate/20190620000014_create_headmasters.rb +0 -9
  328. data/spec/support/v5.1/db/migrate/20190620000015_add_serialized_to_wizards.rb +0 -9
  329. data/spec/support/v5.1/db/seeds.rb +0 -8
  330. data/spec/support/v5.1/lib/assets/.keep +0 -0
  331. data/spec/support/v5.1/lib/mythical_rbi_plugin.rb +0 -16
  332. data/spec/support/v5.1/lib/tasks/.keep +0 -0
  333. data/spec/support/v5.1/log/.keep +0 -0
  334. data/spec/support/v5.1/package.json +0 -5
  335. data/spec/support/v5.1/public/robots.txt +0 -1
  336. data/spec/support/v5.1/sorbet_test_cases.rb +0 -409
  337. data/spec/support/v5.1/tmp/.keep +0 -0
  338. data/spec/support/v5.1/vendor/.keep +0 -0
  339. data/spec/test_data/v5.0/expected_active_record_base.rbi +0 -113
  340. data/spec/test_data/v5.0/expected_active_record_relation.rbi +0 -199
  341. data/spec/test_data/v5.0/expected_habtm_subjects.rbi +0 -660
  342. data/spec/test_data/v5.0/expected_habtm_wizards.rbi +0 -660
  343. data/spec/test_data/v5.0/expected_headmaster.rbi +0 -328
  344. data/spec/test_data/v5.0/expected_internal_metadata.rbi +0 -298
  345. data/spec/test_data/v5.0/expected_potion.rbi +0 -280
  346. data/spec/test_data/v5.0/expected_robe.rbi +0 -301
  347. data/spec/test_data/v5.0/expected_routes.rbi +0 -27
  348. data/spec/test_data/v5.0/expected_schema_migration.rbi +0 -271
  349. data/spec/test_data/v5.0/expected_school.rbi +0 -301
  350. data/spec/test_data/v5.0/expected_spell/habtm_spell_books.rbi +0 -319
  351. data/spec/test_data/v5.0/expected_spell.rbi +0 -292
  352. data/spec/test_data/v5.0/expected_spell_book/habtm_spell_books.rbi +0 -637
  353. data/spec/test_data/v5.0/expected_spell_book/habtm_spells.rbi +0 -319
  354. data/spec/test_data/v5.0/expected_spell_book.rbi +0 -415
  355. data/spec/test_data/v5.0/expected_squib.rbi +0 -832
  356. data/spec/test_data/v5.0/expected_subject/habtm_wizards.rbi +0 -319
  357. data/spec/test_data/v5.0/expected_subject.rbi +0 -292
  358. data/spec/test_data/v5.0/expected_wand.rbi +0 -497
  359. data/spec/test_data/v5.0/expected_wizard/habtm_subjects.rbi +0 -319
  360. data/spec/test_data/v5.0/expected_wizard.rbi +0 -908
  361. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +0 -902
  362. data/spec/test_data/v5.1/expected_application_job.rbi +0 -20
  363. data/spec/test_data/v5.1/expected_application_mailer.rbi +0 -5
  364. data/spec/test_data/v5.1/expected_award_house_point_hourglasses.rbi +0 -20
  365. data/spec/test_data/v5.1/expected_custom_application_job.rbi +0 -21
  366. data/spec/test_data/v5.1/expected_custom_application_mailer.rbi +0 -6
  367. data/spec/test_data/v5.1/expected_custom_award_house_point_hourglasses.rbi +0 -21
  368. data/spec/test_data/v5.1/expected_custom_daily_prophet_mailer.rbi +0 -8
  369. data/spec/test_data/v5.1/expected_custom_hogwarts_acceptance_mailer.rbi +0 -21
  370. data/spec/test_data/v5.1/expected_daily_prophet_mailer.rbi +0 -7
  371. data/spec/test_data/v5.1/expected_helpers.rbi +0 -27
  372. data/spec/test_data/v5.1/expected_helpers_with_application_and_devise_helpers.rbi +0 -34
  373. data/spec/test_data/v5.1/expected_hogwarts_acceptance_mailer.rbi +0 -20
  374. data/spec/test_data/v5.1/expected_no_routes.rbi +0 -4
  375. data/spec/test_data/v5.1/expected_routes.rbi +0 -27
  376. data/spec/test_data/v5.1/expected_srb_tc_output.txt +0 -1
@@ -130,10 +130,10 @@ module Wizard::GeneratedSerializedAttributeMethods
130
130
  sig { returns(T::Boolean) }
131
131
  def owl_results?; end
132
132
 
133
- sig { returns(T.nilable(T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String))) }
133
+ sig { returns(T.nilable(ActiveRecord::Coders::JSON)) }
134
134
  def patronus_characteristics; end
135
135
 
136
- sig { params(value: T.nilable(T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String))).void }
136
+ sig { params(value: T.nilable(ActiveRecord::Coders::JSON)).void }
137
137
  def patronus_characteristics=(value); end
138
138
 
139
139
  sig { returns(T::Boolean) }
@@ -268,62 +268,6 @@ module Wizard::GeneratedAttributeMethods
268
268
  def updated_at?; end
269
269
  end
270
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
271
  module Wizard::CustomFinderMethods
328
272
  sig { params(limit: Integer).returns(T::Array[Wizard]) }
329
273
  def first_n(limit); end
@@ -334,7 +278,7 @@ module Wizard::CustomFinderMethods
334
278
  sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Wizard]) }
335
279
  def find_n(*args); end
336
280
 
337
- sig { params(id: Integer).returns(T.nilable(Wizard)) }
281
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(Wizard)) }
338
282
  def find_by_id(id); end
339
283
 
340
284
  sig { params(id: Integer).returns(Wizard) }
@@ -368,6 +312,12 @@ class Wizard < ApplicationRecord
368
312
  sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
369
313
  def self.quidditch_positions; end
370
314
 
315
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
316
+ def self.Alastor_Mad_Eye_Moody(*args); end
317
+
318
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
319
+ def self.Filius_Flitwick(*args); end
320
+
371
321
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
372
322
  def self.Gryffindor(*args); end
373
323
 
@@ -377,9 +327,18 @@ class Wizard < ApplicationRecord
377
327
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
378
328
  def self.Hufflepuff(*args); end
379
329
 
330
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
331
+ def self.Minerva_McGonagall(*args); end
332
+
333
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
334
+ def self.Pomona_Sprout(*args); end
335
+
380
336
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
381
337
  def self.Ravenclaw(*args); end
382
338
 
339
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
340
+ def self.Severus_Snape(*args); end
341
+
383
342
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
384
343
  def self.Slytherin(*args); end
385
344
 
@@ -407,6 +366,72 @@ class Wizard < ApplicationRecord
407
366
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
408
367
  def self.color_green_eyes(*args); end
409
368
 
369
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
370
+ def self.not_Alastor_Mad_Eye_Moody(*args); end
371
+
372
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
373
+ def self.not_Filius_Flitwick(*args); end
374
+
375
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
376
+ def self.not_Gryffindor(*args); end
377
+
378
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
379
+ def self.not_Hagrid(*args); end
380
+
381
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
382
+ def self.not_Hufflepuff(*args); end
383
+
384
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
385
+ def self.not_Minerva_McGonagall(*args); end
386
+
387
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
388
+ def self.not_Pomona_Sprout(*args); end
389
+
390
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
391
+ def self.not_Ravenclaw(*args); end
392
+
393
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
394
+ def self.not_Severus_Snape(*args); end
395
+
396
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
397
+ def self.not_Slytherin(*args); end
398
+
399
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
400
+ def self.not_black_hair(*args); end
401
+
402
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
403
+ def self.not_blonde_hair(*args); end
404
+
405
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
406
+ def self.not_broom_firebolt(*args); end
407
+
408
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
409
+ def self.not_broom_nimbus(*args); end
410
+
411
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
412
+ def self.not_brown_hair(*args); end
413
+
414
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
415
+ def self.not_color_blue_eyes(*args); end
416
+
417
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
418
+ def self.not_color_brown_eyes(*args); end
419
+
420
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
421
+ def self.not_color_green_eyes(*args); end
422
+
423
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
424
+ def self.not_quidditch_beater(*args); end
425
+
426
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
427
+ def self.not_quidditch_chaser(*args); end
428
+
429
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
430
+ def self.not_quidditch_keeper(*args); end
431
+
432
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
433
+ def self.not_quidditch_seeker(*args); end
434
+
410
435
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
411
436
  def self.quidditch_beater(*args); end
412
437
 
@@ -422,6 +447,12 @@ class Wizard < ApplicationRecord
422
447
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
423
448
  def self.recent(*args); end
424
449
 
450
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
451
+ def self.with_attached_hats(*args); end
452
+
453
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
454
+ def self.with_attached_school_photo(*args); end
455
+
425
456
  sig { returns(T.nilable(Wizard::Broom)) }
426
457
  def typed_broom; end
427
458
 
@@ -521,7 +552,13 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
521
552
  include Wizard::ActiveRelation_WhereNot
522
553
  include Wizard::CustomFinderMethods
523
554
  include Wizard::QueryMethodsReturningRelation
524
- Elem = type_member(fixed: Wizard)
555
+ Elem = type_member {{fixed: Wizard}}
556
+
557
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
558
+ def Alastor_Mad_Eye_Moody(*args); end
559
+
560
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
561
+ def Filius_Flitwick(*args); end
525
562
 
526
563
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
527
564
  def Gryffindor(*args); end
@@ -532,9 +569,18 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
532
569
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
533
570
  def Hufflepuff(*args); end
534
571
 
572
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
573
+ def Minerva_McGonagall(*args); end
574
+
575
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
576
+ def Pomona_Sprout(*args); end
577
+
535
578
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
536
579
  def Ravenclaw(*args); end
537
580
 
581
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
582
+ def Severus_Snape(*args); end
583
+
538
584
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
539
585
  def Slytherin(*args); end
540
586
 
@@ -562,6 +608,72 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
562
608
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
563
609
  def color_green_eyes(*args); end
564
610
 
611
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
612
+ def not_Alastor_Mad_Eye_Moody(*args); end
613
+
614
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
615
+ def not_Filius_Flitwick(*args); end
616
+
617
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
618
+ def not_Gryffindor(*args); end
619
+
620
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
621
+ def not_Hagrid(*args); end
622
+
623
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
624
+ def not_Hufflepuff(*args); end
625
+
626
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
627
+ def not_Minerva_McGonagall(*args); end
628
+
629
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
630
+ def not_Pomona_Sprout(*args); end
631
+
632
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
633
+ def not_Ravenclaw(*args); end
634
+
635
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
636
+ def not_Severus_Snape(*args); end
637
+
638
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
639
+ def not_Slytherin(*args); end
640
+
641
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
642
+ def not_black_hair(*args); end
643
+
644
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
645
+ def not_blonde_hair(*args); end
646
+
647
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
648
+ def not_broom_firebolt(*args); end
649
+
650
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
651
+ def not_broom_nimbus(*args); end
652
+
653
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
654
+ def not_brown_hair(*args); end
655
+
656
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
657
+ def not_color_blue_eyes(*args); end
658
+
659
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
660
+ def not_color_brown_eyes(*args); end
661
+
662
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
663
+ def not_color_green_eyes(*args); end
664
+
665
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
666
+ def not_quidditch_beater(*args); end
667
+
668
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
669
+ def not_quidditch_chaser(*args); end
670
+
671
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
672
+ def not_quidditch_keeper(*args); end
673
+
674
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
675
+ def not_quidditch_seeker(*args); end
676
+
565
677
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
566
678
  def quidditch_beater(*args); end
567
679
 
@@ -576,13 +688,25 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
576
688
 
577
689
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
578
690
  def recent(*args); end
691
+
692
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
693
+ def with_attached_hats(*args); end
694
+
695
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
696
+ def with_attached_school_photo(*args); end
579
697
  end
580
698
 
581
699
  class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
582
700
  include Wizard::ActiveRelation_WhereNot
583
701
  include Wizard::CustomFinderMethods
584
702
  include Wizard::QueryMethodsReturningAssociationRelation
585
- Elem = type_member(fixed: Wizard)
703
+ Elem = type_member {{fixed: Wizard}}
704
+
705
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
706
+ def Alastor_Mad_Eye_Moody(*args); end
707
+
708
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
709
+ def Filius_Flitwick(*args); end
586
710
 
587
711
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
588
712
  def Gryffindor(*args); end
@@ -593,9 +717,18 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
593
717
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
594
718
  def Hufflepuff(*args); end
595
719
 
720
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
721
+ def Minerva_McGonagall(*args); end
722
+
723
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
724
+ def Pomona_Sprout(*args); end
725
+
596
726
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
597
727
  def Ravenclaw(*args); end
598
728
 
729
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
730
+ def Severus_Snape(*args); end
731
+
599
732
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
600
733
  def Slytherin(*args); end
601
734
 
@@ -623,6 +756,72 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
623
756
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
624
757
  def color_green_eyes(*args); end
625
758
 
759
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
760
+ def not_Alastor_Mad_Eye_Moody(*args); end
761
+
762
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
763
+ def not_Filius_Flitwick(*args); end
764
+
765
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
766
+ def not_Gryffindor(*args); end
767
+
768
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
769
+ def not_Hagrid(*args); end
770
+
771
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
772
+ def not_Hufflepuff(*args); end
773
+
774
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
775
+ def not_Minerva_McGonagall(*args); end
776
+
777
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
778
+ def not_Pomona_Sprout(*args); end
779
+
780
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
781
+ def not_Ravenclaw(*args); end
782
+
783
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
784
+ def not_Severus_Snape(*args); end
785
+
786
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
787
+ def not_Slytherin(*args); end
788
+
789
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
790
+ def not_black_hair(*args); end
791
+
792
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
793
+ def not_blonde_hair(*args); end
794
+
795
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
796
+ def not_broom_firebolt(*args); end
797
+
798
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
799
+ def not_broom_nimbus(*args); end
800
+
801
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
802
+ def not_brown_hair(*args); end
803
+
804
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
805
+ def not_color_blue_eyes(*args); end
806
+
807
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
808
+ def not_color_brown_eyes(*args); end
809
+
810
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
811
+ def not_color_green_eyes(*args); end
812
+
813
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
814
+ def not_quidditch_beater(*args); end
815
+
816
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
817
+ def not_quidditch_chaser(*args); end
818
+
819
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
820
+ def not_quidditch_keeper(*args); end
821
+
822
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
823
+ def not_quidditch_seeker(*args); end
824
+
626
825
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
627
826
  def quidditch_beater(*args); end
628
827
 
@@ -637,12 +836,24 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
637
836
 
638
837
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
639
838
  def recent(*args); end
839
+
840
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
841
+ def with_attached_hats(*args); end
842
+
843
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
844
+ def with_attached_school_photo(*args); end
640
845
  end
641
846
 
642
847
  class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
643
848
  include Wizard::CustomFinderMethods
644
849
  include Wizard::QueryMethodsReturningAssociationRelation
645
- Elem = type_member(fixed: Wizard)
850
+ Elem = type_member {{fixed: Wizard}}
851
+
852
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
853
+ def Alastor_Mad_Eye_Moody(*args); end
854
+
855
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
856
+ def Filius_Flitwick(*args); end
646
857
 
647
858
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
648
859
  def Gryffindor(*args); end
@@ -653,9 +864,18 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
653
864
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
654
865
  def Hufflepuff(*args); end
655
866
 
867
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
868
+ def Minerva_McGonagall(*args); end
869
+
870
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
871
+ def Pomona_Sprout(*args); end
872
+
656
873
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
657
874
  def Ravenclaw(*args); end
658
875
 
876
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
877
+ def Severus_Snape(*args); end
878
+
659
879
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
660
880
  def Slytherin(*args); end
661
881
 
@@ -683,6 +903,72 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
683
903
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
684
904
  def color_green_eyes(*args); end
685
905
 
906
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
907
+ def not_Alastor_Mad_Eye_Moody(*args); end
908
+
909
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
910
+ def not_Filius_Flitwick(*args); end
911
+
912
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
913
+ def not_Gryffindor(*args); end
914
+
915
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
916
+ def not_Hagrid(*args); end
917
+
918
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
919
+ def not_Hufflepuff(*args); end
920
+
921
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
922
+ def not_Minerva_McGonagall(*args); end
923
+
924
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
925
+ def not_Pomona_Sprout(*args); end
926
+
927
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
928
+ def not_Ravenclaw(*args); end
929
+
930
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
931
+ def not_Severus_Snape(*args); end
932
+
933
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
934
+ def not_Slytherin(*args); end
935
+
936
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
937
+ def not_black_hair(*args); end
938
+
939
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
940
+ def not_blonde_hair(*args); end
941
+
942
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
943
+ def not_broom_firebolt(*args); end
944
+
945
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
946
+ def not_broom_nimbus(*args); end
947
+
948
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
949
+ def not_brown_hair(*args); end
950
+
951
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
952
+ def not_color_blue_eyes(*args); end
953
+
954
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
955
+ def not_color_brown_eyes(*args); end
956
+
957
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
958
+ def not_color_green_eyes(*args); end
959
+
960
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
961
+ def not_quidditch_beater(*args); end
962
+
963
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
964
+ def not_quidditch_chaser(*args); end
965
+
966
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
967
+ def not_quidditch_keeper(*args); end
968
+
969
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
970
+ def not_quidditch_seeker(*args); end
971
+
686
972
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
687
973
  def quidditch_beater(*args); end
688
974
 
@@ -698,6 +984,12 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
698
984
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
699
985
  def recent(*args); end
700
986
 
987
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
988
+ def with_attached_hats(*args); end
989
+
990
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
991
+ def with_attached_school_photo(*args); end
992
+
701
993
  sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
702
994
  def <<(*records); end
703
995
 
@@ -719,7 +1011,7 @@ module Wizard::QueryMethodsReturningRelation
719
1011
  def unscoped(&block); end
720
1012
 
721
1013
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
722
- def select(*args); end
1014
+ def reselect(*args); end
723
1015
 
724
1016
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
725
1017
  def order(*args); end
@@ -754,6 +1046,9 @@ module Wizard::QueryMethodsReturningRelation
754
1046
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
755
1047
  def preload(*args); end
756
1048
 
1049
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1050
+ def extract_associated(*args); end
1051
+
757
1052
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
758
1053
  def eager_load(*args); end
759
1054
 
@@ -790,12 +1085,27 @@ module Wizard::QueryMethodsReturningRelation
790
1085
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
791
1086
  def unscope(*args); end
792
1087
 
1088
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1089
+ def optimizer_hints(*args); end
1090
+
793
1091
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
794
1092
  def merge(*args); end
795
1093
 
796
1094
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
797
1095
  def except(*args); end
798
1096
 
1097
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1098
+ def only(*args); end
1099
+
1100
+ sig { params(block: T.proc.params(e: Wizard).returns(T::Boolean)).returns(T::Array[Wizard]) }
1101
+ def select(&block); end
1102
+
1103
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Wizard::ActiveRecord_Relation) }
1104
+ def select_columns(*args); end
1105
+
1106
+ sig { params(args: Symbol).returns(Wizard::ActiveRecord_Relation) }
1107
+ def where_missing(*args); end
1108
+
799
1109
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
800
1110
  def extending(*args, &block); end
801
1111
 
@@ -820,7 +1130,7 @@ module Wizard::QueryMethodsReturningAssociationRelation
820
1130
  def unscoped(&block); end
821
1131
 
822
1132
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
823
- def select(*args); end
1133
+ def reselect(*args); end
824
1134
 
825
1135
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
826
1136
  def order(*args); end
@@ -855,6 +1165,9 @@ module Wizard::QueryMethodsReturningAssociationRelation
855
1165
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
856
1166
  def preload(*args); end
857
1167
 
1168
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1169
+ def extract_associated(*args); end
1170
+
858
1171
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
859
1172
  def eager_load(*args); end
860
1173
 
@@ -891,12 +1204,27 @@ module Wizard::QueryMethodsReturningAssociationRelation
891
1204
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
892
1205
  def unscope(*args); end
893
1206
 
1207
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1208
+ def optimizer_hints(*args); end
1209
+
894
1210
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
895
1211
  def merge(*args); end
896
1212
 
897
1213
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
898
1214
  def except(*args); end
899
1215
 
1216
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1217
+ def only(*args); end
1218
+
1219
+ sig { params(block: T.proc.params(e: Wizard).returns(T::Boolean)).returns(T::Array[Wizard]) }
1220
+ def select(&block); end
1221
+
1222
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Wizard::ActiveRecord_AssociationRelation) }
1223
+ def select_columns(*args); end
1224
+
1225
+ sig { params(args: Symbol).returns(Wizard::ActiveRecord_AssociationRelation) }
1226
+ def where_missing(*args); end
1227
+
900
1228
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
901
1229
  def extending(*args, &block); end
902
1230
 
@@ -912,3 +1240,125 @@ module Wizard::QueryMethodsReturningAssociationRelation
912
1240
  end
913
1241
  def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
914
1242
  end
1243
+
1244
+ module Wizard::GeneratedAssociationMethods
1245
+ sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
1246
+ def hats_attachments; end
1247
+
1248
+ sig { returns(T::Array[T.untyped]) }
1249
+ def hats_attachment_ids; end
1250
+
1251
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
1252
+ def hats_attachments=(value); end
1253
+
1254
+ sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
1255
+ def hats_blobs; end
1256
+
1257
+ sig { returns(T::Array[T.untyped]) }
1258
+ def hats_blob_ids; end
1259
+
1260
+ sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
1261
+ def hats_blobs=(value); end
1262
+
1263
+ sig { returns(T.nilable(::School)) }
1264
+ def school; end
1265
+
1266
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1267
+ def build_school(*args, &block); end
1268
+
1269
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1270
+ def create_school(*args, &block); end
1271
+
1272
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1273
+ def create_school!(*args, &block); end
1274
+
1275
+ sig { params(value: T.nilable(::School)).void }
1276
+ def school=(value); end
1277
+
1278
+ sig { returns(T.nilable(::School)) }
1279
+ def reload_school; end
1280
+
1281
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1282
+ def school_photo_attachment; end
1283
+
1284
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1285
+ def build_school_photo_attachment(*args, &block); end
1286
+
1287
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1288
+ def create_school_photo_attachment(*args, &block); end
1289
+
1290
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1291
+ def create_school_photo_attachment!(*args, &block); end
1292
+
1293
+ sig { params(value: T.nilable(::ActiveStorage::Attachment)).void }
1294
+ def school_photo_attachment=(value); end
1295
+
1296
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1297
+ def reload_school_photo_attachment; end
1298
+
1299
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1300
+ def school_photo_blob; end
1301
+
1302
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1303
+ def build_school_photo_blob(*args, &block); end
1304
+
1305
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1306
+ def create_school_photo_blob(*args, &block); end
1307
+
1308
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1309
+ def create_school_photo_blob!(*args, &block); end
1310
+
1311
+ sig { params(value: T.nilable(::ActiveStorage::Blob)).void }
1312
+ def school_photo_blob=(value); end
1313
+
1314
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1315
+ def reload_school_photo_blob; end
1316
+
1317
+ sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
1318
+ def spell_books; end
1319
+
1320
+ sig { returns(T::Array[Integer]) }
1321
+ def spell_book_ids; end
1322
+
1323
+ sig { params(value: T::Enumerable[::SpellBook]).void }
1324
+ def spell_books=(value); end
1325
+
1326
+ sig { returns(::Subject::ActiveRecord_Associations_CollectionProxy) }
1327
+ def subjects; end
1328
+
1329
+ sig { returns(T::Array[Integer]) }
1330
+ def subject_ids; end
1331
+
1332
+ sig { params(value: T::Enumerable[::Subject]).void }
1333
+ def subjects=(value); end
1334
+
1335
+ sig { returns(T.nilable(::Wand)) }
1336
+ def wand; end
1337
+
1338
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1339
+ def build_wand(*args, &block); end
1340
+
1341
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1342
+ def create_wand(*args, &block); end
1343
+
1344
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1345
+ def create_wand!(*args, &block); end
1346
+
1347
+ sig { params(value: T.nilable(::Wand)).void }
1348
+ def wand=(value); end
1349
+
1350
+ sig { returns(T.nilable(::Wand)) }
1351
+ def reload_wand; end
1352
+
1353
+ sig { returns(T.nilable(ActiveStorage::Attached::One)) }
1354
+ def school_photo; end
1355
+
1356
+ sig { params(attachable: T.untyped).returns(T.untyped) }
1357
+ def school_photo=(attachable); end
1358
+
1359
+ sig { returns(T.nilable(ActiveStorage::Attached::Many)) }
1360
+ def hats; end
1361
+
1362
+ sig { params(attachables: T.untyped).returns(T.untyped) }
1363
+ def hats=(attachables); end
1364
+ end