sorbet-rails 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sorbet-rails/active_record_rbi_formatter.rb +295 -0
  3. data/lib/sorbet-rails/config.rb +0 -1
  4. data/lib/sorbet-rails/custom_types/boolean_string.rb +10 -0
  5. data/lib/sorbet-rails/custom_types/integer_string.rb +10 -0
  6. data/lib/sorbet-rails/dependent_gem_rbis/activerecord.rbi +11 -0
  7. data/lib/sorbet-rails/deprecation.rb +5 -0
  8. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +27 -6
  9. data/lib/sorbet-rails/model_plugins/active_record_attribute.rb +20 -8
  10. data/lib/sorbet-rails/model_plugins/base.rb +9 -0
  11. data/lib/sorbet-rails/model_plugins/enumerable_collections.rb +0 -50
  12. data/lib/sorbet-rails/model_plugins/plugins.rb +0 -3
  13. data/lib/sorbet-rails/model_rbi_formatter.rb +2 -2
  14. data/lib/sorbet-rails/model_utils.rb +15 -6
  15. data/lib/sorbet-rails/rails_mixins/custom_params_methods.rb +11 -0
  16. data/lib/sorbet-rails/tasks/rails_rbi.rake +20 -4
  17. data/sorbet-rails.gemspec +2 -2
  18. data/spec/active_record_rbi_formatter_spec.rb +24 -0
  19. data/spec/generators/rails-template.rb +88 -1
  20. data/spec/generators/sorbet_test_cases.rb +146 -42
  21. data/spec/model_rbi_formatter_spec.rb +1 -1
  22. data/spec/rails_helper.rb +14 -1
  23. data/spec/rake_rails_rbi_active_record_spec.rb +21 -0
  24. data/spec/rake_rails_rbi_models_spec.rb +7 -0
  25. data/spec/sorbet_spec.rb +12 -1
  26. data/spec/support/v5.0/Gemfile.lock +8 -8
  27. data/spec/support/v5.0/app/models/headmaster.rb +8 -0
  28. data/spec/support/v5.0/app/models/school.rb +2 -0
  29. data/spec/support/v5.0/app/models/spell.rb +5 -0
  30. data/spec/support/v5.0/app/models/spell_book.rb +3 -0
  31. data/spec/support/v5.0/app/models/subject.rb +5 -0
  32. data/spec/support/v5.0/app/models/wizard.rb +6 -1
  33. data/spec/support/v5.0/db/migrate/20190620000010_add_subject.rb +8 -0
  34. data/spec/support/v5.0/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  35. data/spec/support/v5.0/db/migrate/20190620000012_add_spell.rb +8 -0
  36. data/spec/support/v5.0/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  37. data/spec/support/v5.0/db/migrate/20190620000014_create_headmasters.rb +9 -0
  38. data/spec/support/v5.0/db/schema.rb +28 -1
  39. data/spec/support/v5.0/lib/mythical_rbi_plugin.rb +1 -1
  40. data/spec/support/v5.0/sorbet_test_cases.rb +146 -42
  41. data/spec/support/v5.1/Gemfile.lock +8 -8
  42. data/spec/support/v5.1/app/models/headmaster.rb +8 -0
  43. data/spec/support/v5.1/app/models/school.rb +2 -0
  44. data/spec/support/v5.1/app/models/spell.rb +5 -0
  45. data/spec/support/v5.1/app/models/spell_book.rb +3 -0
  46. data/spec/support/v5.1/app/models/subject.rb +5 -0
  47. data/spec/support/v5.1/app/models/wizard.rb +6 -1
  48. data/spec/support/v5.1/db/migrate/20190620000010_add_subject.rb +8 -0
  49. data/spec/support/v5.1/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  50. data/spec/support/v5.1/db/migrate/20190620000012_add_spell.rb +8 -0
  51. data/spec/support/v5.1/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  52. data/spec/support/v5.1/db/migrate/20190620000014_create_headmasters.rb +9 -0
  53. data/spec/support/v5.1/db/schema.rb +28 -1
  54. data/spec/support/v5.1/lib/mythical_rbi_plugin.rb +1 -1
  55. data/spec/support/v5.1/sorbet_test_cases.rb +146 -42
  56. data/spec/support/v5.2/Gemfile +1 -1
  57. data/spec/support/v5.2/Gemfile.lock +9 -9
  58. data/spec/support/v5.2/app/models/headmaster.rb +8 -0
  59. data/spec/support/v5.2/app/models/school.rb +2 -0
  60. data/spec/support/v5.2/app/models/spell.rb +5 -0
  61. data/spec/support/v5.2/app/models/spell_book.rb +3 -0
  62. data/spec/support/v5.2/app/models/subject.rb +5 -0
  63. data/spec/support/v5.2/app/models/wizard.rb +5 -0
  64. data/spec/support/v5.2/config/puma.rb +3 -0
  65. data/spec/support/v5.2/db/migrate/20190620000010_add_subject.rb +8 -0
  66. data/spec/support/v5.2/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  67. data/spec/support/v5.2/db/migrate/20190620000012_add_spell.rb +8 -0
  68. data/spec/support/v5.2/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  69. data/spec/support/v5.2/db/migrate/20190620000014_create_headmasters.rb +9 -0
  70. data/spec/support/v5.2/db/schema.rb +28 -1
  71. data/spec/support/v5.2/lib/mythical_rbi_plugin.rb +1 -1
  72. data/spec/support/v5.2/sorbet_test_cases.rb +146 -42
  73. data/spec/support/v6.0/Gemfile.lock +8 -8
  74. data/spec/support/v6.0/app/models/headmaster.rb +8 -0
  75. data/spec/support/v6.0/app/models/school.rb +2 -0
  76. data/spec/support/v6.0/app/models/spell.rb +5 -0
  77. data/spec/support/v6.0/app/models/spell_book.rb +3 -0
  78. data/spec/support/v6.0/app/models/subject.rb +5 -0
  79. data/spec/support/v6.0/app/models/wizard.rb +6 -1
  80. data/spec/support/v6.0/db/migrate/20190620000010_add_subject.rb +8 -0
  81. data/spec/support/v6.0/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  82. data/spec/support/v6.0/db/migrate/20190620000012_add_spell.rb +8 -0
  83. data/spec/support/v6.0/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  84. data/spec/support/v6.0/db/migrate/20190620000014_create_headmasters.rb +9 -0
  85. data/spec/support/v6.0/db/schema.rb +28 -1
  86. data/spec/support/v6.0/lib/mythical_rbi_plugin.rb +1 -1
  87. data/spec/support/v6.0/sorbet_test_cases.rb +146 -42
  88. data/spec/test_data/v5.0/expected_active_record_base.rbi +113 -0
  89. data/spec/test_data/v5.0/expected_active_record_relation.rbi +199 -0
  90. data/spec/test_data/v5.0/expected_habtm_subjects.rbi +660 -0
  91. data/spec/test_data/v5.0/expected_habtm_wizards.rbi +660 -0
  92. data/spec/test_data/v5.0/expected_headmaster.rbi +452 -0
  93. data/spec/test_data/v5.0/expected_internal_metadata.rbi +0 -217
  94. data/spec/test_data/v5.0/expected_potion.rbi +0 -217
  95. data/spec/test_data/v5.0/expected_robe.rbi +0 -217
  96. data/spec/test_data/v5.0/expected_schema_migration.rbi +0 -217
  97. data/spec/test_data/v5.0/expected_school.rbi +11 -217
  98. data/spec/test_data/v5.0/expected_spell.rbi +440 -0
  99. data/spec/test_data/v5.0/expected_spell/habtm_spell_books.rbi +443 -0
  100. data/spec/test_data/v5.0/expected_spell_book.rbi +14 -222
  101. data/spec/test_data/v5.0/expected_spell_book/habtm_spell_books.rbi +637 -0
  102. data/spec/test_data/v5.0/expected_spell_book/habtm_spells.rbi +443 -0
  103. data/spec/test_data/v5.0/expected_squib.rbi +14 -219
  104. data/spec/test_data/v5.0/expected_subject.rbi +440 -0
  105. data/spec/test_data/v5.0/expected_subject/habtm_wizards.rbi +443 -0
  106. data/spec/test_data/v5.0/expected_wand.rbi +4 -221
  107. data/spec/test_data/v5.0/expected_wizard.rbi +36 -240
  108. data/spec/test_data/v5.0/expected_wizard/habtm_subjects.rbi +443 -0
  109. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +30 -240
  110. data/spec/test_data/v5.1/expected_active_record_base.rbi +113 -0
  111. data/spec/test_data/v5.1/expected_active_record_relation.rbi +178 -0
  112. data/spec/test_data/v5.1/expected_habtm_subjects.rbi +672 -0
  113. data/spec/test_data/v5.1/expected_habtm_wizards.rbi +672 -0
  114. data/spec/test_data/v5.1/expected_headmaster.rbi +464 -0
  115. data/spec/test_data/v5.1/expected_internal_metadata.rbi +0 -217
  116. data/spec/test_data/v5.1/expected_potion.rbi +0 -217
  117. data/spec/test_data/v5.1/expected_robe.rbi +0 -217
  118. data/spec/test_data/v5.1/expected_schema_migration.rbi +0 -217
  119. data/spec/test_data/v5.1/expected_school.rbi +11 -217
  120. data/spec/test_data/v5.1/expected_spell.rbi +452 -0
  121. data/spec/test_data/v5.1/expected_spell/habtm_spell_books.rbi +455 -0
  122. data/spec/test_data/v5.1/expected_spell_book.rbi +14 -222
  123. data/spec/test_data/v5.1/expected_spell_book/habtm_spell_books.rbi +649 -0
  124. data/spec/test_data/v5.1/expected_spell_book/habtm_spells.rbi +455 -0
  125. data/spec/test_data/v5.1/expected_squib.rbi +14 -219
  126. data/spec/test_data/v5.1/expected_subject.rbi +452 -0
  127. data/spec/test_data/v5.1/expected_subject/habtm_wizards.rbi +455 -0
  128. data/spec/test_data/v5.1/expected_wand.rbi +4 -221
  129. data/spec/test_data/v5.1/expected_wizard.rbi +36 -240
  130. data/spec/test_data/v5.1/expected_wizard/habtm_subjects.rbi +455 -0
  131. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +30 -240
  132. data/spec/test_data/v5.2/expected_active_record_base.rbi +113 -0
  133. data/spec/test_data/v5.2/expected_active_record_relation.rbi +175 -0
  134. data/spec/test_data/v5.2/expected_attachment.rbi +0 -217
  135. data/spec/test_data/v5.2/expected_blob.rbi +3 -217
  136. data/spec/test_data/v5.2/expected_habtm_subjects.rbi +672 -0
  137. data/spec/test_data/v5.2/expected_habtm_wizards.rbi +672 -0
  138. data/spec/test_data/v5.2/expected_headmaster.rbi +464 -0
  139. data/spec/test_data/v5.2/expected_internal_metadata.rbi +0 -217
  140. data/spec/test_data/v5.2/expected_potion.rbi +0 -217
  141. data/spec/test_data/v5.2/expected_robe.rbi +0 -217
  142. data/spec/test_data/v5.2/expected_schema_migration.rbi +0 -217
  143. data/spec/test_data/v5.2/expected_school.rbi +11 -217
  144. data/spec/test_data/v5.2/expected_spell.rbi +452 -0
  145. data/spec/test_data/v5.2/expected_spell/habtm_spell_books.rbi +455 -0
  146. data/spec/test_data/v5.2/expected_spell_book.rbi +14 -222
  147. data/spec/test_data/v5.2/expected_spell_book/habtm_spell_books.rbi +649 -0
  148. data/spec/test_data/v5.2/expected_spell_book/habtm_spells.rbi +455 -0
  149. data/spec/test_data/v5.2/expected_squib.rbi +20 -219
  150. data/spec/test_data/v5.2/expected_subject.rbi +452 -0
  151. data/spec/test_data/v5.2/expected_subject/habtm_wizards.rbi +455 -0
  152. data/spec/test_data/v5.2/expected_wand.rbi +4 -221
  153. data/spec/test_data/v5.2/expected_wizard.rbi +42 -240
  154. data/spec/test_data/v5.2/expected_wizard/habtm_subjects.rbi +455 -0
  155. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +36 -240
  156. data/spec/test_data/v6.0/expected_active_record_base.rbi +113 -0
  157. data/spec/test_data/v6.0/expected_active_record_relation.rbi +175 -0
  158. data/spec/test_data/v6.0/expected_attachment.rbi +0 -217
  159. data/spec/test_data/v6.0/expected_blob.rbi +3 -217
  160. data/spec/test_data/v6.0/expected_habtm_subjects.rbi +720 -0
  161. data/spec/test_data/v6.0/expected_habtm_wizards.rbi +720 -0
  162. data/spec/test_data/v6.0/expected_headmaster.rbi +512 -0
  163. data/spec/test_data/v6.0/expected_internal_metadata.rbi +0 -217
  164. data/spec/test_data/v6.0/expected_potion.rbi +0 -217
  165. data/spec/test_data/v6.0/expected_robe.rbi +0 -217
  166. data/spec/test_data/v6.0/expected_schema_migration.rbi +0 -217
  167. data/spec/test_data/v6.0/expected_school.rbi +11 -217
  168. data/spec/test_data/v6.0/expected_spell.rbi +500 -0
  169. data/spec/test_data/v6.0/expected_spell/habtm_spell_books.rbi +503 -0
  170. data/spec/test_data/v6.0/expected_spell_book.rbi +14 -222
  171. data/spec/test_data/v6.0/expected_spell_book/habtm_spell_books.rbi +697 -0
  172. data/spec/test_data/v6.0/expected_spell_book/habtm_spells.rbi +503 -0
  173. data/spec/test_data/v6.0/expected_squib.rbi +20 -219
  174. data/spec/test_data/v6.0/expected_subject.rbi +500 -0
  175. data/spec/test_data/v6.0/expected_subject/habtm_wizards.rbi +503 -0
  176. data/spec/test_data/v6.0/expected_wand.rbi +4 -221
  177. data/spec/test_data/v6.0/expected_wizard.rbi +42 -240
  178. data/spec/test_data/v6.0/expected_wizard/habtm_subjects.rbi +503 -0
  179. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +36 -240
  180. metadata +169 -14
  181. data/lib/bundled_rbi/active_record_base.rbi +0 -83
  182. data/lib/bundled_rbi/active_record_relation.rbi +0 -122
  183. data/lib/sorbet-rails/model_plugins/active_record_finder_methods.rb +0 -131
  184. data/spec/support/v5.0/typed-override.yaml +0 -2
  185. data/spec/support/v5.1/typed-override.yaml +0 -2
  186. data/spec/support/v5.2/typed-override.yaml +0 -2
  187. data/spec/support/v6.0/typed-override.yaml +0 -2
@@ -167,10 +167,10 @@ module Wizard::GeneratedAttributeMethods
167
167
  sig { returns(T::Boolean) }
168
168
  def id?; end
169
169
 
170
- sig { returns(T.nilable(String)) }
170
+ sig { returns(String) }
171
171
  def name; end
172
172
 
173
- sig { params(value: T.nilable(T.any(String, Symbol))).void }
173
+ sig { params(value: T.any(String, Symbol)).void }
174
174
  def name=(value); end
175
175
 
176
176
  sig { returns(T::Boolean) }
@@ -236,57 +236,58 @@ end
236
236
 
237
237
  class Wizard::Broom < T::Enum
238
238
  enums do
239
- Nimbus = new('nimbus')
240
- Firebolt = new('firebolt')
239
+ Nimbus = new(%q{nimbus})
240
+ Firebolt = new(%q{firebolt})
241
241
  end
242
242
 
243
243
  end
244
244
 
245
245
  class Wizard::EyeColor < T::Enum
246
246
  enums do
247
- Brown = new('brown')
248
- Green = new('green')
249
- Blue = new('blue')
247
+ Brown = new(%q{brown})
248
+ Green = new(%q{green})
249
+ Blue = new(%q{blue})
250
250
  end
251
251
 
252
252
  end
253
253
 
254
254
  class Wizard::HairColor < T::Enum
255
255
  enums do
256
- Brown = new('brown')
257
- Black = new('black')
258
- Blonde = new('blonde')
256
+ Brown = new(%q{brown})
257
+ Black = new(%q{black})
258
+ Blonde = new(%q{blonde})
259
259
  end
260
260
 
261
261
  end
262
262
 
263
263
  class Wizard::House < T::Enum
264
264
  enums do
265
- Gryffindor = new('Gryffindor')
266
- Hufflepuff = new('Hufflepuff')
267
- Ravenclaw = new('Ravenclaw')
268
- Slytherin = new('Slytherin')
265
+ Gryffindor = new(%q{Gryffindor})
266
+ Hufflepuff = new(%q{Hufflepuff})
267
+ Ravenclaw = new(%q{Ravenclaw})
268
+ Slytherin = new(%q{Slytherin})
269
269
  end
270
270
 
271
271
  end
272
272
 
273
273
  class Wizard::ProfessorEnum < T::Enum
274
274
  enums do
275
- SeverusSnape = new('Severus Snape')
276
- MinervaMcGonagall = new('Minerva McGonagall')
277
- PomonaSprout = new('Pomona Sprout')
278
- FiliusFlitwick = new('Filius Flitwick')
279
- Hagrid = new('Hagrid')
275
+ SeverusSnape = new(%q{Severus Snape})
276
+ MinervaMcGonagall = new(%q{Minerva McGonagall})
277
+ PomonaSprout = new(%q{Pomona Sprout})
278
+ FiliusFlitwick = new(%q{Filius Flitwick})
279
+ Hagrid = new(%q{Hagrid})
280
+ AlastorMadEyeMoody = new(%q{Alastor 'Mad-Eye' Moody})
280
281
  end
281
282
 
282
283
  end
283
284
 
284
285
  class Wizard::QuidditchPosition < T::Enum
285
286
  enums do
286
- Keeper = new('keeper')
287
- Seeker = new('seeker')
288
- Beater = new('beater')
289
- Chaser = new('chaser')
287
+ Keeper = new(%q{keeper})
288
+ Seeker = new(%q{seeker})
289
+ Beater = new(%q{beater})
290
+ Chaser = new(%q{chaser})
290
291
  end
291
292
 
292
293
  end
@@ -306,6 +307,12 @@ module Wizard::GeneratedAssociationMethods
306
307
  sig { params(value: T::Enumerable[T.untyped]).void }
307
308
  def spell_books=(value); end
308
309
 
310
+ sig { returns(ActiveRecord::Associations::CollectionProxy) }
311
+ def subjects; end
312
+
313
+ sig { params(value: T::Enumerable[T.untyped]).void }
314
+ def subjects=(value); end
315
+
309
316
  sig { returns(T.nilable(::Wand)) }
310
317
  def wand; end
311
318
 
@@ -533,30 +540,11 @@ class Wizard < ApplicationRecord
533
540
 
534
541
  sig { params(value: T.nilable(Wizard::QuidditchPosition)).void }
535
542
  def typed_quidditch_position=(value); end
536
-
537
- sig { params(conditions: T.untyped).returns(T::Boolean) }
538
- def self.exists?(conditions = nil); end
539
-
540
- sig { params(args: T.untyped).returns(T::Boolean) }
541
- def self.any?(*args); end
542
-
543
- sig { params(args: T.untyped).returns(T::Boolean) }
544
- def self.many?(*args); end
545
-
546
- sig { params(args: T.untyped).returns(T::Boolean) }
547
- def self.none?(*args); end
548
-
549
- sig { params(args: T.untyped).returns(T::Boolean) }
550
- def self.one?(*args); end
551
-
552
- sig { params(args: T.untyped).returns(T::Boolean) }
553
- def self.empty?(*args); end
554
543
  end
555
544
 
556
545
  class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
557
546
  include Wizard::ActiveRelation_WhereNot
558
547
  include Wizard::CustomFinderMethods
559
- include Enumerable
560
548
  extend T::Sig
561
549
  extend T::Generic
562
550
  Elem = type_member(fixed: Wizard)
@@ -701,30 +689,11 @@ class Wizard::ActiveRecord_Relation < ActiveRecord::Relation
701
689
 
702
690
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_Relation) }
703
691
  def extending(*args, &block); end
704
-
705
- sig { params(conditions: T.untyped).returns(T::Boolean) }
706
- def exists?(conditions = nil); end
707
-
708
- sig { params(args: T.untyped).returns(T::Boolean) }
709
- def any?(*args); end
710
-
711
- sig { params(args: T.untyped).returns(T::Boolean) }
712
- def many?(*args); end
713
-
714
- sig { params(args: T.untyped).returns(T::Boolean) }
715
- def none?(*args); end
716
-
717
- sig { params(args: T.untyped).returns(T::Boolean) }
718
- def one?(*args); end
719
-
720
- sig { params(args: T.untyped).returns(T::Boolean) }
721
- def empty?(*args); end
722
692
  end
723
693
 
724
694
  class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
725
695
  include Wizard::ActiveRelation_WhereNot
726
696
  include Wizard::CustomFinderMethods
727
- include Enumerable
728
697
  extend T::Sig
729
698
  extend T::Generic
730
699
  Elem = type_member(fixed: Wizard)
@@ -869,100 +838,10 @@ class Wizard::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelati
869
838
 
870
839
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
871
840
  def extending(*args, &block); end
872
-
873
- sig { params(args: T.untyped).returns(Wizard) }
874
- def find(*args); end
875
-
876
- sig { params(args: T.untyped).returns(T.nilable(Wizard)) }
877
- def find_by(*args); end
878
-
879
- sig { params(args: T.untyped).returns(Wizard) }
880
- def find_by!(*args); end
881
-
882
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
883
- def find_or_initialize_by(attributes, &block); end
884
-
885
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
886
- def find_or_create_by(attributes, &block); end
887
-
888
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
889
- def find_or_create_by!(attributes, &block); end
890
-
891
- sig { returns(T.nilable(Wizard)) }
892
- def first; end
893
-
894
- sig { returns(Wizard) }
895
- def first!; end
896
-
897
- sig { returns(T.nilable(Wizard)) }
898
- def second; end
899
-
900
- sig { returns(Wizard) }
901
- def second!; end
902
-
903
- sig { returns(T.nilable(Wizard)) }
904
- def third; end
905
-
906
- sig { returns(Wizard) }
907
- def third!; end
908
-
909
- sig { returns(T.nilable(Wizard)) }
910
- def third_to_last; end
911
-
912
- sig { returns(Wizard) }
913
- def third_to_last!; end
914
-
915
- sig { returns(T.nilable(Wizard)) }
916
- def second_to_last; end
917
-
918
- sig { returns(Wizard) }
919
- def second_to_last!; end
920
-
921
- sig { returns(T.nilable(Wizard)) }
922
- def last; end
923
-
924
- sig { returns(Wizard) }
925
- def last!; end
926
-
927
- sig { params(conditions: T.untyped).returns(T::Boolean) }
928
- def exists?(conditions = nil); end
929
-
930
- sig { params(args: T.untyped).returns(T::Boolean) }
931
- def any?(*args); end
932
-
933
- sig { params(args: T.untyped).returns(T::Boolean) }
934
- def many?(*args); end
935
-
936
- sig { params(args: T.untyped).returns(T::Boolean) }
937
- def none?(*args); end
938
-
939
- sig { params(args: T.untyped).returns(T::Boolean) }
940
- def one?(*args); end
941
-
942
- sig { params(args: T.untyped).returns(T::Boolean) }
943
- def empty?(*args); end
944
-
945
- sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
946
- def each(&block); end
947
-
948
- sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
949
- def flatten(level); end
950
-
951
- sig { returns(T::Array[Wizard]) }
952
- def to_a; end
953
-
954
- sig do
955
- type_parameters(:U).params(
956
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
957
- )
958
- .returns(T::Array[T.type_parameter(:U)])
959
- end
960
- def map(&blk); end
961
841
  end
962
842
 
963
843
  class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
964
844
  include Wizard::CustomFinderMethods
965
- include Enumerable
966
845
  extend T::Sig
967
846
  extend T::Generic
968
847
  Elem = type_member(fixed: Wizard)
@@ -1108,95 +987,6 @@ class Wizard::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associat
1108
987
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wizard::ActiveRecord_AssociationRelation) }
1109
988
  def extending(*args, &block); end
1110
989
 
1111
- sig { params(args: T.untyped).returns(Wizard) }
1112
- def find(*args); end
1113
-
1114
- sig { params(args: T.untyped).returns(T.nilable(Wizard)) }
1115
- def find_by(*args); end
1116
-
1117
- sig { params(args: T.untyped).returns(Wizard) }
1118
- def find_by!(*args); end
1119
-
1120
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1121
- def find_or_initialize_by(attributes, &block); end
1122
-
1123
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1124
- def find_or_create_by(attributes, &block); end
1125
-
1126
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Wizard).void)).returns(Wizard) }
1127
- def find_or_create_by!(attributes, &block); end
1128
-
1129
- sig { returns(T.nilable(Wizard)) }
1130
- def first; end
1131
-
1132
- sig { returns(Wizard) }
1133
- def first!; end
1134
-
1135
- sig { returns(T.nilable(Wizard)) }
1136
- def second; end
1137
-
1138
- sig { returns(Wizard) }
1139
- def second!; end
1140
-
1141
- sig { returns(T.nilable(Wizard)) }
1142
- def third; end
1143
-
1144
- sig { returns(Wizard) }
1145
- def third!; end
1146
-
1147
- sig { returns(T.nilable(Wizard)) }
1148
- def third_to_last; end
1149
-
1150
- sig { returns(Wizard) }
1151
- def third_to_last!; end
1152
-
1153
- sig { returns(T.nilable(Wizard)) }
1154
- def second_to_last; end
1155
-
1156
- sig { returns(Wizard) }
1157
- def second_to_last!; end
1158
-
1159
- sig { returns(T.nilable(Wizard)) }
1160
- def last; end
1161
-
1162
- sig { returns(Wizard) }
1163
- def last!; end
1164
-
1165
- sig { params(conditions: T.untyped).returns(T::Boolean) }
1166
- def exists?(conditions = nil); end
1167
-
1168
- sig { params(args: T.untyped).returns(T::Boolean) }
1169
- def any?(*args); end
1170
-
1171
- sig { params(args: T.untyped).returns(T::Boolean) }
1172
- def many?(*args); end
1173
-
1174
- sig { params(args: T.untyped).returns(T::Boolean) }
1175
- def none?(*args); end
1176
-
1177
- sig { params(args: T.untyped).returns(T::Boolean) }
1178
- def one?(*args); end
1179
-
1180
- sig { params(args: T.untyped).returns(T::Boolean) }
1181
- def empty?(*args); end
1182
-
1183
- sig { override.params(block: T.proc.params(e: Wizard).void).returns(T::Array[Wizard]) }
1184
- def each(&block); end
1185
-
1186
- sig { params(level: T.nilable(Integer)).returns(T::Array[Wizard]) }
1187
- def flatten(level); end
1188
-
1189
- sig { returns(T::Array[Wizard]) }
1190
- def to_a; end
1191
-
1192
- sig do
1193
- type_parameters(:U).params(
1194
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
1195
- )
1196
- .returns(T::Array[T.type_parameter(:U)])
1197
- end
1198
- def map(&blk); end
1199
-
1200
990
  sig { params(records: T.any(Wizard, T::Array[Wizard])).returns(T.self_type) }
1201
991
  def <<(*records); end
1202
992
 
@@ -0,0 +1,113 @@
1
+ # typed: strong
2
+ # This is an autogenerated file for Rails' ActiveRecord.
3
+ # Please rerun bundle exec rake rails_rbi:active_record to regenerate.
4
+ class ActiveRecord::Base
5
+ sig { params(args: T.untyped).returns(T.attached_class) }
6
+ def self.find(*args); end
7
+
8
+ sig { params(args: T.untyped).returns(T.nilable(T.attached_class)) }
9
+ def self.find_by(*args); end
10
+
11
+ sig { params(args: T.untyped).returns(T.attached_class) }
12
+ def self.find_by!(*args); end
13
+
14
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
15
+ def self.find_or_initialize_by(attributes, &block); end
16
+
17
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
18
+ def self.find_or_create_by(attributes, &block); end
19
+
20
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
21
+ def self.find_or_create_by!(attributes, &block); end
22
+
23
+ sig { returns(T.nilable(T.attached_class)) }
24
+ def self.first; end
25
+
26
+ sig { returns(T.attached_class) }
27
+ def self.first!; end
28
+
29
+ sig { returns(T.nilable(T.attached_class)) }
30
+ def self.second; end
31
+
32
+ sig { returns(T.attached_class) }
33
+ def self.second!; end
34
+
35
+ sig { returns(T.nilable(T.attached_class)) }
36
+ def self.third; end
37
+
38
+ sig { returns(T.attached_class) }
39
+ def self.third!; end
40
+
41
+ sig { returns(T.nilable(T.attached_class)) }
42
+ def self.third_to_last; end
43
+
44
+ sig { returns(T.attached_class) }
45
+ def self.third_to_last!; end
46
+
47
+ sig { returns(T.nilable(T.attached_class)) }
48
+ def self.second_to_last; end
49
+
50
+ sig { returns(T.attached_class) }
51
+ def self.second_to_last!; end
52
+
53
+ sig { returns(T.nilable(T.attached_class)) }
54
+ def self.last; end
55
+
56
+ sig { returns(T.attached_class) }
57
+ def self.last!; end
58
+
59
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
60
+ def self.create(attributes = nil, &block); end
61
+
62
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
63
+ def self.create!(attributes = nil, &block); end
64
+
65
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
66
+ def self.new(attributes = nil, &block); end
67
+
68
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
69
+ def self.first_or_create(attributes = nil, &block); end
70
+
71
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
72
+ def self.first_or_create!(attributes = nil, &block); end
73
+
74
+ sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: T.attached_class).void)).returns(T.attached_class) }
75
+ def self.first_or_initialize(attributes = nil, &block); end
76
+
77
+ sig do
78
+ override.params(
79
+ start: T.nilable(Integer),
80
+ finish: T.nilable(Integer),
81
+ batch_size: T.nilable(Integer),
82
+ error_on_ignore: T.nilable(T::Boolean),
83
+ block: T.nilable(T.proc.params(e: T.attached_class).void)
84
+ ).returns(T::Enumerator[T.attached_class])
85
+ end
86
+ def self.find_each(start: nil, finish: nil, batch_size: 1000, error_on_ignore: nil, &block); end
87
+
88
+ sig do
89
+ override.params(
90
+ start: T.nilable(Integer),
91
+ finish: T.nilable(Integer),
92
+ batch_size: T.nilable(Integer),
93
+ error_on_ignore: T.nilable(T::Boolean),
94
+ block: T.nilable(T.proc.params(e: T::Array[T.attached_class]).void)
95
+ ).returns(T::Enumerator[T::Array[T.attached_class]])
96
+ end
97
+ def self.find_in_batches(start: nil, finish: nil, batch_size: 1000, error_on_ignore: nil, &block); end
98
+
99
+ sig { params(conditions: T.untyped).returns(T::Boolean) }
100
+ def self.exists?(conditions = nil); end
101
+
102
+ sig { returns(T::Boolean) }
103
+ def self.any?; end
104
+
105
+ sig { returns(T::Boolean) }
106
+ def self.many?; end
107
+
108
+ sig { returns(T::Boolean) }
109
+ def self.none?; end
110
+
111
+ sig { returns(T::Boolean) }
112
+ def self.one?; end
113
+ end