sorbet-rails 0.7.4 → 0.7.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (360) 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 +27 -0
  6. data/CONTRIBUTING.md +1 -2
  7. data/Gemfile +5 -9
  8. data/README.md +18 -4
  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_querying.rb +25 -1
  17. data/lib/sorbet-rails/model_plugins/active_record_serialized_attribute.rb +3 -2
  18. data/lib/sorbet-rails/model_plugins/base.rb +8 -1
  19. data/lib/sorbet-rails/model_plugins/custom_finder_methods.rb +1 -1
  20. data/lib/sorbet-rails/model_plugins/plugins.rb +6 -0
  21. data/lib/sorbet-rails/model_utils.rb +14 -7
  22. data/lib/sorbet-rails/rails_mixins/custom_finder_methods.rb +4 -0
  23. data/lib/sorbet-rails/railtie.rb +1 -1
  24. data/lib/sorbet-rails/routes_rbi_formatter.rb +8 -0
  25. data/lib/sorbet-rails/tasks/rails_rbi.rake +12 -8
  26. data/sorbet-rails.gemspec +2 -2
  27. data/spec/bin/run_all_specs.sh +3 -4
  28. data/spec/bin/run_spec.sh +4 -1
  29. data/spec/generators/rails-template.rb +3 -20
  30. data/spec/generators/sorbet_test_cases.rb +26 -4
  31. data/spec/rails_helper.rb +5 -5
  32. data/spec/rake_rails_rbi_models_spec.rb +11 -4
  33. data/spec/sorbet_spec.rb +2 -1
  34. data/spec/support/v5.2/Gemfile +1 -3
  35. data/spec/support/v5.2/Gemfile.lock +66 -71
  36. data/spec/support/v5.2/app/controllers/application_controller.rb +1 -1
  37. data/spec/support/v5.2/app/mailers/application_mailer.rb +1 -1
  38. data/spec/support/v5.2/app/mailers/daily_prophet_mailer.rb +1 -1
  39. data/spec/support/v5.2/app/mailers/hogwarts_acceptance_mailer.rb +1 -1
  40. data/spec/support/v5.2/app/models/spell_book.rb +1 -1
  41. data/spec/support/v5.2/app/models/wand.rb +1 -1
  42. data/spec/support/v5.2/app/models/wizard.rb +1 -1
  43. data/spec/support/v5.2/config/environments/development.rb +1 -1
  44. data/spec/support/v5.2/config/environments/production.rb +1 -1
  45. data/spec/support/v5.2/config/environments/test.rb +1 -1
  46. data/spec/support/v5.2/config/routes.rb +1 -1
  47. data/spec/support/v5.2/sorbet_test_cases.rb +26 -4
  48. data/spec/support/v6.0/Gemfile +1 -1
  49. data/spec/support/v6.0/Gemfile.lock +81 -85
  50. data/spec/support/v6.0/app/mailers/application_mailer.rb +1 -1
  51. data/spec/support/v6.0/config/environments/development.rb +1 -1
  52. data/spec/support/v6.0/config/environments/test.rb +1 -1
  53. data/spec/support/v6.0/config/initializers/cookies_serializer.rb +1 -1
  54. data/spec/support/v6.0/config/initializers/sorbet_rails.rb +1 -1
  55. data/spec/support/v6.0/config/routes.rb +1 -1
  56. data/spec/support/v6.0/sorbet_test_cases.rb +26 -4
  57. data/spec/support/{v5.1 → v6.1}/.gitignore +13 -2
  58. data/spec/support/{v5.1 → v6.1}/Gemfile +12 -15
  59. data/spec/support/{v5.1 → v6.1}/Gemfile.lock +87 -59
  60. data/spec/support/{v5.0 → v6.1}/README.md +0 -0
  61. data/spec/support/{v5.0 → v6.1}/Rakefile +0 -0
  62. data/spec/support/{v5.0 → v6.1}/app/assets/config/manifest.js +0 -0
  63. data/spec/support/{v5.0 → v6.1}/app/assets/images/.keep +0 -0
  64. data/spec/support/{v5.1 → v6.1}/app/assets/stylesheets/application.css +0 -0
  65. data/spec/support/{v5.0 → v6.1}/app/controllers/application_controller.rb +1 -2
  66. data/spec/support/{v5.0 → v6.1}/app/controllers/concerns/.keep +0 -0
  67. data/spec/support/{v5.0 → v6.1}/app/helpers/application_helper.rb +0 -0
  68. data/spec/support/{v5.0 → v6.1}/app/helpers/bar_helper.rb +0 -0
  69. data/spec/support/{v5.0 → v6.1}/app/helpers/baz_helper.rb +0 -0
  70. data/spec/support/{v5.0 → v6.1}/app/helpers/foo_helper.rb +0 -0
  71. data/spec/support/v6.1/app/jobs/application_job.rb +8 -0
  72. data/spec/support/{v5.0 → v6.1}/app/jobs/award_house_point_hourglasses.rb +0 -0
  73. data/spec/support/{v5.1 → v6.1}/app/mailers/application_mailer.rb +1 -1
  74. data/spec/support/{v5.0 → v6.1}/app/mailers/daily_prophet_mailer.rb +0 -0
  75. data/spec/support/{v5.0 → v6.1}/app/mailers/hogwarts_acceptance_mailer.rb +0 -0
  76. data/spec/support/{v5.0 → v6.1}/app/models/application_record.rb +0 -0
  77. data/spec/support/{v5.0 → v6.1}/app/models/concerns/.keep +0 -0
  78. data/spec/support/{v5.0 → v6.1}/app/models/concerns/mythical.rb +0 -0
  79. data/spec/support/{v5.1 → v6.1}/app/models/headmaster.rb +1 -1
  80. data/spec/support/{v5.1 → v6.1}/app/models/potion.rb +0 -0
  81. data/spec/support/{v5.1 → v6.1}/app/models/robe.rb +0 -0
  82. data/spec/support/{v5.0 → v6.1}/app/models/school.rb +1 -1
  83. data/spec/support/{v5.1 → v6.1}/app/models/spell.rb +0 -0
  84. data/spec/support/{v5.0 → v6.1}/app/models/spell_book.rb +0 -0
  85. data/spec/support/{v5.0 → v6.1}/app/models/squib.rb +0 -0
  86. data/spec/support/{v5.1 → v6.1}/app/models/subject.rb +0 -0
  87. data/spec/support/{v5.0 → v6.1}/app/models/wand.rb +0 -0
  88. data/spec/support/{v5.0 → v6.1}/app/models/wizard.rb +2 -1
  89. data/spec/support/{v5.1 → v6.1}/app/views/layouts/application.html.erb +2 -1
  90. data/spec/support/{v5.0 → v6.1}/app/views/layouts/mailer.html.erb +0 -0
  91. data/spec/support/{v5.0 → v6.1}/app/views/layouts/mailer.text.erb +0 -0
  92. data/spec/support/v6.1/bin/bundle +114 -0
  93. data/spec/support/{v5.0 → v6.1}/bin/rails +0 -0
  94. data/spec/support/{v5.0 → v6.1}/bin/rake +0 -0
  95. data/spec/support/{v5.1 → v6.1}/bin/setup +6 -11
  96. data/spec/support/{v5.1 → v6.1}/config/application.rb +8 -4
  97. data/spec/support/{v5.0 → v6.1}/config/boot.rb +0 -0
  98. data/spec/support/{v5.1 → v6.1}/config/database.yml +1 -1
  99. data/spec/support/{v5.0 → v6.1}/config/environment.rb +0 -0
  100. data/spec/support/{v5.1 → v6.1}/config/environments/development.rb +12 -4
  101. data/spec/support/{v5.1 → v6.1}/config/environments/production.rb +29 -7
  102. data/spec/support/{v5.1 → v6.1}/config/environments/test.rb +13 -7
  103. data/spec/support/{v5.0 → v6.1}/config/initializers/application_controller_renderer.rb +0 -0
  104. data/spec/support/{v5.0 → v6.1}/config/initializers/backtrace_silencers.rb +0 -0
  105. data/spec/support/v6.1/config/initializers/content_security_policy.rb +29 -0
  106. data/spec/support/{v5.1 → v6.1}/config/initializers/cookies_serializer.rb +1 -1
  107. data/spec/support/{v5.0 → v6.1}/config/initializers/filter_parameter_logging.rb +0 -0
  108. data/spec/support/{v5.0 → v6.1}/config/initializers/inflections.rb +0 -0
  109. data/spec/support/{v5.0 → v6.1}/config/initializers/mime_types.rb +0 -0
  110. data/spec/support/{v5.0 → v6.1}/config/initializers/sorbet_rails.rb +1 -1
  111. data/spec/support/{v5.0 → v6.1}/config/initializers/wrap_parameters.rb +0 -0
  112. data/spec/support/{v5.1 → v6.1}/config/locales/en.yml +1 -1
  113. data/spec/support/{v5.1 → v6.1}/config/puma.rb +8 -26
  114. data/spec/support/v6.1/config/routes.rb +5 -0
  115. data/spec/support/v6.1/config/storage.yml +34 -0
  116. data/spec/support/{v5.0 → v6.1}/config.ru +0 -0
  117. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000001_create_wizards.rb +2 -2
  118. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000002_create_wands.rb +2 -2
  119. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000003_create_spell_books.rb +2 -2
  120. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000004_add_more_column_types_to_wands.rb +2 -2
  121. data/spec/support/v6.1/db/migrate/20190620000005_add_broom_to_wizard.rb +6 -0
  122. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000006_add_more_enums_to_wizard.rb +2 -2
  123. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000007_add_type_to_wizard.rb +2 -2
  124. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000008_add_robe_to_wizard.rb +2 -2
  125. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000009_add_school.rb +2 -2
  126. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000010_add_subject.rb +2 -2
  127. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000011_add_subjects_wizards.rb +2 -2
  128. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000012_add_spell.rb +2 -2
  129. data/spec/support/{v5.1 → v6.1}/db/migrate/20190620000013_add_spells_spell_books.rb +2 -2
  130. data/spec/support/{v5.0 → v6.1}/db/migrate/20190620000014_create_headmasters.rb +2 -2
  131. data/spec/support/{v5.0 → v6.1}/db/migrate/20190620000015_add_serialized_to_wizards.rb +2 -2
  132. data/spec/support/{v5.1 → v6.1}/db/schema.rb +14 -11
  133. data/spec/support/{v5.0 → v6.1}/db/seeds.rb +0 -0
  134. data/spec/support/{v5.0 → v6.1}/lib/assets/.keep +0 -0
  135. data/spec/support/{v5.0 → v6.1}/lib/mythical_rbi_plugin.rb +0 -0
  136. data/spec/support/{v5.0 → v6.1}/lib/tasks/.keep +0 -0
  137. data/spec/support/{v5.0 → v6.1}/log/.keep +0 -0
  138. data/spec/support/{v5.0 → v6.1}/sorbet_test_cases.rb +26 -4
  139. data/spec/support/{v5.0/tmp → v6.1/storage}/.keep +0 -0
  140. data/spec/support/{v5.0/vendor/assets/stylesheets → v6.1/tmp}/.keep +0 -0
  141. data/spec/support/{v5.1/app/assets/images → v6.1/tmp/pids}/.keep +0 -0
  142. data/spec/support/{v5.1/app/controllers/concerns → v6.1/vendor}/.keep +0 -0
  143. data/spec/test_data/v5.2/expected_active_record_base.rbi +10 -10
  144. data/spec/test_data/v5.2/expected_active_record_relation.rbi +10 -10
  145. data/spec/test_data/v5.2/expected_attachment.rbi +13 -7
  146. data/spec/test_data/v5.2/expected_blob.rbi +13 -7
  147. data/spec/test_data/v5.2/expected_headmaster.rbi +13 -7
  148. data/spec/test_data/v5.2/expected_internal_metadata.rbi +13 -7
  149. data/spec/test_data/v5.2/expected_potion.rbi +13 -7
  150. data/spec/test_data/v5.2/expected_robe.rbi +13 -7
  151. data/spec/test_data/v5.2/expected_routes.rbi +8 -0
  152. data/spec/test_data/v5.2/expected_schema_migration.rbi +13 -7
  153. data/spec/test_data/v5.2/expected_school.rbi +13 -7
  154. data/spec/test_data/v5.2/expected_spell/habtm_spell_books.rbi +13 -7
  155. data/spec/test_data/v5.2/expected_spell.rbi +13 -7
  156. data/spec/test_data/v5.2/expected_spell_book/habtm_spells.rbi +13 -7
  157. data/spec/test_data/v5.2/expected_spell_book.rbi +13 -7
  158. data/spec/test_data/v5.2/expected_squib.rbi +15 -9
  159. data/spec/test_data/v5.2/expected_subject/habtm_wizards.rbi +13 -7
  160. data/spec/test_data/v5.2/expected_subject.rbi +13 -7
  161. data/spec/test_data/v5.2/expected_wand.rbi +13 -7
  162. data/spec/test_data/v5.2/expected_wizard/habtm_subjects.rbi +13 -7
  163. data/spec/test_data/v5.2/expected_wizard.rbi +15 -9
  164. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +15 -9
  165. data/spec/test_data/v6.0/expected_active_record_base.rbi +10 -10
  166. data/spec/test_data/v6.0/expected_active_record_relation.rbi +10 -10
  167. data/spec/test_data/v6.0/expected_attachment.rbi +13 -7
  168. data/spec/test_data/v6.0/expected_blob.rbi +13 -7
  169. data/spec/test_data/v6.0/expected_headmaster.rbi +13 -7
  170. data/spec/test_data/v6.0/expected_internal_metadata.rbi +13 -7
  171. data/spec/test_data/v6.0/expected_potion.rbi +13 -7
  172. data/spec/test_data/v6.0/expected_robe.rbi +13 -7
  173. data/spec/test_data/v6.0/expected_routes.rbi +8 -0
  174. data/spec/test_data/v6.0/expected_schema_migration.rbi +13 -7
  175. data/spec/test_data/v6.0/expected_school.rbi +13 -7
  176. data/spec/test_data/v6.0/expected_spell/habtm_spell_books.rbi +13 -7
  177. data/spec/test_data/v6.0/expected_spell.rbi +13 -7
  178. data/spec/test_data/v6.0/expected_spell_book/habtm_spells.rbi +13 -7
  179. data/spec/test_data/v6.0/expected_spell_book.rbi +13 -7
  180. data/spec/test_data/v6.0/expected_squib.rbi +15 -9
  181. data/spec/test_data/v6.0/expected_subject/habtm_wizards.rbi +13 -7
  182. data/spec/test_data/v6.0/expected_subject.rbi +13 -7
  183. data/spec/test_data/v6.0/expected_wand.rbi +13 -7
  184. data/spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi +13 -7
  185. data/spec/test_data/v6.0/expected_wizard.rbi +15 -9
  186. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +15 -9
  187. data/spec/test_data/{v5.1 → v6.1}/expected_active_record_base.rbi +16 -16
  188. data/spec/test_data/{v5.1 → v6.1}/expected_active_record_relation.rbi +26 -29
  189. data/spec/test_data/{v5.0 → v6.1}/expected_application_job.rbi +0 -0
  190. data/spec/test_data/{v5.0 → v6.1}/expected_application_mailer.rbi +0 -0
  191. data/spec/test_data/v6.1/expected_attachment.rbi +334 -0
  192. data/spec/test_data/{v5.0 → v6.1}/expected_award_house_point_hourglasses.rbi +0 -0
  193. data/spec/test_data/v6.1/expected_blob.rbi +382 -0
  194. data/spec/test_data/{v5.0 → v6.1}/expected_custom_application_job.rbi +0 -0
  195. data/spec/test_data/{v5.0 → v6.1}/expected_custom_application_mailer.rbi +0 -0
  196. data/spec/test_data/{v5.0 → v6.1}/expected_custom_award_house_point_hourglasses.rbi +0 -0
  197. data/spec/test_data/{v5.0 → v6.1}/expected_custom_daily_prophet_mailer.rbi +0 -0
  198. data/spec/test_data/{v5.0 → v6.1}/expected_custom_hogwarts_acceptance_mailer.rbi +0 -0
  199. data/spec/test_data/{v5.0 → v6.1}/expected_daily_prophet_mailer.rbi +0 -0
  200. data/spec/test_data/{v5.1 → v6.1}/expected_habtm_subjects.rbi +48 -0
  201. data/spec/test_data/{v5.1 → v6.1}/expected_habtm_wizards.rbi +48 -0
  202. data/spec/test_data/{v5.1 → v6.1}/expected_headmaster.rbi +33 -3
  203. data/spec/test_data/{v5.0 → v6.1}/expected_helpers.rbi +0 -0
  204. data/spec/test_data/{v5.0 → v6.1}/expected_helpers_with_application_and_devise_helpers.rbi +0 -0
  205. data/spec/test_data/{v5.0 → v6.1}/expected_hogwarts_acceptance_mailer.rbi +0 -0
  206. data/spec/test_data/{v5.1 → v6.1}/expected_internal_metadata.rbi +33 -3
  207. data/spec/test_data/{v5.0 → v6.1}/expected_no_routes.rbi +0 -0
  208. data/spec/test_data/{v5.1 → v6.1}/expected_potion.rbi +33 -3
  209. data/spec/test_data/v6.1/expected_record.rbi +295 -0
  210. data/spec/test_data/{v5.1 → v6.1}/expected_robe.rbi +33 -3
  211. data/spec/test_data/v6.1/expected_routes.rbi +175 -0
  212. data/spec/test_data/{v5.1 → v6.1}/expected_schema_migration.rbi +33 -3
  213. data/spec/test_data/{v5.1 → v6.1}/expected_school.rbi +33 -3
  214. data/spec/test_data/{v5.1 → v6.1}/expected_spell/habtm_spell_books.rbi +33 -3
  215. data/spec/test_data/{v5.1 → v6.1}/expected_spell.rbi +33 -3
  216. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book/habtm_spell_books.rbi +48 -0
  217. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book/habtm_spells.rbi +33 -3
  218. data/spec/test_data/{v5.1 → v6.1}/expected_spell_book.rbi +69 -3
  219. data/spec/test_data/{v5.1 → v6.1}/expected_squib.rbi +505 -61
  220. data/spec/test_data/{v5.0 → v6.1}/expected_srb_tc_output.txt +0 -0
  221. data/spec/test_data/{v5.1 → v6.1}/expected_subject/habtm_wizards.rbi +33 -3
  222. data/spec/test_data/{v5.1 → v6.1}/expected_subject.rbi +33 -3
  223. data/spec/test_data/v6.1/expected_variant_record.rbi +370 -0
  224. data/spec/test_data/{v5.1 → v6.1}/expected_wand.rbi +99 -3
  225. data/spec/test_data/{v5.1 → v6.1}/expected_wizard/habtm_subjects.rbi +33 -3
  226. data/spec/test_data/{v5.1 → v6.1}/expected_wizard.rbi +505 -61
  227. data/spec/test_data/{v5.1 → v6.1}/expected_wizard_wo_spellbook.rbi +499 -55
  228. metadata +266 -501
  229. data/.travis.yml +0 -42
  230. data/lib/sorbet-rails/type_assert/actionpack.rbi +0 -4
  231. data/spec/support/v5.0/.gitignore +0 -21
  232. data/spec/support/v5.0/Gemfile +0 -37
  233. data/spec/support/v5.0/Gemfile.lock +0 -161
  234. data/spec/support/v5.0/app/assets/stylesheets/application.css +0 -15
  235. data/spec/support/v5.0/app/jobs/application_job.rb +0 -3
  236. data/spec/support/v5.0/app/mailers/application_mailer.rb +0 -5
  237. data/spec/support/v5.0/app/models/headmaster.rb +0 -8
  238. data/spec/support/v5.0/app/models/potion.rb +0 -6
  239. data/spec/support/v5.0/app/models/robe.rb +0 -4
  240. data/spec/support/v5.0/app/models/spell.rb +0 -5
  241. data/spec/support/v5.0/app/models/subject.rb +0 -5
  242. data/spec/support/v5.0/app/views/layouts/application.html.erb +0 -13
  243. data/spec/support/v5.0/bin/bundle +0 -3
  244. data/spec/support/v5.0/bin/setup +0 -34
  245. data/spec/support/v5.0/bin/update +0 -29
  246. data/spec/support/v5.0/config/application.rb +0 -27
  247. data/spec/support/v5.0/config/database.yml +0 -25
  248. data/spec/support/v5.0/config/environments/development.rb +0 -48
  249. data/spec/support/v5.0/config/environments/production.rb +0 -75
  250. data/spec/support/v5.0/config/environments/test.rb +0 -43
  251. data/spec/support/v5.0/config/initializers/cookies_serializer.rb +0 -6
  252. data/spec/support/v5.0/config/initializers/new_framework_defaults.rb +0 -27
  253. data/spec/support/v5.0/config/initializers/session_store.rb +0 -4
  254. data/spec/support/v5.0/config/locales/en.yml +0 -23
  255. data/spec/support/v5.0/config/puma.rb +0 -48
  256. data/spec/support/v5.0/config/routes.rb +0 -5
  257. data/spec/support/v5.0/db/migrate/20190620000001_create_wizards.rb +0 -14
  258. data/spec/support/v5.0/db/migrate/20190620000002_create_wands.rb +0 -12
  259. data/spec/support/v5.0/db/migrate/20190620000003_create_spell_books.rb +0 -10
  260. data/spec/support/v5.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +0 -17
  261. data/spec/support/v5.0/db/migrate/20190620000005_add_broom_to_wizard.rb +0 -6
  262. data/spec/support/v5.0/db/migrate/20190620000006_add_more_enums_to_wizard.rb +0 -9
  263. data/spec/support/v5.0/db/migrate/20190620000007_add_type_to_wizard.rb +0 -6
  264. data/spec/support/v5.0/db/migrate/20190620000008_add_robe_to_wizard.rb +0 -8
  265. data/spec/support/v5.0/db/migrate/20190620000009_add_school.rb +0 -10
  266. data/spec/support/v5.0/db/migrate/20190620000010_add_subject.rb +0 -8
  267. data/spec/support/v5.0/db/migrate/20190620000011_add_subjects_wizards.rb +0 -8
  268. data/spec/support/v5.0/db/migrate/20190620000012_add_spell.rb +0 -8
  269. data/spec/support/v5.0/db/migrate/20190620000013_add_spells_spell_books.rb +0 -8
  270. data/spec/support/v5.0/db/schema.rb +0 -96
  271. data/spec/support/v5.0/public/robots.txt +0 -5
  272. data/spec/support/v5.1/README.md +0 -24
  273. data/spec/support/v5.1/Rakefile +0 -6
  274. data/spec/support/v5.1/app/assets/config/manifest.js +0 -2
  275. data/spec/support/v5.1/app/controllers/application_controller.rb +0 -4
  276. data/spec/support/v5.1/app/helpers/application_helper.rb +0 -3
  277. data/spec/support/v5.1/app/helpers/bar_helper.rb +0 -3
  278. data/spec/support/v5.1/app/helpers/baz_helper.rb +0 -3
  279. data/spec/support/v5.1/app/helpers/foo_helper.rb +0 -3
  280. data/spec/support/v5.1/app/jobs/application_job.rb +0 -3
  281. data/spec/support/v5.1/app/jobs/award_house_point_hourglasses.rb +0 -12
  282. data/spec/support/v5.1/app/mailers/daily_prophet_mailer.rb +0 -9
  283. data/spec/support/v5.1/app/mailers/hogwarts_acceptance_mailer.rb +0 -29
  284. data/spec/support/v5.1/app/models/application_record.rb +0 -4
  285. data/spec/support/v5.1/app/models/concerns/.keep +0 -0
  286. data/spec/support/v5.1/app/models/concerns/mythical.rb +0 -11
  287. data/spec/support/v5.1/app/models/school.rb +0 -5
  288. data/spec/support/v5.1/app/models/spell_book.rb +0 -18
  289. data/spec/support/v5.1/app/models/squib.rb +0 -6
  290. data/spec/support/v5.1/app/models/wand.rb +0 -19
  291. data/spec/support/v5.1/app/models/wizard.rb +0 -65
  292. data/spec/support/v5.1/app/views/layouts/mailer.html.erb +0 -13
  293. data/spec/support/v5.1/app/views/layouts/mailer.text.erb +0 -1
  294. data/spec/support/v5.1/bin/bundle +0 -3
  295. data/spec/support/v5.1/bin/rails +0 -4
  296. data/spec/support/v5.1/bin/rake +0 -4
  297. data/spec/support/v5.1/bin/update +0 -29
  298. data/spec/support/v5.1/bin/yarn +0 -11
  299. data/spec/support/v5.1/config/boot.rb +0 -4
  300. data/spec/support/v5.1/config/environment.rb +0 -6
  301. data/spec/support/v5.1/config/initializers/application_controller_renderer.rb +0 -9
  302. data/spec/support/v5.1/config/initializers/backtrace_silencers.rb +0 -8
  303. data/spec/support/v5.1/config/initializers/filter_parameter_logging.rb +0 -5
  304. data/spec/support/v5.1/config/initializers/inflections.rb +0 -17
  305. data/spec/support/v5.1/config/initializers/mime_types.rb +0 -5
  306. data/spec/support/v5.1/config/initializers/sorbet_rails.rb +0 -3
  307. data/spec/support/v5.1/config/initializers/wrap_parameters.rb +0 -15
  308. data/spec/support/v5.1/config/routes.rb +0 -5
  309. data/spec/support/v5.1/config.ru +0 -5
  310. data/spec/support/v5.1/db/migrate/20190620000005_add_broom_to_wizard.rb +0 -6
  311. data/spec/support/v5.1/db/migrate/20190620000014_create_headmasters.rb +0 -9
  312. data/spec/support/v5.1/db/migrate/20190620000015_add_serialized_to_wizards.rb +0 -9
  313. data/spec/support/v5.1/db/seeds.rb +0 -8
  314. data/spec/support/v5.1/lib/assets/.keep +0 -0
  315. data/spec/support/v5.1/lib/mythical_rbi_plugin.rb +0 -16
  316. data/spec/support/v5.1/lib/tasks/.keep +0 -0
  317. data/spec/support/v5.1/log/.keep +0 -0
  318. data/spec/support/v5.1/package.json +0 -5
  319. data/spec/support/v5.1/public/robots.txt +0 -1
  320. data/spec/support/v5.1/sorbet_test_cases.rb +0 -409
  321. data/spec/support/v5.1/tmp/.keep +0 -0
  322. data/spec/support/v5.1/vendor/.keep +0 -0
  323. data/spec/test_data/v5.0/expected_active_record_base.rbi +0 -113
  324. data/spec/test_data/v5.0/expected_active_record_relation.rbi +0 -198
  325. data/spec/test_data/v5.0/expected_habtm_subjects.rbi +0 -660
  326. data/spec/test_data/v5.0/expected_habtm_wizards.rbi +0 -660
  327. data/spec/test_data/v5.0/expected_headmaster.rbi +0 -328
  328. data/spec/test_data/v5.0/expected_internal_metadata.rbi +0 -298
  329. data/spec/test_data/v5.0/expected_potion.rbi +0 -280
  330. data/spec/test_data/v5.0/expected_robe.rbi +0 -301
  331. data/spec/test_data/v5.0/expected_routes.rbi +0 -27
  332. data/spec/test_data/v5.0/expected_schema_migration.rbi +0 -271
  333. data/spec/test_data/v5.0/expected_school.rbi +0 -301
  334. data/spec/test_data/v5.0/expected_spell/habtm_spell_books.rbi +0 -319
  335. data/spec/test_data/v5.0/expected_spell.rbi +0 -292
  336. data/spec/test_data/v5.0/expected_spell_book/habtm_spell_books.rbi +0 -637
  337. data/spec/test_data/v5.0/expected_spell_book/habtm_spells.rbi +0 -319
  338. data/spec/test_data/v5.0/expected_spell_book.rbi +0 -415
  339. data/spec/test_data/v5.0/expected_squib.rbi +0 -832
  340. data/spec/test_data/v5.0/expected_subject/habtm_wizards.rbi +0 -319
  341. data/spec/test_data/v5.0/expected_subject.rbi +0 -292
  342. data/spec/test_data/v5.0/expected_wand.rbi +0 -497
  343. data/spec/test_data/v5.0/expected_wizard/habtm_subjects.rbi +0 -319
  344. data/spec/test_data/v5.0/expected_wizard.rbi +0 -908
  345. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +0 -902
  346. data/spec/test_data/v5.1/expected_application_job.rbi +0 -20
  347. data/spec/test_data/v5.1/expected_application_mailer.rbi +0 -5
  348. data/spec/test_data/v5.1/expected_award_house_point_hourglasses.rbi +0 -20
  349. data/spec/test_data/v5.1/expected_custom_application_job.rbi +0 -21
  350. data/spec/test_data/v5.1/expected_custom_application_mailer.rbi +0 -6
  351. data/spec/test_data/v5.1/expected_custom_award_house_point_hourglasses.rbi +0 -21
  352. data/spec/test_data/v5.1/expected_custom_daily_prophet_mailer.rbi +0 -8
  353. data/spec/test_data/v5.1/expected_custom_hogwarts_acceptance_mailer.rbi +0 -21
  354. data/spec/test_data/v5.1/expected_daily_prophet_mailer.rbi +0 -7
  355. data/spec/test_data/v5.1/expected_helpers.rbi +0 -27
  356. data/spec/test_data/v5.1/expected_helpers_with_application_and_devise_helpers.rbi +0 -34
  357. data/spec/test_data/v5.1/expected_hogwarts_acceptance_mailer.rbi +0 -20
  358. data/spec/test_data/v5.1/expected_no_routes.rbi +0 -4
  359. data/spec/test_data/v5.1/expected_routes.rbi +0 -27
  360. 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,56 +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(T.untyped)) }
273
- def school; end
274
-
275
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
276
- def build_school(*args, &block); end
277
-
278
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
279
- def create_school(*args, &block); end
280
-
281
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
282
- def create_school!(*args, &block); end
283
-
284
- sig { params(value: T.nilable(T.untyped)).void }
285
- def school=(value); end
286
-
287
- sig { returns(T.nilable(T.untyped)) }
288
- def reload_school; end
289
-
290
- sig { returns(ActiveRecord::Associations::CollectionProxy) }
291
- def spell_books; end
292
-
293
- sig { params(value: T::Enumerable[T.untyped]).void }
294
- def spell_books=(value); end
295
-
296
- sig { returns(ActiveRecord::Associations::CollectionProxy) }
297
- def subjects; end
298
-
299
- sig { params(value: T::Enumerable[T.untyped]).void }
300
- def subjects=(value); end
301
-
302
- sig { returns(T.nilable(::Wand)) }
303
- def wand; end
304
-
305
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
306
- def build_wand(*args, &block); end
307
-
308
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
309
- def create_wand(*args, &block); end
310
-
311
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
312
- def create_wand!(*args, &block); end
313
-
314
- sig { params(value: T.nilable(::Wand)).void }
315
- def wand=(value); end
316
-
317
- sig { returns(T.nilable(::Wand)) }
318
- def reload_wand; end
319
- end
320
-
321
271
  module Wizard::CustomFinderMethods
322
272
  sig { params(limit: Integer).returns(T::Array[Wizard]) }
323
273
  def first_n(limit); end
@@ -328,7 +278,7 @@ module Wizard::CustomFinderMethods
328
278
  sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Wizard]) }
329
279
  def find_n(*args); end
330
280
 
331
- sig { params(id: Integer).returns(T.nilable(Wizard)) }
281
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(Wizard)) }
332
282
  def find_by_id(id); end
333
283
 
334
284
  sig { params(id: Integer).returns(Wizard) }
@@ -362,6 +312,12 @@ class Wizard < ApplicationRecord
362
312
  sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
363
313
  def self.quidditch_positions; end
364
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
+
365
321
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
366
322
  def self.Gryffindor(*args); end
367
323
 
@@ -371,9 +327,18 @@ class Wizard < ApplicationRecord
371
327
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
372
328
  def self.Hufflepuff(*args); end
373
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
+
374
336
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
375
337
  def self.Ravenclaw(*args); end
376
338
 
339
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
340
+ def self.Severus_Snape(*args); end
341
+
377
342
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
378
343
  def self.Slytherin(*args); end
379
344
 
@@ -401,6 +366,72 @@ class Wizard < ApplicationRecord
401
366
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
402
367
  def self.color_green_eyes(*args); end
403
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
+
404
435
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
405
436
  def self.quidditch_beater(*args); end
406
437
 
@@ -416,6 +447,12 @@ class Wizard < ApplicationRecord
416
447
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
417
448
  def self.recent(*args); end
418
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
+
419
456
  sig { returns(T.nilable(Wizard::Broom)) }
420
457
  def typed_broom; end
421
458
 
@@ -517,6 +554,12 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
517
554
  include Wizard::QueryMethodsReturningRelation
518
555
  Elem = type_member(fixed: Wizard)
519
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
+
520
563
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
521
564
  def Gryffindor(*args); end
522
565
 
@@ -526,9 +569,18 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
526
569
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
527
570
  def Hufflepuff(*args); end
528
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
+
529
578
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
530
579
  def Ravenclaw(*args); end
531
580
 
581
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
582
+ def Severus_Snape(*args); end
583
+
532
584
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
533
585
  def Slytherin(*args); end
534
586
 
@@ -556,6 +608,72 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
556
608
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
557
609
  def color_green_eyes(*args); end
558
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
+
559
677
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
560
678
  def quidditch_beater(*args); end
561
679
 
@@ -570,6 +688,12 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
570
688
 
571
689
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
572
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
573
697
  end
574
698
 
575
699
  class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
@@ -578,6 +702,12 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
578
702
  include Wizard::QueryMethodsReturningAssociationRelation
579
703
  Elem = type_member(fixed: Wizard)
580
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
+
581
711
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
582
712
  def Gryffindor(*args); end
583
713
 
@@ -587,9 +717,18 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
587
717
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
588
718
  def Hufflepuff(*args); end
589
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
+
590
726
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
591
727
  def Ravenclaw(*args); end
592
728
 
729
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
730
+ def Severus_Snape(*args); end
731
+
593
732
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
594
733
  def Slytherin(*args); end
595
734
 
@@ -617,6 +756,72 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
617
756
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
618
757
  def color_green_eyes(*args); end
619
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
+
620
825
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
621
826
  def quidditch_beater(*args); end
622
827
 
@@ -631,6 +836,12 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
631
836
 
632
837
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
633
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
634
845
  end
635
846
 
636
847
  class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
@@ -638,6 +849,12 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
638
849
  include Wizard::QueryMethodsReturningAssociationRelation
639
850
  Elem = type_member(fixed: Wizard)
640
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
+
641
858
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
642
859
  def Gryffindor(*args); end
643
860
 
@@ -647,9 +864,18 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
647
864
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
648
865
  def Hufflepuff(*args); end
649
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
+
650
873
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
651
874
  def Ravenclaw(*args); end
652
875
 
876
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
877
+ def Severus_Snape(*args); end
878
+
653
879
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
654
880
  def Slytherin(*args); end
655
881
 
@@ -677,6 +903,72 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
677
903
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
678
904
  def color_green_eyes(*args); end
679
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
+
680
972
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
681
973
  def quidditch_beater(*args); end
682
974
 
@@ -692,6 +984,12 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
692
984
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
693
985
  def recent(*args); end
694
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
+
695
993
  sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
696
994
  def <<(*records); end
697
995
 
@@ -713,7 +1011,7 @@ module Wizard::QueryMethodsReturningRelation
713
1011
  def unscoped(&block); end
714
1012
 
715
1013
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
716
- def select(*args); end
1014
+ def reselect(*args); end
717
1015
 
718
1016
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
719
1017
  def order(*args); end
@@ -748,6 +1046,9 @@ module Wizard::QueryMethodsReturningRelation
748
1046
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
749
1047
  def preload(*args); end
750
1048
 
1049
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1050
+ def extract_associated(*args); end
1051
+
751
1052
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
752
1053
  def eager_load(*args); end
753
1054
 
@@ -784,12 +1085,24 @@ module Wizard::QueryMethodsReturningRelation
784
1085
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
785
1086
  def unscope(*args); end
786
1087
 
1088
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
1089
+ def optimizer_hints(*args); end
1090
+
787
1091
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
788
1092
  def merge(*args); end
789
1093
 
790
1094
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_Relation) }
791
1095
  def except(*args); end
792
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
+
793
1106
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
794
1107
  def extending(*args, &block); end
795
1108
 
@@ -814,7 +1127,7 @@ module Wizard::QueryMethodsReturningAssociationRelation
814
1127
  def unscoped(&block); end
815
1128
 
816
1129
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
817
- def select(*args); end
1130
+ def reselect(*args); end
818
1131
 
819
1132
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
820
1133
  def order(*args); end
@@ -849,6 +1162,9 @@ module Wizard::QueryMethodsReturningAssociationRelation
849
1162
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
850
1163
  def preload(*args); end
851
1164
 
1165
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1166
+ def extract_associated(*args); end
1167
+
852
1168
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
853
1169
  def eager_load(*args); end
854
1170
 
@@ -885,12 +1201,24 @@ module Wizard::QueryMethodsReturningAssociationRelation
885
1201
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
886
1202
  def unscope(*args); end
887
1203
 
1204
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1205
+ def optimizer_hints(*args); end
1206
+
888
1207
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
889
1208
  def merge(*args); end
890
1209
 
891
1210
  sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
892
1211
  def except(*args); end
893
1212
 
1213
+ sig { params(args: T.untyped).returns(Wizard::ActiveRecord_AssociationRelation) }
1214
+ def only(*args); end
1215
+
1216
+ sig { params(block: T.proc.params(e: Wizard).returns(T::Boolean)).returns(T::Array[Wizard]) }
1217
+ def select(&block); end
1218
+
1219
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Wizard::ActiveRecord_AssociationRelation) }
1220
+ def select_columns(*args); end
1221
+
894
1222
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
895
1223
  def extending(*args, &block); end
896
1224
 
@@ -906,3 +1234,119 @@ module Wizard::QueryMethodsReturningAssociationRelation
906
1234
  end
907
1235
  def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
908
1236
  end
1237
+
1238
+ module Wizard::GeneratedAssociationMethods
1239
+ sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
1240
+ def hats_attachments; end
1241
+
1242
+ sig { returns(T::Array[T.untyped]) }
1243
+ def hats_attachment_ids; end
1244
+
1245
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
1246
+ def hats_attachments=(value); end
1247
+
1248
+ sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
1249
+ def hats_blobs; end
1250
+
1251
+ sig { returns(T::Array[T.untyped]) }
1252
+ def hats_blob_ids; end
1253
+
1254
+ sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
1255
+ def hats_blobs=(value); end
1256
+
1257
+ sig { returns(T.nilable(T.untyped)) }
1258
+ def school; end
1259
+
1260
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
1261
+ def build_school(*args, &block); end
1262
+
1263
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
1264
+ def create_school(*args, &block); end
1265
+
1266
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
1267
+ def create_school!(*args, &block); end
1268
+
1269
+ sig { params(value: T.nilable(T.untyped)).void }
1270
+ def school=(value); end
1271
+
1272
+ sig { returns(T.nilable(T.untyped)) }
1273
+ def reload_school; end
1274
+
1275
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1276
+ def school_photo_attachment; end
1277
+
1278
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1279
+ def build_school_photo_attachment(*args, &block); end
1280
+
1281
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1282
+ def create_school_photo_attachment(*args, &block); end
1283
+
1284
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1285
+ def create_school_photo_attachment!(*args, &block); end
1286
+
1287
+ sig { params(value: T.nilable(::ActiveStorage::Attachment)).void }
1288
+ def school_photo_attachment=(value); end
1289
+
1290
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1291
+ def reload_school_photo_attachment; end
1292
+
1293
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1294
+ def school_photo_blob; end
1295
+
1296
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1297
+ def build_school_photo_blob(*args, &block); end
1298
+
1299
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1300
+ def create_school_photo_blob(*args, &block); end
1301
+
1302
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1303
+ def create_school_photo_blob!(*args, &block); end
1304
+
1305
+ sig { params(value: T.nilable(::ActiveStorage::Blob)).void }
1306
+ def school_photo_blob=(value); end
1307
+
1308
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1309
+ def reload_school_photo_blob; end
1310
+
1311
+ sig { returns(ActiveRecord::Associations::CollectionProxy) }
1312
+ def spell_books; end
1313
+
1314
+ sig { params(value: T::Enumerable[T.untyped]).void }
1315
+ def spell_books=(value); end
1316
+
1317
+ sig { returns(ActiveRecord::Associations::CollectionProxy) }
1318
+ def subjects; end
1319
+
1320
+ sig { params(value: T::Enumerable[T.untyped]).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