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
@@ -0,0 +1,443 @@
1
+ # This is an autogenerated file for dynamic methods in SpellBook::HABTM_Spells
2
+ # Please rerun bundle exec rake rails_rbi:models[SpellBook::HABTM_Spells] to regenerate.
3
+
4
+ # typed: strong
5
+ module SpellBook::HABTM_Spells::ActiveRelation_WhereNot
6
+ sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) }
7
+ def not(opts, *rest); end
8
+ end
9
+
10
+ module SpellBook::HABTM_Spells::GeneratedAttributeMethods
11
+ extend T::Sig
12
+
13
+ sig { returns(Integer) }
14
+ def spell_book_id; end
15
+
16
+ sig { params(value: T.any(Numeric, ActiveSupport::Duration)).void }
17
+ def spell_book_id=(value); end
18
+
19
+ sig { returns(T::Boolean) }
20
+ def spell_book_id?; end
21
+
22
+ sig { returns(Integer) }
23
+ def spell_id; end
24
+
25
+ sig { params(value: T.any(Numeric, ActiveSupport::Duration)).void }
26
+ def spell_id=(value); end
27
+
28
+ sig { returns(T::Boolean) }
29
+ def spell_id?; end
30
+ end
31
+
32
+ module SpellBook::HABTM_Spells::GeneratedAssociationMethods
33
+ extend T::Sig
34
+
35
+ sig { returns(T.nilable(::SpellBook)) }
36
+ def left_side; end
37
+
38
+ sig { params(value: T.nilable(::SpellBook)).void }
39
+ def left_side=(value); end
40
+
41
+ sig { returns(::Spell) }
42
+ def spell; end
43
+
44
+ sig { params(value: ::Spell).void }
45
+ def spell=(value); end
46
+ end
47
+
48
+ module SpellBook::HABTM_Spells::CustomFinderMethods
49
+ sig { params(limit: Integer).returns(T::Array[SpellBook::HABTM_Spells]) }
50
+ def first_n(limit); end
51
+
52
+ sig { params(limit: Integer).returns(T::Array[SpellBook::HABTM_Spells]) }
53
+ def last_n(limit); end
54
+
55
+ sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[SpellBook::HABTM_Spells]) }
56
+ def find_n(*args); end
57
+
58
+ sig { params(id: Integer).returns(T.nilable(SpellBook::HABTM_Spells)) }
59
+ def find_by_id(id); end
60
+
61
+ sig { params(id: Integer).returns(SpellBook::HABTM_Spells) }
62
+ def find_by_id!(id); end
63
+ end
64
+
65
+ class SpellBook::HABTM_Spells < ActiveRecord::Base
66
+ include SpellBook::HABTM_Spells::GeneratedAttributeMethods
67
+ include SpellBook::HABTM_Spells::GeneratedAssociationMethods
68
+ extend SpellBook::HABTM_Spells::CustomFinderMethods
69
+ extend T::Sig
70
+ extend T::Generic
71
+ RelationType = T.type_alias { T.any(SpellBook::HABTM_Spells::ActiveRecord_Relation, SpellBook::HABTM_Spells::ActiveRecord_Associations_CollectionProxy, SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
72
+
73
+ sig { returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
74
+ def self.all; end
75
+
76
+ sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
77
+ def self.unscoped(&block); end
78
+
79
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
80
+ def self.select(*args); end
81
+
82
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
83
+ def self.order(*args); end
84
+
85
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
86
+ def self.reorder(*args); end
87
+
88
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
89
+ def self.group(*args); end
90
+
91
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
92
+ def self.limit(*args); end
93
+
94
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
95
+ def self.offset(*args); end
96
+
97
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
98
+ def self.joins(*args); end
99
+
100
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
101
+ def self.left_joins(*args); end
102
+
103
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
104
+ def self.left_outer_joins(*args); end
105
+
106
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
107
+ def self.where(*args); end
108
+
109
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
110
+ def self.rewhere(*args); end
111
+
112
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
113
+ def self.preload(*args); end
114
+
115
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
116
+ def self.eager_load(*args); end
117
+
118
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
119
+ def self.includes(*args); end
120
+
121
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
122
+ def self.from(*args); end
123
+
124
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
125
+ def self.lock(*args); end
126
+
127
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
128
+ def self.readonly(*args); end
129
+
130
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
131
+ def self.or(*args); end
132
+
133
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
134
+ def self.having(*args); end
135
+
136
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
137
+ def self.create_with(*args); end
138
+
139
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
140
+ def self.distinct(*args); end
141
+
142
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
143
+ def self.references(*args); end
144
+
145
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
146
+ def self.none(*args); end
147
+
148
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
149
+ def self.unscope(*args); end
150
+
151
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
152
+ def self.except(*args); end
153
+
154
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
155
+ def self.extending(*args, &block); end
156
+ end
157
+
158
+ class SpellBook::HABTM_Spells::ActiveRecord_Relation < ActiveRecord::Relation
159
+ include SpellBook::HABTM_Spells::ActiveRelation_WhereNot
160
+ include SpellBook::HABTM_Spells::CustomFinderMethods
161
+ extend T::Sig
162
+ extend T::Generic
163
+ Elem = type_member(fixed: SpellBook::HABTM_Spells)
164
+
165
+ sig { returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
166
+ def all; end
167
+
168
+ sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
169
+ def unscoped(&block); end
170
+
171
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
172
+ def select(*args); end
173
+
174
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
175
+ def order(*args); end
176
+
177
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
178
+ def reorder(*args); end
179
+
180
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
181
+ def group(*args); end
182
+
183
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
184
+ def limit(*args); end
185
+
186
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
187
+ def offset(*args); end
188
+
189
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
190
+ def joins(*args); end
191
+
192
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
193
+ def left_joins(*args); end
194
+
195
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
196
+ def left_outer_joins(*args); end
197
+
198
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
199
+ def where(*args); end
200
+
201
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
202
+ def rewhere(*args); end
203
+
204
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
205
+ def preload(*args); end
206
+
207
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
208
+ def eager_load(*args); end
209
+
210
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
211
+ def includes(*args); end
212
+
213
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
214
+ def from(*args); end
215
+
216
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
217
+ def lock(*args); end
218
+
219
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
220
+ def readonly(*args); end
221
+
222
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
223
+ def or(*args); end
224
+
225
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
226
+ def having(*args); end
227
+
228
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
229
+ def create_with(*args); end
230
+
231
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
232
+ def distinct(*args); end
233
+
234
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
235
+ def references(*args); end
236
+
237
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
238
+ def none(*args); end
239
+
240
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
241
+ def unscope(*args); end
242
+
243
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
244
+ def except(*args); end
245
+
246
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_Relation) }
247
+ def extending(*args, &block); end
248
+ end
249
+
250
+ class SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
251
+ include SpellBook::HABTM_Spells::ActiveRelation_WhereNot
252
+ include SpellBook::HABTM_Spells::CustomFinderMethods
253
+ extend T::Sig
254
+ extend T::Generic
255
+ Elem = type_member(fixed: SpellBook::HABTM_Spells)
256
+
257
+ sig { returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
258
+ def all; end
259
+
260
+ sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
261
+ def unscoped(&block); end
262
+
263
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
264
+ def select(*args); end
265
+
266
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
267
+ def order(*args); end
268
+
269
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
270
+ def reorder(*args); end
271
+
272
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
273
+ def group(*args); end
274
+
275
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
276
+ def limit(*args); end
277
+
278
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
279
+ def offset(*args); end
280
+
281
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
282
+ def joins(*args); end
283
+
284
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
285
+ def left_joins(*args); end
286
+
287
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
288
+ def left_outer_joins(*args); end
289
+
290
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
291
+ def where(*args); end
292
+
293
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
294
+ def rewhere(*args); end
295
+
296
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
297
+ def preload(*args); end
298
+
299
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
300
+ def eager_load(*args); end
301
+
302
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
303
+ def includes(*args); end
304
+
305
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
306
+ def from(*args); end
307
+
308
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
309
+ def lock(*args); end
310
+
311
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
312
+ def readonly(*args); end
313
+
314
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
315
+ def or(*args); end
316
+
317
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
318
+ def having(*args); end
319
+
320
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
321
+ def create_with(*args); end
322
+
323
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
324
+ def distinct(*args); end
325
+
326
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
327
+ def references(*args); end
328
+
329
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
330
+ def none(*args); end
331
+
332
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
333
+ def unscope(*args); end
334
+
335
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
336
+ def except(*args); end
337
+
338
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
339
+ def extending(*args, &block); end
340
+ end
341
+
342
+ class SpellBook::HABTM_Spells::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
343
+ include SpellBook::HABTM_Spells::CustomFinderMethods
344
+ extend T::Sig
345
+ extend T::Generic
346
+ Elem = type_member(fixed: SpellBook::HABTM_Spells)
347
+
348
+ sig { returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
349
+ def all; end
350
+
351
+ sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
352
+ def unscoped(&block); end
353
+
354
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
355
+ def select(*args); end
356
+
357
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
358
+ def order(*args); end
359
+
360
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
361
+ def reorder(*args); end
362
+
363
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
364
+ def group(*args); end
365
+
366
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
367
+ def limit(*args); end
368
+
369
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
370
+ def offset(*args); end
371
+
372
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
373
+ def joins(*args); end
374
+
375
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
376
+ def left_joins(*args); end
377
+
378
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
379
+ def left_outer_joins(*args); end
380
+
381
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
382
+ def where(*args); end
383
+
384
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
385
+ def rewhere(*args); end
386
+
387
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
388
+ def preload(*args); end
389
+
390
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
391
+ def eager_load(*args); end
392
+
393
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
394
+ def includes(*args); end
395
+
396
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
397
+ def from(*args); end
398
+
399
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
400
+ def lock(*args); end
401
+
402
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
403
+ def readonly(*args); end
404
+
405
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
406
+ def or(*args); end
407
+
408
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
409
+ def having(*args); end
410
+
411
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
412
+ def create_with(*args); end
413
+
414
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
415
+ def distinct(*args); end
416
+
417
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
418
+ def references(*args); end
419
+
420
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
421
+ def none(*args); end
422
+
423
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
424
+ def unscope(*args); end
425
+
426
+ sig { params(args: T.untyped).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
427
+ def except(*args); end
428
+
429
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::HABTM_Spells::ActiveRecord_AssociationRelation) }
430
+ def extending(*args, &block); end
431
+
432
+ sig { params(records: T.any(SpellBook::HABTM_Spells, T::Array[SpellBook::HABTM_Spells])).returns(T.self_type) }
433
+ def <<(*records); end
434
+
435
+ sig { params(records: T.any(SpellBook::HABTM_Spells, T::Array[SpellBook::HABTM_Spells])).returns(T.self_type) }
436
+ def append(*records); end
437
+
438
+ sig { params(records: T.any(SpellBook::HABTM_Spells, T::Array[SpellBook::HABTM_Spells])).returns(T.self_type) }
439
+ def push(*records); end
440
+
441
+ sig { params(records: T.any(SpellBook::HABTM_Spells, T::Array[SpellBook::HABTM_Spells])).returns(T.self_type) }
442
+ def concat(*records); end
443
+ end
@@ -179,10 +179,10 @@ module Squib::GeneratedAttributeMethods
179
179
  sig { returns(T::Boolean) }
180
180
  def id?; end
181
181
 
182
- sig { returns(T.nilable(String)) }
182
+ sig { returns(String) }
183
183
  def name; end
184
184
 
185
- sig { params(value: T.nilable(T.any(String, Symbol))).void }
185
+ sig { params(value: T.any(String, Symbol)).void }
186
186
  def name=(value); end
187
187
 
188
188
  sig { returns(T::Boolean) }
@@ -264,9 +264,21 @@ module Squib::GeneratedAssociationMethods
264
264
  sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
265
265
  def spell_books; end
266
266
 
267
+ sig { returns(T::Array[Integer]) }
268
+ def spell_book_ids; end
269
+
267
270
  sig { params(value: T::Enumerable[::SpellBook]).void }
268
271
  def spell_books=(value); end
269
272
 
273
+ sig { returns(::Subject::ActiveRecord_Associations_CollectionProxy) }
274
+ def subjects; end
275
+
276
+ sig { returns(T::Array[Integer]) }
277
+ def subject_ids; end
278
+
279
+ sig { params(value: T::Enumerable[::Subject]).void }
280
+ def subjects=(value); end
281
+
270
282
  sig { returns(T.nilable(::Wand)) }
271
283
  def wand; end
272
284
 
@@ -455,30 +467,11 @@ class Squib < Wizard
455
467
 
456
468
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Squib::ActiveRecord_Relation) }
457
469
  def self.extending(*args, &block); end
458
-
459
- sig { params(conditions: T.untyped).returns(T::Boolean) }
460
- def self.exists?(conditions = nil); end
461
-
462
- sig { params(args: T.untyped).returns(T::Boolean) }
463
- def self.any?(*args); end
464
-
465
- sig { params(args: T.untyped).returns(T::Boolean) }
466
- def self.many?(*args); end
467
-
468
- sig { params(args: T.untyped).returns(T::Boolean) }
469
- def self.none?(*args); end
470
-
471
- sig { params(args: T.untyped).returns(T::Boolean) }
472
- def self.one?(*args); end
473
-
474
- sig { params(args: T.untyped).returns(T::Boolean) }
475
- def self.empty?(*args); end
476
470
  end
477
471
 
478
472
  class Squib::ActiveRecord_Relation < ActiveRecord::Relation
479
473
  include Squib::ActiveRelation_WhereNot
480
474
  include Squib::CustomFinderMethods
481
- include Enumerable
482
475
  extend T::Sig
483
476
  extend T::Generic
484
477
  Elem = type_member(fixed: Squib)
@@ -620,30 +613,11 @@ class Squib::ActiveRecord_Relation < ActiveRecord::Relation
620
613
 
621
614
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Squib::ActiveRecord_Relation) }
622
615
  def extending(*args, &block); end
623
-
624
- sig { params(conditions: T.untyped).returns(T::Boolean) }
625
- def exists?(conditions = nil); end
626
-
627
- sig { params(args: T.untyped).returns(T::Boolean) }
628
- def any?(*args); end
629
-
630
- sig { params(args: T.untyped).returns(T::Boolean) }
631
- def many?(*args); end
632
-
633
- sig { params(args: T.untyped).returns(T::Boolean) }
634
- def none?(*args); end
635
-
636
- sig { params(args: T.untyped).returns(T::Boolean) }
637
- def one?(*args); end
638
-
639
- sig { params(args: T.untyped).returns(T::Boolean) }
640
- def empty?(*args); end
641
616
  end
642
617
 
643
618
  class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
644
619
  include Squib::ActiveRelation_WhereNot
645
620
  include Squib::CustomFinderMethods
646
- include Enumerable
647
621
  extend T::Sig
648
622
  extend T::Generic
649
623
  Elem = type_member(fixed: Squib)
@@ -785,100 +759,10 @@ class Squib::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelatio
785
759
 
786
760
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Squib::ActiveRecord_AssociationRelation) }
787
761
  def extending(*args, &block); end
788
-
789
- sig { params(args: T.untyped).returns(Squib) }
790
- def find(*args); end
791
-
792
- sig { params(args: T.untyped).returns(T.nilable(Squib)) }
793
- def find_by(*args); end
794
-
795
- sig { params(args: T.untyped).returns(Squib) }
796
- def find_by!(*args); end
797
-
798
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Squib).void)).returns(Squib) }
799
- def find_or_initialize_by(attributes, &block); end
800
-
801
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Squib).void)).returns(Squib) }
802
- def find_or_create_by(attributes, &block); end
803
-
804
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Squib).void)).returns(Squib) }
805
- def find_or_create_by!(attributes, &block); end
806
-
807
- sig { returns(T.nilable(Squib)) }
808
- def first; end
809
-
810
- sig { returns(Squib) }
811
- def first!; end
812
-
813
- sig { returns(T.nilable(Squib)) }
814
- def second; end
815
-
816
- sig { returns(Squib) }
817
- def second!; end
818
-
819
- sig { returns(T.nilable(Squib)) }
820
- def third; end
821
-
822
- sig { returns(Squib) }
823
- def third!; end
824
-
825
- sig { returns(T.nilable(Squib)) }
826
- def third_to_last; end
827
-
828
- sig { returns(Squib) }
829
- def third_to_last!; end
830
-
831
- sig { returns(T.nilable(Squib)) }
832
- def second_to_last; end
833
-
834
- sig { returns(Squib) }
835
- def second_to_last!; end
836
-
837
- sig { returns(T.nilable(Squib)) }
838
- def last; end
839
-
840
- sig { returns(Squib) }
841
- def last!; end
842
-
843
- sig { params(conditions: T.untyped).returns(T::Boolean) }
844
- def exists?(conditions = nil); end
845
-
846
- sig { params(args: T.untyped).returns(T::Boolean) }
847
- def any?(*args); end
848
-
849
- sig { params(args: T.untyped).returns(T::Boolean) }
850
- def many?(*args); end
851
-
852
- sig { params(args: T.untyped).returns(T::Boolean) }
853
- def none?(*args); end
854
-
855
- sig { params(args: T.untyped).returns(T::Boolean) }
856
- def one?(*args); end
857
-
858
- sig { params(args: T.untyped).returns(T::Boolean) }
859
- def empty?(*args); end
860
-
861
- sig { override.params(block: T.proc.params(e: Squib).void).returns(T::Array[Squib]) }
862
- def each(&block); end
863
-
864
- sig { params(level: T.nilable(Integer)).returns(T::Array[Squib]) }
865
- def flatten(level); end
866
-
867
- sig { returns(T::Array[Squib]) }
868
- def to_a; end
869
-
870
- sig do
871
- type_parameters(:U).params(
872
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
873
- )
874
- .returns(T::Array[T.type_parameter(:U)])
875
- end
876
- def map(&blk); end
877
762
  end
878
763
 
879
764
  class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
880
765
  include Squib::CustomFinderMethods
881
- include Enumerable
882
766
  extend T::Sig
883
767
  extend T::Generic
884
768
  Elem = type_member(fixed: Squib)
@@ -1021,95 +905,6 @@ class Squib::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associati
1021
905
  sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Squib::ActiveRecord_AssociationRelation) }
1022
906
  def extending(*args, &block); end
1023
907
 
1024
- sig { params(args: T.untyped).returns(Squib) }
1025
- def find(*args); end
1026
-
1027
- sig { params(args: T.untyped).returns(T.nilable(Squib)) }
1028
- def find_by(*args); end
1029
-
1030
- sig { params(args: T.untyped).returns(Squib) }
1031
- def find_by!(*args); end
1032
-
1033
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Squib).void)).returns(Squib) }
1034
- def find_or_initialize_by(attributes, &block); end
1035
-
1036
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Squib).void)).returns(Squib) }
1037
- def find_or_create_by(attributes, &block); end
1038
-
1039
- sig { params(attributes: T.untyped, block: T.nilable(T.proc.params(object: Squib).void)).returns(Squib) }
1040
- def find_or_create_by!(attributes, &block); end
1041
-
1042
- sig { returns(T.nilable(Squib)) }
1043
- def first; end
1044
-
1045
- sig { returns(Squib) }
1046
- def first!; end
1047
-
1048
- sig { returns(T.nilable(Squib)) }
1049
- def second; end
1050
-
1051
- sig { returns(Squib) }
1052
- def second!; end
1053
-
1054
- sig { returns(T.nilable(Squib)) }
1055
- def third; end
1056
-
1057
- sig { returns(Squib) }
1058
- def third!; end
1059
-
1060
- sig { returns(T.nilable(Squib)) }
1061
- def third_to_last; end
1062
-
1063
- sig { returns(Squib) }
1064
- def third_to_last!; end
1065
-
1066
- sig { returns(T.nilable(Squib)) }
1067
- def second_to_last; end
1068
-
1069
- sig { returns(Squib) }
1070
- def second_to_last!; end
1071
-
1072
- sig { returns(T.nilable(Squib)) }
1073
- def last; end
1074
-
1075
- sig { returns(Squib) }
1076
- def last!; end
1077
-
1078
- sig { params(conditions: T.untyped).returns(T::Boolean) }
1079
- def exists?(conditions = nil); end
1080
-
1081
- sig { params(args: T.untyped).returns(T::Boolean) }
1082
- def any?(*args); end
1083
-
1084
- sig { params(args: T.untyped).returns(T::Boolean) }
1085
- def many?(*args); end
1086
-
1087
- sig { params(args: T.untyped).returns(T::Boolean) }
1088
- def none?(*args); end
1089
-
1090
- sig { params(args: T.untyped).returns(T::Boolean) }
1091
- def one?(*args); end
1092
-
1093
- sig { params(args: T.untyped).returns(T::Boolean) }
1094
- def empty?(*args); end
1095
-
1096
- sig { override.params(block: T.proc.params(e: Squib).void).returns(T::Array[Squib]) }
1097
- def each(&block); end
1098
-
1099
- sig { params(level: T.nilable(Integer)).returns(T::Array[Squib]) }
1100
- def flatten(level); end
1101
-
1102
- sig { returns(T::Array[Squib]) }
1103
- def to_a; end
1104
-
1105
- sig do
1106
- type_parameters(:U).params(
1107
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
1108
- )
1109
- .returns(T::Array[T.type_parameter(:U)])
1110
- end
1111
- def map(&blk); end
1112
-
1113
908
  sig { params(records: T.any(Squib, T::Array[Squib])).returns(T.self_type) }
1114
909
  def <<(*records); end
1115
910