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 Squib::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) }
@@ -286,62 +286,6 @@ module Squib::GeneratedAttributeMethods
286
286
  def updated_at?; end
287
287
  end
288
288
 
289
- module Squib::GeneratedAssociationMethods
290
- sig { returns(T.nilable(::School)) }
291
- def school; end
292
-
293
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
294
- def build_school(*args, &block); end
295
-
296
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
297
- def create_school(*args, &block); end
298
-
299
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
300
- def create_school!(*args, &block); end
301
-
302
- sig { params(value: T.nilable(::School)).void }
303
- def school=(value); end
304
-
305
- sig { returns(T.nilable(::School)) }
306
- def reload_school; end
307
-
308
- sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
309
- def spell_books; end
310
-
311
- sig { returns(T::Array[Integer]) }
312
- def spell_book_ids; end
313
-
314
- sig { params(value: T::Enumerable[::SpellBook]).void }
315
- def spell_books=(value); end
316
-
317
- sig { returns(::Subject::ActiveRecord_Associations_CollectionProxy) }
318
- def subjects; end
319
-
320
- sig { returns(T::Array[Integer]) }
321
- def subject_ids; end
322
-
323
- sig { params(value: T::Enumerable[::Subject]).void }
324
- def subjects=(value); end
325
-
326
- sig { returns(T.nilable(::Wand)) }
327
- def wand; end
328
-
329
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
330
- def build_wand(*args, &block); end
331
-
332
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
333
- def create_wand(*args, &block); end
334
-
335
- sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
336
- def create_wand!(*args, &block); end
337
-
338
- sig { params(value: T.nilable(::Wand)).void }
339
- def wand=(value); end
340
-
341
- sig { returns(T.nilable(::Wand)) }
342
- def reload_wand; end
343
- end
344
-
345
289
  module Squib::CustomFinderMethods
346
290
  sig { params(limit: Integer).returns(T::Array[Squib]) }
347
291
  def first_n(limit); end
@@ -352,7 +296,7 @@ module Squib::CustomFinderMethods
352
296
  sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Squib]) }
353
297
  def find_n(*args); end
354
298
 
355
- sig { params(id: Integer).returns(T.nilable(Squib)) }
299
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(Squib)) }
356
300
  def find_by_id(id); end
357
301
 
358
302
  sig { params(id: Integer).returns(Squib) }
@@ -386,6 +330,12 @@ class Squib < Wizard
386
330
  sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
387
331
  def self.quidditch_positions; end
388
332
 
333
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
334
+ def self.Alastor_Mad_Eye_Moody(*args); end
335
+
336
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
337
+ def self.Filius_Flitwick(*args); end
338
+
389
339
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
390
340
  def self.Gryffindor(*args); end
391
341
 
@@ -395,9 +345,18 @@ class Squib < Wizard
395
345
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
396
346
  def self.Hufflepuff(*args); end
397
347
 
348
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
349
+ def self.Minerva_McGonagall(*args); end
350
+
351
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
352
+ def self.Pomona_Sprout(*args); end
353
+
398
354
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
399
355
  def self.Ravenclaw(*args); end
400
356
 
357
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
358
+ def self.Severus_Snape(*args); end
359
+
401
360
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
402
361
  def self.Slytherin(*args); end
403
362
 
@@ -425,6 +384,72 @@ class Squib < Wizard
425
384
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
426
385
  def self.color_green_eyes(*args); end
427
386
 
387
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
388
+ def self.not_Alastor_Mad_Eye_Moody(*args); end
389
+
390
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
391
+ def self.not_Filius_Flitwick(*args); end
392
+
393
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
394
+ def self.not_Gryffindor(*args); end
395
+
396
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
397
+ def self.not_Hagrid(*args); end
398
+
399
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
400
+ def self.not_Hufflepuff(*args); end
401
+
402
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
403
+ def self.not_Minerva_McGonagall(*args); end
404
+
405
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
406
+ def self.not_Pomona_Sprout(*args); end
407
+
408
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
409
+ def self.not_Ravenclaw(*args); end
410
+
411
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
412
+ def self.not_Severus_Snape(*args); end
413
+
414
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
415
+ def self.not_Slytherin(*args); end
416
+
417
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
418
+ def self.not_black_hair(*args); end
419
+
420
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
421
+ def self.not_blonde_hair(*args); end
422
+
423
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
424
+ def self.not_broom_firebolt(*args); end
425
+
426
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
427
+ def self.not_broom_nimbus(*args); end
428
+
429
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
430
+ def self.not_brown_hair(*args); end
431
+
432
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
433
+ def self.not_color_blue_eyes(*args); end
434
+
435
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
436
+ def self.not_color_brown_eyes(*args); end
437
+
438
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
439
+ def self.not_color_green_eyes(*args); end
440
+
441
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
442
+ def self.not_quidditch_beater(*args); end
443
+
444
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
445
+ def self.not_quidditch_chaser(*args); end
446
+
447
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
448
+ def self.not_quidditch_keeper(*args); end
449
+
450
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
451
+ def self.not_quidditch_seeker(*args); end
452
+
428
453
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
429
454
  def self.quidditch_beater(*args); end
430
455
 
@@ -439,6 +464,12 @@ class Squib < Wizard
439
464
 
440
465
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
441
466
  def self.recent(*args); end
467
+
468
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
469
+ def self.with_attached_hats(*args); end
470
+
471
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
472
+ def self.with_attached_school_photo(*args); end
442
473
  end
443
474
 
444
475
  class Squib::ActiveRecord_Relation < ActiveRecord::Relation
@@ -447,6 +478,12 @@ class Squib::ActiveRecord_Relation < ActiveRecord::Relation
447
478
  include Squib::QueryMethodsReturningRelation
448
479
  Elem = type_member(fixed: Squib)
449
480
 
481
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
482
+ def Alastor_Mad_Eye_Moody(*args); end
483
+
484
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
485
+ def Filius_Flitwick(*args); end
486
+
450
487
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
451
488
  def Gryffindor(*args); end
452
489
 
@@ -456,9 +493,18 @@ class Squib::ActiveRecord_Relation < ActiveRecord::Relation
456
493
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
457
494
  def Hufflepuff(*args); end
458
495
 
496
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
497
+ def Minerva_McGonagall(*args); end
498
+
499
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
500
+ def Pomona_Sprout(*args); end
501
+
459
502
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
460
503
  def Ravenclaw(*args); end
461
504
 
505
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
506
+ def Severus_Snape(*args); end
507
+
462
508
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
463
509
  def Slytherin(*args); end
464
510
 
@@ -486,6 +532,72 @@ class Squib::ActiveRecord_Relation < ActiveRecord::Relation
486
532
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
487
533
  def color_green_eyes(*args); end
488
534
 
535
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
536
+ def not_Alastor_Mad_Eye_Moody(*args); end
537
+
538
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
539
+ def not_Filius_Flitwick(*args); end
540
+
541
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
542
+ def not_Gryffindor(*args); end
543
+
544
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
545
+ def not_Hagrid(*args); end
546
+
547
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
548
+ def not_Hufflepuff(*args); end
549
+
550
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
551
+ def not_Minerva_McGonagall(*args); end
552
+
553
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
554
+ def not_Pomona_Sprout(*args); end
555
+
556
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
557
+ def not_Ravenclaw(*args); end
558
+
559
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
560
+ def not_Severus_Snape(*args); end
561
+
562
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
563
+ def not_Slytherin(*args); end
564
+
565
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
566
+ def not_black_hair(*args); end
567
+
568
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
569
+ def not_blonde_hair(*args); end
570
+
571
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
572
+ def not_broom_firebolt(*args); end
573
+
574
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
575
+ def not_broom_nimbus(*args); end
576
+
577
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
578
+ def not_brown_hair(*args); end
579
+
580
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
581
+ def not_color_blue_eyes(*args); end
582
+
583
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
584
+ def not_color_brown_eyes(*args); end
585
+
586
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
587
+ def not_color_green_eyes(*args); end
588
+
589
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
590
+ def not_quidditch_beater(*args); end
591
+
592
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
593
+ def not_quidditch_chaser(*args); end
594
+
595
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
596
+ def not_quidditch_keeper(*args); end
597
+
598
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
599
+ def not_quidditch_seeker(*args); end
600
+
489
601
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
490
602
  def quidditch_beater(*args); end
491
603
 
@@ -500,6 +612,12 @@ class Squib::ActiveRecord_Relation < ActiveRecord::Relation
500
612
 
501
613
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
502
614
  def recent(*args); end
615
+
616
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
617
+ def with_attached_hats(*args); end
618
+
619
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
620
+ def with_attached_school_photo(*args); end
503
621
  end
504
622
 
505
623
  class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
@@ -508,6 +626,12 @@ class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelatio
508
626
  include Squib::QueryMethodsReturningAssociationRelation
509
627
  Elem = type_member(fixed: Squib)
510
628
 
629
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
630
+ def Alastor_Mad_Eye_Moody(*args); end
631
+
632
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
633
+ def Filius_Flitwick(*args); end
634
+
511
635
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
512
636
  def Gryffindor(*args); end
513
637
 
@@ -517,9 +641,18 @@ class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelatio
517
641
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
518
642
  def Hufflepuff(*args); end
519
643
 
644
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
645
+ def Minerva_McGonagall(*args); end
646
+
647
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
648
+ def Pomona_Sprout(*args); end
649
+
520
650
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
521
651
  def Ravenclaw(*args); end
522
652
 
653
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
654
+ def Severus_Snape(*args); end
655
+
523
656
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
524
657
  def Slytherin(*args); end
525
658
 
@@ -547,6 +680,72 @@ class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelatio
547
680
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
548
681
  def color_green_eyes(*args); end
549
682
 
683
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
684
+ def not_Alastor_Mad_Eye_Moody(*args); end
685
+
686
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
687
+ def not_Filius_Flitwick(*args); end
688
+
689
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
690
+ def not_Gryffindor(*args); end
691
+
692
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
693
+ def not_Hagrid(*args); end
694
+
695
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
696
+ def not_Hufflepuff(*args); end
697
+
698
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
699
+ def not_Minerva_McGonagall(*args); end
700
+
701
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
702
+ def not_Pomona_Sprout(*args); end
703
+
704
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
705
+ def not_Ravenclaw(*args); end
706
+
707
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
708
+ def not_Severus_Snape(*args); end
709
+
710
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
711
+ def not_Slytherin(*args); end
712
+
713
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
714
+ def not_black_hair(*args); end
715
+
716
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
717
+ def not_blonde_hair(*args); end
718
+
719
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
720
+ def not_broom_firebolt(*args); end
721
+
722
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
723
+ def not_broom_nimbus(*args); end
724
+
725
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
726
+ def not_brown_hair(*args); end
727
+
728
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
729
+ def not_color_blue_eyes(*args); end
730
+
731
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
732
+ def not_color_brown_eyes(*args); end
733
+
734
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
735
+ def not_color_green_eyes(*args); end
736
+
737
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
738
+ def not_quidditch_beater(*args); end
739
+
740
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
741
+ def not_quidditch_chaser(*args); end
742
+
743
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
744
+ def not_quidditch_keeper(*args); end
745
+
746
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
747
+ def not_quidditch_seeker(*args); end
748
+
550
749
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
551
750
  def quidditch_beater(*args); end
552
751
 
@@ -561,6 +760,12 @@ class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelatio
561
760
 
562
761
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
563
762
  def recent(*args); end
763
+
764
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
765
+ def with_attached_hats(*args); end
766
+
767
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
768
+ def with_attached_school_photo(*args); end
564
769
  end
565
770
 
566
771
  class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
@@ -568,6 +773,12 @@ class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associati
568
773
  include Squib::QueryMethodsReturningAssociationRelation
569
774
  Elem = type_member(fixed: Squib)
570
775
 
776
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
777
+ def Alastor_Mad_Eye_Moody(*args); end
778
+
779
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
780
+ def Filius_Flitwick(*args); end
781
+
571
782
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
572
783
  def Gryffindor(*args); end
573
784
 
@@ -577,9 +788,18 @@ class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associati
577
788
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
578
789
  def Hufflepuff(*args); end
579
790
 
791
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
792
+ def Minerva_McGonagall(*args); end
793
+
794
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
795
+ def Pomona_Sprout(*args); end
796
+
580
797
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
581
798
  def Ravenclaw(*args); end
582
799
 
800
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
801
+ def Severus_Snape(*args); end
802
+
583
803
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
584
804
  def Slytherin(*args); end
585
805
 
@@ -607,6 +827,72 @@ class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associati
607
827
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
608
828
  def color_green_eyes(*args); end
609
829
 
830
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
831
+ def not_Alastor_Mad_Eye_Moody(*args); end
832
+
833
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
834
+ def not_Filius_Flitwick(*args); end
835
+
836
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
837
+ def not_Gryffindor(*args); end
838
+
839
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
840
+ def not_Hagrid(*args); end
841
+
842
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
843
+ def not_Hufflepuff(*args); end
844
+
845
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
846
+ def not_Minerva_McGonagall(*args); end
847
+
848
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
849
+ def not_Pomona_Sprout(*args); end
850
+
851
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
852
+ def not_Ravenclaw(*args); end
853
+
854
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
855
+ def not_Severus_Snape(*args); end
856
+
857
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
858
+ def not_Slytherin(*args); end
859
+
860
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
861
+ def not_black_hair(*args); end
862
+
863
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
864
+ def not_blonde_hair(*args); end
865
+
866
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
867
+ def not_broom_firebolt(*args); end
868
+
869
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
870
+ def not_broom_nimbus(*args); end
871
+
872
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
873
+ def not_brown_hair(*args); end
874
+
875
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
876
+ def not_color_blue_eyes(*args); end
877
+
878
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
879
+ def not_color_brown_eyes(*args); end
880
+
881
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
882
+ def not_color_green_eyes(*args); end
883
+
884
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
885
+ def not_quidditch_beater(*args); end
886
+
887
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
888
+ def not_quidditch_chaser(*args); end
889
+
890
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
891
+ def not_quidditch_keeper(*args); end
892
+
893
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
894
+ def not_quidditch_seeker(*args); end
895
+
610
896
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
611
897
  def quidditch_beater(*args); end
612
898
 
@@ -622,6 +908,12 @@ class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associati
622
908
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
623
909
  def recent(*args); end
624
910
 
911
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
912
+ def with_attached_hats(*args); end
913
+
914
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
915
+ def with_attached_school_photo(*args); end
916
+
625
917
  sig { params(records: T.any(Squib, T::Array[Squib])).returns(T.self_type) }
626
918
  def <<(*records); end
627
919
 
@@ -643,7 +935,7 @@ module Squib::QueryMethodsReturningRelation
643
935
  def unscoped(&block); end
644
936
 
645
937
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
646
- def select(*args); end
938
+ def reselect(*args); end
647
939
 
648
940
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
649
941
  def order(*args); end
@@ -678,6 +970,9 @@ module Squib::QueryMethodsReturningRelation
678
970
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
679
971
  def preload(*args); end
680
972
 
973
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
974
+ def extract_associated(*args); end
975
+
681
976
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
682
977
  def eager_load(*args); end
683
978
 
@@ -714,12 +1009,24 @@ module Squib::QueryMethodsReturningRelation
714
1009
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
715
1010
  def unscope(*args); end
716
1011
 
1012
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
1013
+ def optimizer_hints(*args); end
1014
+
717
1015
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
718
1016
  def merge(*args); end
719
1017
 
720
1018
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
721
1019
  def except(*args); end
722
1020
 
1021
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_Relation) }
1022
+ def only(*args); end
1023
+
1024
+ sig { params(block: T.proc.params(e: Squib).returns(T::Boolean)).returns(T::Array[Squib]) }
1025
+ def select(&block); end
1026
+
1027
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Squib::ActiveRecord_Relation) }
1028
+ def select_columns(*args); end
1029
+
723
1030
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Squib::ActiveRecord_Relation) }
724
1031
  def extending(*args, &block); end
725
1032
 
@@ -744,7 +1051,7 @@ module Squib::QueryMethodsReturningAssociationRelation
744
1051
  def unscoped(&block); end
745
1052
 
746
1053
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
747
- def select(*args); end
1054
+ def reselect(*args); end
748
1055
 
749
1056
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
750
1057
  def order(*args); end
@@ -779,6 +1086,9 @@ module Squib::QueryMethodsReturningAssociationRelation
779
1086
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
780
1087
  def preload(*args); end
781
1088
 
1089
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
1090
+ def extract_associated(*args); end
1091
+
782
1092
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
783
1093
  def eager_load(*args); end
784
1094
 
@@ -815,12 +1125,24 @@ module Squib::QueryMethodsReturningAssociationRelation
815
1125
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
816
1126
  def unscope(*args); end
817
1127
 
1128
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
1129
+ def optimizer_hints(*args); end
1130
+
818
1131
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
819
1132
  def merge(*args); end
820
1133
 
821
1134
  sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
822
1135
  def except(*args); end
823
1136
 
1137
+ sig { params(args: T.untyped).returns(Squib::ActiveRecord_AssociationRelation) }
1138
+ def only(*args); end
1139
+
1140
+ sig { params(block: T.proc.params(e: Squib).returns(T::Boolean)).returns(T::Array[Squib]) }
1141
+ def select(&block); end
1142
+
1143
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(Squib::ActiveRecord_AssociationRelation) }
1144
+ def select_columns(*args); end
1145
+
824
1146
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Squib::ActiveRecord_AssociationRelation) }
825
1147
  def extending(*args, &block); end
826
1148
 
@@ -836,3 +1158,125 @@ module Squib::QueryMethodsReturningAssociationRelation
836
1158
  end
837
1159
  def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
838
1160
  end
1161
+
1162
+ module Squib::GeneratedAssociationMethods
1163
+ sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
1164
+ def hats_attachments; end
1165
+
1166
+ sig { returns(T::Array[T.untyped]) }
1167
+ def hats_attachment_ids; end
1168
+
1169
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
1170
+ def hats_attachments=(value); end
1171
+
1172
+ sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
1173
+ def hats_blobs; end
1174
+
1175
+ sig { returns(T::Array[T.untyped]) }
1176
+ def hats_blob_ids; end
1177
+
1178
+ sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
1179
+ def hats_blobs=(value); end
1180
+
1181
+ sig { returns(T.nilable(::School)) }
1182
+ def school; end
1183
+
1184
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1185
+ def build_school(*args, &block); end
1186
+
1187
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1188
+ def create_school(*args, &block); end
1189
+
1190
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::School).void)).returns(::School) }
1191
+ def create_school!(*args, &block); end
1192
+
1193
+ sig { params(value: T.nilable(::School)).void }
1194
+ def school=(value); end
1195
+
1196
+ sig { returns(T.nilable(::School)) }
1197
+ def reload_school; end
1198
+
1199
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1200
+ def school_photo_attachment; end
1201
+
1202
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1203
+ def build_school_photo_attachment(*args, &block); end
1204
+
1205
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1206
+ def create_school_photo_attachment(*args, &block); end
1207
+
1208
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Attachment).void)).returns(::ActiveStorage::Attachment) }
1209
+ def create_school_photo_attachment!(*args, &block); end
1210
+
1211
+ sig { params(value: T.nilable(::ActiveStorage::Attachment)).void }
1212
+ def school_photo_attachment=(value); end
1213
+
1214
+ sig { returns(T.nilable(::ActiveStorage::Attachment)) }
1215
+ def reload_school_photo_attachment; end
1216
+
1217
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1218
+ def school_photo_blob; end
1219
+
1220
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1221
+ def build_school_photo_blob(*args, &block); end
1222
+
1223
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1224
+ def create_school_photo_blob(*args, &block); end
1225
+
1226
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::ActiveStorage::Blob).void)).returns(::ActiveStorage::Blob) }
1227
+ def create_school_photo_blob!(*args, &block); end
1228
+
1229
+ sig { params(value: T.nilable(::ActiveStorage::Blob)).void }
1230
+ def school_photo_blob=(value); end
1231
+
1232
+ sig { returns(T.nilable(::ActiveStorage::Blob)) }
1233
+ def reload_school_photo_blob; end
1234
+
1235
+ sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
1236
+ def spell_books; end
1237
+
1238
+ sig { returns(T::Array[Integer]) }
1239
+ def spell_book_ids; end
1240
+
1241
+ sig { params(value: T::Enumerable[::SpellBook]).void }
1242
+ def spell_books=(value); end
1243
+
1244
+ sig { returns(::Subject::ActiveRecord_Associations_CollectionProxy) }
1245
+ def subjects; end
1246
+
1247
+ sig { returns(T::Array[Integer]) }
1248
+ def subject_ids; end
1249
+
1250
+ sig { params(value: T::Enumerable[::Subject]).void }
1251
+ def subjects=(value); end
1252
+
1253
+ sig { returns(T.nilable(::Wand)) }
1254
+ def wand; end
1255
+
1256
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1257
+ def build_wand(*args, &block); end
1258
+
1259
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1260
+ def create_wand(*args, &block); end
1261
+
1262
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wand).void)).returns(::Wand) }
1263
+ def create_wand!(*args, &block); end
1264
+
1265
+ sig { params(value: T.nilable(::Wand)).void }
1266
+ def wand=(value); end
1267
+
1268
+ sig { returns(T.nilable(::Wand)) }
1269
+ def reload_wand; end
1270
+
1271
+ sig { returns(T.nilable(ActiveStorage::Attached::One)) }
1272
+ def school_photo; end
1273
+
1274
+ sig { params(attachable: T.untyped).returns(T.untyped) }
1275
+ def school_photo=(attachable); end
1276
+
1277
+ sig { returns(T.nilable(ActiveStorage::Attached::Many)) }
1278
+ def hats; end
1279
+
1280
+ sig { params(attachables: T.untyped).returns(T.untyped) }
1281
+ def hats=(attachables); end
1282
+ end