sorbet-rails 0.7.4 → 0.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (357) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +7 -0
  3. data/.github/workflows/ci-master.yml +28 -0
  4. data/.github/workflows/ci.yml +26 -0
  5. data/.github/workflows/publish-gem.yml +21 -0
  6. data/CONTRIBUTING.md +1 -2
  7. data/Gemfile +7 -9
  8. data/README.md +7 -3
  9. data/Rakefile +13 -24
  10. data/lib/sorbet-rails/active_record_rbi_formatter.rb +12 -9
  11. data/lib/sorbet-rails/dependent_gem_rbis/activerecord.rbi +4 -0
  12. data/lib/sorbet-rails/dependent_gem_rbis/parlour.rbi +1 -1
  13. data/lib/sorbet-rails/gem_plugins/aasm_plugin.rb +50 -0
  14. data/lib/sorbet-rails/gem_plugins/money_rails_plugin.rb +76 -0
  15. data/lib/sorbet-rails/job_rbi_formatter.rb +1 -1
  16. data/lib/sorbet-rails/model_plugins/active_record_serialized_attribute.rb +3 -2
  17. data/lib/sorbet-rails/model_plugins/base.rb +8 -1
  18. data/lib/sorbet-rails/model_plugins/custom_finder_methods.rb +1 -1
  19. data/lib/sorbet-rails/model_plugins/plugins.rb +6 -0
  20. data/lib/sorbet-rails/railtie.rb +1 -1
  21. data/lib/sorbet-rails/routes_rbi_formatter.rb +8 -0
  22. data/lib/sorbet-rails/tasks/rails_rbi.rake +12 -8
  23. data/sorbet-rails.gemspec +2 -2
  24. data/spec/bin/run_all_specs.sh +3 -4
  25. data/spec/bin/run_spec.sh +4 -1
  26. data/spec/generators/rails-template.rb +3 -20
  27. data/spec/generators/sorbet_test_cases.rb +17 -4
  28. data/spec/rails_helper.rb +5 -5
  29. data/spec/rake_rails_rbi_models_spec.rb +11 -4
  30. data/spec/sorbet_spec.rb +2 -1
  31. data/spec/support/v5.2/Gemfile +1 -3
  32. data/spec/support/v5.2/Gemfile.lock +66 -71
  33. data/spec/support/v5.2/app/controllers/application_controller.rb +1 -1
  34. data/spec/support/v5.2/app/mailers/application_mailer.rb +1 -1
  35. data/spec/support/v5.2/app/mailers/daily_prophet_mailer.rb +1 -1
  36. data/spec/support/v5.2/app/mailers/hogwarts_acceptance_mailer.rb +1 -1
  37. data/spec/support/v5.2/app/models/spell_book.rb +1 -1
  38. data/spec/support/v5.2/app/models/wand.rb +1 -1
  39. data/spec/support/v5.2/app/models/wizard.rb +1 -1
  40. data/spec/support/v5.2/config/environments/development.rb +1 -1
  41. data/spec/support/v5.2/config/environments/production.rb +1 -1
  42. data/spec/support/v5.2/config/environments/test.rb +1 -1
  43. data/spec/support/v5.2/config/routes.rb +1 -1
  44. data/spec/support/v5.2/sorbet_test_cases.rb +17 -4
  45. data/spec/support/v6.0/Gemfile +1 -1
  46. data/spec/support/v6.0/Gemfile.lock +81 -85
  47. data/spec/support/v6.0/app/mailers/application_mailer.rb +1 -1
  48. data/spec/support/v6.0/config/environments/development.rb +1 -1
  49. data/spec/support/v6.0/config/environments/test.rb +1 -1
  50. data/spec/support/v6.0/config/initializers/cookies_serializer.rb +1 -1
  51. data/spec/support/v6.0/config/initializers/sorbet_rails.rb +1 -1
  52. data/spec/support/v6.0/config/routes.rb +1 -1
  53. data/spec/support/v6.0/sorbet_test_cases.rb +17 -4
  54. data/spec/support/{v5.1 → v6.1}/.gitignore +13 -2
  55. data/spec/support/{v5.1 → v6.1}/Gemfile +12 -15
  56. data/spec/support/{v5.1 → v6.1}/Gemfile.lock +87 -59
  57. data/spec/support/{v5.0 → v6.1}/README.md +0 -0
  58. data/spec/support/{v5.0 → v6.1}/Rakefile +0 -0
  59. data/spec/support/{v5.0 → v6.1}/app/assets/config/manifest.js +0 -0
  60. data/spec/support/{v5.0 → v6.1}/app/assets/images/.keep +0 -0
  61. data/spec/support/{v5.1 → v6.1}/app/assets/stylesheets/application.css +0 -0
  62. data/spec/support/{v5.0 → v6.1}/app/controllers/application_controller.rb +1 -2
  63. data/spec/support/{v5.0 → v6.1}/app/controllers/concerns/.keep +0 -0
  64. data/spec/support/{v5.0 → v6.1}/app/helpers/application_helper.rb +0 -0
  65. data/spec/support/{v5.0 → v6.1}/app/helpers/bar_helper.rb +0 -0
  66. data/spec/support/{v5.0 → v6.1}/app/helpers/baz_helper.rb +0 -0
  67. data/spec/support/{v5.0 → v6.1}/app/helpers/foo_helper.rb +0 -0
  68. data/spec/support/v6.1/app/jobs/application_job.rb +8 -0
  69. data/spec/support/{v5.0 → v6.1}/app/jobs/award_house_point_hourglasses.rb +0 -0
  70. data/spec/support/{v5.1 → v6.1}/app/mailers/application_mailer.rb +1 -1
  71. data/spec/support/{v5.0 → v6.1}/app/mailers/daily_prophet_mailer.rb +0 -0
  72. data/spec/support/{v5.0 → v6.1}/app/mailers/hogwarts_acceptance_mailer.rb +0 -0
  73. data/spec/support/{v5.0 → v6.1}/app/models/application_record.rb +0 -0
  74. data/spec/support/{v5.0 → v6.1}/app/models/concerns/.keep +0 -0
  75. data/spec/support/{v5.0 → v6.1}/app/models/concerns/mythical.rb +0 -0
  76. data/spec/support/{v5.1 → v6.1}/app/models/headmaster.rb +1 -1
  77. data/spec/support/{v5.1 → v6.1}/app/models/potion.rb +0 -0
  78. data/spec/support/{v5.1 → v6.1}/app/models/robe.rb +0 -0
  79. data/spec/support/{v5.0 → v6.1}/app/models/school.rb +1 -1
  80. data/spec/support/{v5.1 → v6.1}/app/models/spell.rb +0 -0
  81. data/spec/support/{v5.0 → v6.1}/app/models/spell_book.rb +0 -0
  82. data/spec/support/{v5.0 → v6.1}/app/models/squib.rb +0 -0
  83. data/spec/support/{v5.1 → v6.1}/app/models/subject.rb +0 -0
  84. data/spec/support/{v5.0 → v6.1}/app/models/wand.rb +0 -0
  85. data/spec/support/{v5.0 → v6.1}/app/models/wizard.rb +2 -1
  86. data/spec/support/{v5.1 → v6.1}/app/views/layouts/application.html.erb +2 -1
  87. data/spec/support/{v5.0 → v6.1}/app/views/layouts/mailer.html.erb +0 -0
  88. data/spec/support/{v5.0 → v6.1}/app/views/layouts/mailer.text.erb +0 -0
  89. data/spec/support/v6.1/bin/bundle +114 -0
  90. data/spec/support/{v5.0 → v6.1}/bin/rails +0 -0
  91. data/spec/support/{v5.0 → v6.1}/bin/rake +0 -0
  92. data/spec/support/{v5.1 → v6.1}/bin/setup +6 -11
  93. data/spec/support/{v5.1 → v6.1}/config/application.rb +8 -4
  94. data/spec/support/{v5.0 → v6.1}/config/boot.rb +0 -0
  95. data/spec/support/{v5.1 → v6.1}/config/database.yml +1 -1
  96. data/spec/support/{v5.0 → v6.1}/config/environment.rb +0 -0
  97. data/spec/support/{v5.1 → v6.1}/config/environments/development.rb +12 -4
  98. data/spec/support/{v5.1 → v6.1}/config/environments/production.rb +29 -7
  99. data/spec/support/{v5.1 → v6.1}/config/environments/test.rb +13 -7
  100. data/spec/support/{v5.0 → v6.1}/config/initializers/application_controller_renderer.rb +0 -0
  101. data/spec/support/{v5.0 → v6.1}/config/initializers/backtrace_silencers.rb +0 -0
  102. data/spec/support/v6.1/config/initializers/content_security_policy.rb +29 -0
  103. data/spec/support/{v5.1 → v6.1}/config/initializers/cookies_serializer.rb +1 -1
  104. data/spec/support/{v5.0 → v6.1}/config/initializers/filter_parameter_logging.rb +0 -0
  105. data/spec/support/{v5.0 → v6.1}/config/initializers/inflections.rb +0 -0
  106. data/spec/support/{v5.0 → v6.1}/config/initializers/mime_types.rb +0 -0
  107. data/spec/support/{v5.0 → v6.1}/config/initializers/sorbet_rails.rb +1 -1
  108. data/spec/support/{v5.0 → v6.1}/config/initializers/wrap_parameters.rb +0 -0
  109. data/spec/support/{v5.1 → v6.1}/config/locales/en.yml +1 -1
  110. data/spec/support/{v5.1 → v6.1}/config/puma.rb +8 -26
  111. data/spec/support/v6.1/config/routes.rb +5 -0
  112. data/spec/support/v6.1/config/storage.yml +34 -0
  113. data/spec/support/{v5.0 → v6.1}/config.ru +0 -0
  114. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000001_create_wizards.rb +2 -2
  115. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000002_create_wands.rb +2 -2
  116. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000003_create_spell_books.rb +2 -2
  117. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000004_add_more_column_types_to_wands.rb +2 -2
  118. data/spec/support/v6.1/db/migrate/20190620000005_add_broom_to_wizard.rb +6 -0
  119. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000006_add_more_enums_to_wizard.rb +2 -2
  120. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000007_add_type_to_wizard.rb +2 -2
  121. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000008_add_robe_to_wizard.rb +2 -2
  122. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000009_add_school.rb +2 -2
  123. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000010_add_subject.rb +2 -2
  124. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000011_add_subjects_wizards.rb +2 -2
  125. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000012_add_spell.rb +2 -2
  126. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000013_add_spells_spell_books.rb +2 -2
  127. data/spec/support/{v5.0 → v6.1}/db/migrate/20190620000014_create_headmasters.rb +2 -2
  128. data/spec/support/{v5.0 → v6.1}/db/migrate/20190620000015_add_serialized_to_wizards.rb +2 -2
  129. data/spec/support/{v5.1 → v6.1}/db/schema.rb +14 -11
  130. data/spec/support/{v5.0 → v6.1}/db/seeds.rb +0 -0
  131. data/spec/support/{v5.0 → v6.1}/lib/assets/.keep +0 -0
  132. data/spec/support/{v5.0 → v6.1}/lib/mythical_rbi_plugin.rb +0 -0
  133. data/spec/support/{v5.0 → v6.1}/lib/tasks/.keep +0 -0
  134. data/spec/support/{v5.0 → v6.1}/log/.keep +0 -0
  135. data/spec/support/{v5.0 → v6.1}/sorbet_test_cases.rb +17 -4
  136. data/spec/support/{v5.0/tmp → v6.1/storage}/.keep +0 -0
  137. data/spec/support/{v5.0/vendor/assets/stylesheets → v6.1/tmp}/.keep +0 -0
  138. data/spec/support/{v5.1/app/assets/images → v6.1/tmp/pids}/.keep +0 -0
  139. data/spec/support/{v5.1/app/controllers/concerns → v6.1/vendor}/.keep +0 -0
  140. data/spec/test_data/v5.2/expected_active_record_base.rbi +10 -10
  141. data/spec/test_data/v5.2/expected_active_record_relation.rbi +10 -10
  142. data/spec/test_data/v5.2/expected_attachment.rbi +1 -1
  143. data/spec/test_data/v5.2/expected_blob.rbi +1 -1
  144. data/spec/test_data/v5.2/expected_headmaster.rbi +1 -1
  145. data/spec/test_data/v5.2/expected_internal_metadata.rbi +1 -1
  146. data/spec/test_data/v5.2/expected_potion.rbi +1 -1
  147. data/spec/test_data/v5.2/expected_robe.rbi +1 -1
  148. data/spec/test_data/v5.2/expected_routes.rbi +8 -0
  149. data/spec/test_data/v5.2/expected_schema_migration.rbi +1 -1
  150. data/spec/test_data/v5.2/expected_school.rbi +1 -1
  151. data/spec/test_data/v5.2/expected_spell/habtm_spell_books.rbi +1 -1
  152. data/spec/test_data/v5.2/expected_spell.rbi +1 -1
  153. data/spec/test_data/v5.2/expected_spell_book/habtm_spells.rbi +1 -1
  154. data/spec/test_data/v5.2/expected_spell_book.rbi +1 -1
  155. data/spec/test_data/v5.2/expected_squib.rbi +3 -3
  156. data/spec/test_data/v5.2/expected_subject/habtm_wizards.rbi +1 -1
  157. data/spec/test_data/v5.2/expected_subject.rbi +1 -1
  158. data/spec/test_data/v5.2/expected_wand.rbi +1 -1
  159. data/spec/test_data/v5.2/expected_wizard/habtm_subjects.rbi +1 -1
  160. data/spec/test_data/v5.2/expected_wizard.rbi +3 -3
  161. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +3 -3
  162. data/spec/test_data/v6.0/expected_active_record_base.rbi +10 -10
  163. data/spec/test_data/v6.0/expected_active_record_relation.rbi +10 -10
  164. data/spec/test_data/v6.0/expected_attachment.rbi +1 -1
  165. data/spec/test_data/v6.0/expected_blob.rbi +1 -1
  166. data/spec/test_data/v6.0/expected_headmaster.rbi +1 -1
  167. data/spec/test_data/v6.0/expected_internal_metadata.rbi +1 -1
  168. data/spec/test_data/v6.0/expected_potion.rbi +1 -1
  169. data/spec/test_data/v6.0/expected_robe.rbi +1 -1
  170. data/spec/test_data/v6.0/expected_routes.rbi +8 -0
  171. data/spec/test_data/v6.0/expected_schema_migration.rbi +1 -1
  172. data/spec/test_data/v6.0/expected_school.rbi +1 -1
  173. data/spec/test_data/v6.0/expected_spell/habtm_spell_books.rbi +1 -1
  174. data/spec/test_data/v6.0/expected_spell.rbi +1 -1
  175. data/spec/test_data/v6.0/expected_spell_book/habtm_spells.rbi +1 -1
  176. data/spec/test_data/v6.0/expected_spell_book.rbi +1 -1
  177. data/spec/test_data/v6.0/expected_squib.rbi +3 -3
  178. data/spec/test_data/v6.0/expected_subject/habtm_wizards.rbi +1 -1
  179. data/spec/test_data/v6.0/expected_subject.rbi +1 -1
  180. data/spec/test_data/v6.0/expected_wand.rbi +1 -1
  181. data/spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi +1 -1
  182. data/spec/test_data/v6.0/expected_wizard.rbi +3 -3
  183. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +3 -3
  184. data/spec/test_data/{v5.1 → v6.1}/expected_active_record_base.rbi +16 -16
  185. data/spec/test_data/{v5.1 → v6.1}/expected_active_record_relation.rbi +26 -29
  186. data/spec/test_data/{v5.0 → v6.1}/expected_application_job.rbi +0 -0
  187. data/spec/test_data/{v5.0 → v6.1}/expected_application_mailer.rbi +0 -0
  188. data/spec/test_data/v6.1/expected_attachment.rbi +328 -0
  189. data/spec/test_data/{v5.0 → v6.1}/expected_award_house_point_hourglasses.rbi +0 -0
  190. data/spec/test_data/v6.1/expected_blob.rbi +376 -0
  191. data/spec/test_data/{v5.0 → v6.1}/expected_custom_application_job.rbi +0 -0
  192. data/spec/test_data/{v5.0 → v6.1}/expected_custom_application_mailer.rbi +0 -0
  193. data/spec/test_data/{v5.0 → v6.1}/expected_custom_award_house_point_hourglasses.rbi +0 -0
  194. data/spec/test_data/{v5.0 → v6.1}/expected_custom_daily_prophet_mailer.rbi +0 -0
  195. data/spec/test_data/{v5.0 → v6.1}/expected_custom_hogwarts_acceptance_mailer.rbi +0 -0
  196. data/spec/test_data/{v5.0 → v6.1}/expected_daily_prophet_mailer.rbi +0 -0
  197. data/spec/test_data/{v5.1 → v6.1}/expected_habtm_subjects.rbi +48 -0
  198. data/spec/test_data/{v5.1 → v6.1}/expected_habtm_wizards.rbi +48 -0
  199. data/spec/test_data/{v5.1 → v6.1}/expected_headmaster.rbi +25 -1
  200. data/spec/test_data/{v5.0 → v6.1}/expected_helpers.rbi +0 -0
  201. data/spec/test_data/{v5.0 → v6.1}/expected_helpers_with_application_and_devise_helpers.rbi +0 -0
  202. data/spec/test_data/{v5.0 → v6.1}/expected_hogwarts_acceptance_mailer.rbi +0 -0
  203. data/spec/test_data/{v5.1 → v6.1}/expected_internal_metadata.rbi +25 -1
  204. data/spec/test_data/{v5.0 → v6.1}/expected_no_routes.rbi +0 -0
  205. data/spec/test_data/{v5.1 → v6.1}/expected_potion.rbi +25 -1
  206. data/spec/test_data/v6.1/expected_record.rbi +289 -0
  207. data/spec/test_data/{v5.1 → v6.1}/expected_robe.rbi +25 -1
  208. data/spec/test_data/v6.1/expected_routes.rbi +175 -0
  209. data/spec/test_data/{v5.1 → v6.1}/expected_schema_migration.rbi +25 -1
  210. data/spec/test_data/{v5.1 → v6.1}/expected_school.rbi +25 -1
  211. data/spec/test_data/{v5.1 → v6.1}/expected_spell/habtm_spell_books.rbi +25 -1
  212. data/spec/test_data/{v5.1 → v6.1}/expected_spell.rbi +25 -1
  213. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book/habtm_spell_books.rbi +48 -0
  214. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book/habtm_spells.rbi +25 -1
  215. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book.rbi +61 -1
  216. data/spec/test_data/{v5.1 → v6.1}/expected_squib.rbi +497 -59
  217. data/spec/test_data/{v5.0 → v6.1}/expected_srb_tc_output.txt +0 -0
  218. data/spec/test_data/{v5.1 → v6.1}/expected_subject/habtm_wizards.rbi +25 -1
  219. data/spec/test_data/{v5.1 → v6.1}/expected_subject.rbi +25 -1
  220. data/spec/test_data/v6.1/expected_variant_record.rbi +364 -0
  221. data/spec/test_data/{v5.1 → v6.1}/expected_wand.rbi +91 -1
  222. data/spec/test_data/{v5.1 → v6.1}/expected_wizard/habtm_subjects.rbi +25 -1
  223. data/spec/test_data/{v5.1 → v6.1}/expected_wizard.rbi +497 -59
  224. data/spec/test_data/{v5.1 → v6.1}/expected_wizard_wo_spellbook.rbi +491 -53
  225. metadata +266 -501
  226. data/.travis.yml +0 -42
  227. data/lib/sorbet-rails/type_assert/actionpack.rbi +0 -4
  228. data/spec/support/v5.0/.gitignore +0 -21
  229. data/spec/support/v5.0/Gemfile +0 -37
  230. data/spec/support/v5.0/Gemfile.lock +0 -161
  231. data/spec/support/v5.0/app/assets/stylesheets/application.css +0 -15
  232. data/spec/support/v5.0/app/jobs/application_job.rb +0 -3
  233. data/spec/support/v5.0/app/mailers/application_mailer.rb +0 -5
  234. data/spec/support/v5.0/app/models/headmaster.rb +0 -8
  235. data/spec/support/v5.0/app/models/potion.rb +0 -6
  236. data/spec/support/v5.0/app/models/robe.rb +0 -4
  237. data/spec/support/v5.0/app/models/spell.rb +0 -5
  238. data/spec/support/v5.0/app/models/subject.rb +0 -5
  239. data/spec/support/v5.0/app/views/layouts/application.html.erb +0 -13
  240. data/spec/support/v5.0/bin/bundle +0 -3
  241. data/spec/support/v5.0/bin/setup +0 -34
  242. data/spec/support/v5.0/bin/update +0 -29
  243. data/spec/support/v5.0/config/application.rb +0 -27
  244. data/spec/support/v5.0/config/database.yml +0 -25
  245. data/spec/support/v5.0/config/environments/development.rb +0 -48
  246. data/spec/support/v5.0/config/environments/production.rb +0 -75
  247. data/spec/support/v5.0/config/environments/test.rb +0 -43
  248. data/spec/support/v5.0/config/initializers/cookies_serializer.rb +0 -6
  249. data/spec/support/v5.0/config/initializers/new_framework_defaults.rb +0 -27
  250. data/spec/support/v5.0/config/initializers/session_store.rb +0 -4
  251. data/spec/support/v5.0/config/locales/en.yml +0 -23
  252. data/spec/support/v5.0/config/puma.rb +0 -48
  253. data/spec/support/v5.0/config/routes.rb +0 -5
  254. data/spec/support/v5.0/db/migrate/20190620000001_create_wizards.rb +0 -14
  255. data/spec/support/v5.0/db/migrate/20190620000002_create_wands.rb +0 -12
  256. data/spec/support/v5.0/db/migrate/20190620000003_create_spell_books.rb +0 -10
  257. data/spec/support/v5.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +0 -17
  258. data/spec/support/v5.0/db/migrate/20190620000005_add_broom_to_wizard.rb +0 -6
  259. data/spec/support/v5.0/db/migrate/20190620000006_add_more_enums_to_wizard.rb +0 -9
  260. data/spec/support/v5.0/db/migrate/20190620000007_add_type_to_wizard.rb +0 -6
  261. data/spec/support/v5.0/db/migrate/20190620000008_add_robe_to_wizard.rb +0 -8
  262. data/spec/support/v5.0/db/migrate/20190620000009_add_school.rb +0 -10
  263. data/spec/support/v5.0/db/migrate/20190620000010_add_subject.rb +0 -8
  264. data/spec/support/v5.0/db/migrate/20190620000011_add_subjects_wizards.rb +0 -8
  265. data/spec/support/v5.0/db/migrate/20190620000012_add_spell.rb +0 -8
  266. data/spec/support/v5.0/db/migrate/20190620000013_add_spells_spell_books.rb +0 -8
  267. data/spec/support/v5.0/db/schema.rb +0 -96
  268. data/spec/support/v5.0/public/robots.txt +0 -5
  269. data/spec/support/v5.1/README.md +0 -24
  270. data/spec/support/v5.1/Rakefile +0 -6
  271. data/spec/support/v5.1/app/assets/config/manifest.js +0 -2
  272. data/spec/support/v5.1/app/controllers/application_controller.rb +0 -4
  273. data/spec/support/v5.1/app/helpers/application_helper.rb +0 -3
  274. data/spec/support/v5.1/app/helpers/bar_helper.rb +0 -3
  275. data/spec/support/v5.1/app/helpers/baz_helper.rb +0 -3
  276. data/spec/support/v5.1/app/helpers/foo_helper.rb +0 -3
  277. data/spec/support/v5.1/app/jobs/application_job.rb +0 -3
  278. data/spec/support/v5.1/app/jobs/award_house_point_hourglasses.rb +0 -12
  279. data/spec/support/v5.1/app/mailers/daily_prophet_mailer.rb +0 -9
  280. data/spec/support/v5.1/app/mailers/hogwarts_acceptance_mailer.rb +0 -29
  281. data/spec/support/v5.1/app/models/application_record.rb +0 -4
  282. data/spec/support/v5.1/app/models/concerns/.keep +0 -0
  283. data/spec/support/v5.1/app/models/concerns/mythical.rb +0 -11
  284. data/spec/support/v5.1/app/models/school.rb +0 -5
  285. data/spec/support/v5.1/app/models/spell_book.rb +0 -18
  286. data/spec/support/v5.1/app/models/squib.rb +0 -6
  287. data/spec/support/v5.1/app/models/wand.rb +0 -19
  288. data/spec/support/v5.1/app/models/wizard.rb +0 -65
  289. data/spec/support/v5.1/app/views/layouts/mailer.html.erb +0 -13
  290. data/spec/support/v5.1/app/views/layouts/mailer.text.erb +0 -1
  291. data/spec/support/v5.1/bin/bundle +0 -3
  292. data/spec/support/v5.1/bin/rails +0 -4
  293. data/spec/support/v5.1/bin/rake +0 -4
  294. data/spec/support/v5.1/bin/update +0 -29
  295. data/spec/support/v5.1/bin/yarn +0 -11
  296. data/spec/support/v5.1/config/boot.rb +0 -4
  297. data/spec/support/v5.1/config/environment.rb +0 -6
  298. data/spec/support/v5.1/config/initializers/application_controller_renderer.rb +0 -9
  299. data/spec/support/v5.1/config/initializers/backtrace_silencers.rb +0 -8
  300. data/spec/support/v5.1/config/initializers/filter_parameter_logging.rb +0 -5
  301. data/spec/support/v5.1/config/initializers/inflections.rb +0 -17
  302. data/spec/support/v5.1/config/initializers/mime_types.rb +0 -5
  303. data/spec/support/v5.1/config/initializers/sorbet_rails.rb +0 -3
  304. data/spec/support/v5.1/config/initializers/wrap_parameters.rb +0 -15
  305. data/spec/support/v5.1/config/routes.rb +0 -5
  306. data/spec/support/v5.1/config.ru +0 -5
  307. data/spec/support/v5.1/db/migrate/20190620000005_add_broom_to_wizard.rb +0 -6
  308. data/spec/support/v5.1/db/migrate/20190620000014_create_headmasters.rb +0 -9
  309. data/spec/support/v5.1/db/migrate/20190620000015_add_serialized_to_wizards.rb +0 -9
  310. data/spec/support/v5.1/db/seeds.rb +0 -8
  311. data/spec/support/v5.1/lib/assets/.keep +0 -0
  312. data/spec/support/v5.1/lib/mythical_rbi_plugin.rb +0 -16
  313. data/spec/support/v5.1/lib/tasks/.keep +0 -0
  314. data/spec/support/v5.1/log/.keep +0 -0
  315. data/spec/support/v5.1/package.json +0 -5
  316. data/spec/support/v5.1/public/robots.txt +0 -1
  317. data/spec/support/v5.1/sorbet_test_cases.rb +0 -409
  318. data/spec/support/v5.1/tmp/.keep +0 -0
  319. data/spec/support/v5.1/vendor/.keep +0 -0
  320. data/spec/test_data/v5.0/expected_active_record_base.rbi +0 -113
  321. data/spec/test_data/v5.0/expected_active_record_relation.rbi +0 -198
  322. data/spec/test_data/v5.0/expected_habtm_subjects.rbi +0 -660
  323. data/spec/test_data/v5.0/expected_habtm_wizards.rbi +0 -660
  324. data/spec/test_data/v5.0/expected_headmaster.rbi +0 -328
  325. data/spec/test_data/v5.0/expected_internal_metadata.rbi +0 -298
  326. data/spec/test_data/v5.0/expected_potion.rbi +0 -280
  327. data/spec/test_data/v5.0/expected_robe.rbi +0 -301
  328. data/spec/test_data/v5.0/expected_routes.rbi +0 -27
  329. data/spec/test_data/v5.0/expected_schema_migration.rbi +0 -271
  330. data/spec/test_data/v5.0/expected_school.rbi +0 -301
  331. data/spec/test_data/v5.0/expected_spell/habtm_spell_books.rbi +0 -319
  332. data/spec/test_data/v5.0/expected_spell.rbi +0 -292
  333. data/spec/test_data/v5.0/expected_spell_book/habtm_spell_books.rbi +0 -637
  334. data/spec/test_data/v5.0/expected_spell_book/habtm_spells.rbi +0 -319
  335. data/spec/test_data/v5.0/expected_spell_book.rbi +0 -415
  336. data/spec/test_data/v5.0/expected_squib.rbi +0 -832
  337. data/spec/test_data/v5.0/expected_subject/habtm_wizards.rbi +0 -319
  338. data/spec/test_data/v5.0/expected_subject.rbi +0 -292
  339. data/spec/test_data/v5.0/expected_wand.rbi +0 -497
  340. data/spec/test_data/v5.0/expected_wizard/habtm_subjects.rbi +0 -319
  341. data/spec/test_data/v5.0/expected_wizard.rbi +0 -908
  342. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +0 -902
  343. data/spec/test_data/v5.1/expected_application_job.rbi +0 -20
  344. data/spec/test_data/v5.1/expected_application_mailer.rbi +0 -5
  345. data/spec/test_data/v5.1/expected_award_house_point_hourglasses.rbi +0 -20
  346. data/spec/test_data/v5.1/expected_custom_application_job.rbi +0 -21
  347. data/spec/test_data/v5.1/expected_custom_application_mailer.rbi +0 -6
  348. data/spec/test_data/v5.1/expected_custom_award_house_point_hourglasses.rbi +0 -21
  349. data/spec/test_data/v5.1/expected_custom_daily_prophet_mailer.rbi +0 -8
  350. data/spec/test_data/v5.1/expected_custom_hogwarts_acceptance_mailer.rbi +0 -21
  351. data/spec/test_data/v5.1/expected_daily_prophet_mailer.rbi +0 -7
  352. data/spec/test_data/v5.1/expected_helpers.rbi +0 -27
  353. data/spec/test_data/v5.1/expected_helpers_with_application_and_devise_helpers.rbi +0 -34
  354. data/spec/test_data/v5.1/expected_hogwarts_acceptance_mailer.rbi +0 -20
  355. data/spec/test_data/v5.1/expected_no_routes.rbi +0 -4
  356. data/spec/test_data/v5.1/expected_routes.rbi +0 -27
  357. 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
 
@@ -523,6 +554,12 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
523
554
  include Wizard::QueryMethodsReturningRelation
524
555
  Elem = type_member(fixed: Wizard)
525
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
562
+
526
563
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
527
564
  def Gryffindor(*args); end
528
565
 
@@ -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,6 +688,12 @@ 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
@@ -584,6 +702,12 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
584
702
  include Wizard::QueryMethodsReturningAssociationRelation
585
703
  Elem = type_member(fixed: Wizard)
586
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
710
+
587
711
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
588
712
  def Gryffindor(*args); end
589
713
 
@@ -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,6 +836,12 @@ 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
@@ -644,6 +849,12 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
644
849
  include Wizard::QueryMethodsReturningAssociationRelation
645
850
  Elem = type_member(fixed: Wizard)
646
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
857
+
647
858
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
648
859
  def Gryffindor(*args); end
649
860
 
@@ -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
 
@@ -721,6 +1013,9 @@ module Wizard::QueryMethodsReturningRelation
721
1013
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
722
1014
  def select(*args); end
723
1015
 
1016
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1017
+ def reselect(*args); end
1018
+
724
1019
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
725
1020
  def order(*args); end
726
1021
 
@@ -754,6 +1049,9 @@ module Wizard::QueryMethodsReturningRelation
754
1049
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
755
1050
  def preload(*args); end
756
1051
 
1052
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1053
+ def extract_associated(*args); end
1054
+
757
1055
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
758
1056
  def eager_load(*args); end
759
1057
 
@@ -790,12 +1088,18 @@ module Wizard::QueryMethodsReturningRelation
790
1088
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
791
1089
  def unscope(*args); end
792
1090
 
1091
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1092
+ def optimizer_hints(*args); end
1093
+
793
1094
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
794
1095
  def merge(*args); end
795
1096
 
796
1097
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
797
1098
  def except(*args); end
798
1099
 
1100
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1101
+ def only(*args); end
1102
+
799
1103
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
800
1104
  def extending(*args, &block); end
801
1105
 
@@ -822,6 +1126,9 @@ module Wizard::QueryMethodsReturningAssociationRelation
822
1126
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
823
1127
  def select(*args); end
824
1128
 
1129
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1130
+ def reselect(*args); end
1131
+
825
1132
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
826
1133
  def order(*args); end
827
1134
 
@@ -855,6 +1162,9 @@ module Wizard::QueryMethodsReturningAssociationRelation
855
1162
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
856
1163
  def preload(*args); end
857
1164
 
1165
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1166
+ def extract_associated(*args); end
1167
+
858
1168
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
859
1169
  def eager_load(*args); end
860
1170
 
@@ -891,12 +1201,18 @@ module Wizard::QueryMethodsReturningAssociationRelation
891
1201
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
892
1202
  def unscope(*args); end
893
1203
 
1204
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1205
+ def optimizer_hints(*args); end
1206
+
894
1207
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
895
1208
  def merge(*args); end
896
1209
 
897
1210
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
898
1211
  def except(*args); end
899
1212
 
1213
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1214
+ def only(*args); end
1215
+
900
1216
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
901
1217
  def extending(*args, &block); end
902
1218
 
@@ -912,3 +1228,125 @@ module Wizard::QueryMethodsReturningAssociationRelation
912
1228
  end
913
1229
  def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
914
1230
  end
1231
+
1232
+ module Wizard::GeneratedAssociationMethods
1233
+ sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
1234
+ def hats_attachments; end
1235
+
1236
+ sig { returns(T::Array[T.untyped]) }
1237
+ def hats_attachment_ids; end
1238
+
1239
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
1240
+ def hats_attachments=(value); end
1241
+
1242
+ sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
1243
+ def hats_blobs; end
1244
+
1245
+ sig { returns(T::Array[T.untyped]) }
1246
+ def hats_blob_ids; end
1247
+
1248
+ sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
1249
+ def hats_blobs=(value); end
1250
+
1251
+ sig { returns(T.nilable(::School)) }
1252
+ def school; end
1253
+
1254
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1255
+ def build_school(*args, &block); end
1256
+
1257
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1258
+ def create_school(*args, &block); end
1259
+
1260
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1261
+ def create_school!(*args, &block); end
1262
+
1263
+ sig { params(value: T.nilable(::School)).void }
1264
+ def school=(value); end
1265
+
1266
+ sig { returns(T.nilable(::School)) }
1267
+ def reload_school; end
1268
+
1269
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1270
+ def school_photo_attachment; end
1271
+
1272
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1273
+ def build_school_photo_attachment(*args, &block); end
1274
+
1275
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1276
+ def create_school_photo_attachment(*args, &block); end
1277
+
1278
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1279
+ def create_school_photo_attachment!(*args, &block); end
1280
+
1281
+ sig { params(value: T.nilable(::ActiveStorage::Attachment)).void }
1282
+ def school_photo_attachment=(value); end
1283
+
1284
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1285
+ def reload_school_photo_attachment; end
1286
+
1287
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1288
+ def school_photo_blob; end
1289
+
1290
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1291
+ def build_school_photo_blob(*args, &block); end
1292
+
1293
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1294
+ def create_school_photo_blob(*args, &block); end
1295
+
1296
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1297
+ def create_school_photo_blob!(*args, &block); end
1298
+
1299
+ sig { params(value: T.nilable(::ActiveStorage::Blob)).void }
1300
+ def school_photo_blob=(value); end
1301
+
1302
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1303
+ def reload_school_photo_blob; end
1304
+
1305
+ sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
1306
+ def spell_books; end
1307
+
1308
+ sig { returns(T::Array[Integer]) }
1309
+ def spell_book_ids; end
1310
+
1311
+ sig { params(value: T::Enumerable[::SpellBook]).void }
1312
+ def spell_books=(value); end
1313
+
1314
+ sig { returns(::Subject::ActiveRecord_Associations_CollectionProxy) }
1315
+ def subjects; end
1316
+
1317
+ sig { returns(T::Array[Integer]) }
1318
+ def subject_ids; end
1319
+
1320
+ sig { params(value: T::Enumerable[::Subject]).void }
1321
+ def subjects=(value); end
1322
+
1323
+ sig { returns(T.nilable(::Wand)) }
1324
+ def wand; end
1325
+
1326
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1327
+ def build_wand(*args, &block); end
1328
+
1329
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1330
+ def create_wand(*args, &block); end
1331
+
1332
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1333
+ def create_wand!(*args, &block); end
1334
+
1335
+ sig { params(value: T.nilable(::Wand)).void }
1336
+ def wand=(value); end
1337
+
1338
+ sig { returns(T.nilable(::Wand)) }
1339
+ def reload_wand; end
1340
+
1341
+ sig { returns(T.nilable(ActiveStorage::Attached::One)) }
1342
+ def school_photo; end
1343
+
1344
+ sig { params(attachable: T.untyped).returns(T.untyped) }
1345
+ def school_photo=(attachable); end
1346
+
1347
+ sig { returns(T.nilable(ActiveStorage::Attached::Many)) }
1348
+ def hats; end
1349
+
1350
+ sig { params(attachables: T.untyped).returns(T.untyped) }
1351
+ def hats=(attachables); end
1352
+ end