sorbet-rails 0.7.33 → 0.7.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci-master.yml +1 -1
  3. data/.github/workflows/ci.yml +1 -1
  4. data/CONTRIBUTING.md +1 -0
  5. data/Gemfile +4 -0
  6. data/README.md +1 -1
  7. data/Rakefile +27 -1
  8. data/lib/sorbet-rails/active_record_rbi_formatter.rb +1 -1
  9. data/lib/sorbet-rails/model_plugins/active_record_querying.rb +14 -0
  10. data/lib/sorbet-rails/rails_mixins/active_record_overrides.rb +1 -1
  11. data/lib/sorbet-rails/tasks/rails_rbi.rake +15 -0
  12. data/sorbet-rails.gemspec +1 -1
  13. data/spec/bin/run_all_specs.sh +1 -0
  14. data/spec/generators/rails-template.rb +2 -7
  15. data/spec/rails_helper.rb +2 -0
  16. data/spec/rake_rails_rbi_models_spec.rb +1 -1
  17. data/spec/support/v5.2/sorbet_test_cases.rb +8 -0
  18. data/spec/support/v6.0/sorbet_test_cases.rb +8 -0
  19. data/spec/support/v6.1/sorbet_test_cases.rb +8 -0
  20. data/spec/support/v7.0/.gitattributes +7 -0
  21. data/spec/support/v7.0/.gitignore +35 -0
  22. data/spec/support/v7.0/Gemfile +48 -0
  23. data/spec/support/v7.0/Gemfile.lock +218 -0
  24. data/spec/support/v7.0/README.md +24 -0
  25. data/spec/support/v7.0/Rakefile +6 -0
  26. data/spec/support/v7.0/app/assets/images/.keep +0 -0
  27. data/spec/support/v7.0/app/assets/stylesheets/application.css +1 -0
  28. data/spec/support/v7.0/app/controllers/application_controller.rb +3 -0
  29. data/spec/support/v7.0/app/controllers/concerns/.keep +0 -0
  30. data/spec/support/v7.0/app/helpers/application_helper.rb +3 -0
  31. data/spec/support/v7.0/app/helpers/bar_helper.rb +3 -0
  32. data/spec/support/v7.0/app/helpers/baz_helper.rb +3 -0
  33. data/spec/support/v7.0/app/helpers/foo_helper.rb +3 -0
  34. data/spec/support/v7.0/app/jobs/application_job.rb +8 -0
  35. data/spec/support/v7.0/app/jobs/award_house_point_hourglasses.rb +12 -0
  36. data/spec/support/v7.0/app/mailers/application_mailer.rb +5 -0
  37. data/spec/support/v7.0/app/mailers/daily_prophet_mailer.rb +9 -0
  38. data/spec/support/v7.0/app/mailers/hogwarts_acceptance_mailer.rb +29 -0
  39. data/spec/support/v7.0/app/models/application_record.rb +4 -0
  40. data/spec/support/v7.0/app/models/concerns/.keep +0 -0
  41. data/spec/support/v7.0/app/models/concerns/mythical.rb +11 -0
  42. data/spec/support/v7.0/app/models/headmaster.rb +8 -0
  43. data/spec/support/v7.0/app/models/potion.rb +6 -0
  44. data/spec/support/v7.0/app/models/robe.rb +4 -0
  45. data/spec/support/v7.0/app/models/school.rb +5 -0
  46. data/spec/support/v7.0/app/models/spell.rb +5 -0
  47. data/spec/support/v7.0/app/models/spell_book.rb +18 -0
  48. data/spec/support/v7.0/app/models/squib.rb +6 -0
  49. data/spec/support/v7.0/app/models/subject.rb +5 -0
  50. data/spec/support/v7.0/app/models/wand.rb +19 -0
  51. data/spec/support/v7.0/app/models/wizard.rb +65 -0
  52. data/spec/support/v7.0/app/views/layouts/application.html.erb +15 -0
  53. data/spec/support/v7.0/app/views/layouts/mailer.html.erb +13 -0
  54. data/spec/support/v7.0/app/views/layouts/mailer.text.erb +1 -0
  55. data/spec/support/v7.0/bin/bundle +114 -0
  56. data/spec/support/v7.0/bin/rails +4 -0
  57. data/spec/support/v7.0/bin/rake +4 -0
  58. data/spec/support/v7.0/bin/setup +33 -0
  59. data/spec/support/v7.0/config/application.rb +38 -0
  60. data/spec/support/v7.0/config/boot.rb +4 -0
  61. data/spec/support/v7.0/config/database.yml +25 -0
  62. data/spec/support/v7.0/config/environment.rb +6 -0
  63. data/spec/support/v7.0/config/environments/development.rb +69 -0
  64. data/spec/support/v7.0/config/environments/production.rb +83 -0
  65. data/spec/support/v7.0/config/environments/test.rb +61 -0
  66. data/spec/support/v7.0/config/initializers/content_security_policy.rb +26 -0
  67. data/spec/support/v7.0/config/initializers/filter_parameter_logging.rb +9 -0
  68. data/spec/support/v7.0/config/initializers/inflections.rb +17 -0
  69. data/spec/support/v7.0/config/initializers/permissions_policy.rb +12 -0
  70. data/spec/support/v7.0/config/initializers/sorbet_rails.rb +3 -0
  71. data/spec/support/v7.0/config/locales/en.yml +33 -0
  72. data/spec/support/v7.0/config/puma.rb +44 -0
  73. data/spec/support/v7.0/config/routes.rb +8 -0
  74. data/spec/support/v7.0/config/storage.yml +34 -0
  75. data/spec/support/v7.0/config.ru +6 -0
  76. data/spec/support/v7.0/db/migrate/20190620000001_create_wizards.rb +14 -0
  77. data/spec/support/v7.0/db/migrate/20190620000002_create_wands.rb +12 -0
  78. data/spec/support/v7.0/db/migrate/20190620000003_create_spell_books.rb +10 -0
  79. data/spec/support/v7.0/db/migrate/20190620000004_add_more_column_types_to_wands.rb +14 -0
  80. data/spec/support/v7.0/db/migrate/20190620000005_add_broom_to_wizard.rb +6 -0
  81. data/spec/support/v7.0/db/migrate/20190620000006_add_more_enums_to_wizard.rb +9 -0
  82. data/spec/support/v7.0/db/migrate/20190620000007_add_type_to_wizard.rb +6 -0
  83. data/spec/support/v7.0/db/migrate/20190620000008_add_robe_to_wizard.rb +8 -0
  84. data/spec/support/v7.0/db/migrate/20190620000009_add_school.rb +10 -0
  85. data/spec/support/v7.0/db/migrate/20190620000010_add_subject.rb +8 -0
  86. data/spec/support/v7.0/db/migrate/20190620000011_add_subjects_wizards.rb +8 -0
  87. data/spec/support/v7.0/db/migrate/20190620000012_add_spell.rb +8 -0
  88. data/spec/support/v7.0/db/migrate/20190620000013_add_spells_spell_books.rb +8 -0
  89. data/spec/support/v7.0/db/migrate/20190620000014_create_headmasters.rb +9 -0
  90. data/spec/support/v7.0/db/migrate/20190620000015_add_serialized_to_wizards.rb +9 -0
  91. data/spec/support/v7.0/db/schema.rb +98 -0
  92. data/spec/support/v7.0/db/seeds.rb +8 -0
  93. data/spec/support/v7.0/lib/assets/.keep +0 -0
  94. data/spec/support/v7.0/lib/mythical_rbi_plugin.rb +16 -0
  95. data/spec/support/v7.0/lib/tasks/.keep +0 -0
  96. data/spec/support/v7.0/log/.keep +0 -0
  97. data/spec/support/v7.0/sorbet_test_cases.rb +439 -0
  98. data/spec/support/v7.0/storage/.keep +0 -0
  99. data/spec/support/v7.0/tmp/.keep +0 -0
  100. data/spec/support/v7.0/tmp/pids/.keep +0 -0
  101. data/spec/support/v7.0/tmp/storage/.keep +0 -0
  102. data/spec/support/v7.0/vendor/.keep +0 -0
  103. data/spec/test_data/v5.2/expected_active_record_base.rbi +6 -0
  104. data/spec/test_data/v5.2/expected_active_record_relation.rbi +6 -0
  105. data/spec/test_data/v6.0/expected_active_record_base.rbi +6 -0
  106. data/spec/test_data/v6.0/expected_active_record_relation.rbi +6 -0
  107. data/spec/test_data/v6.1/expected_active_record_base.rbi +6 -0
  108. data/spec/test_data/v6.1/expected_active_record_relation.rbi +6 -0
  109. data/spec/test_data/v7.0/expected_active_record_base.rbi +119 -0
  110. data/spec/test_data/v7.0/expected_active_record_relation.rbi +180 -0
  111. data/spec/test_data/v7.0/expected_application_job.rbi +20 -0
  112. data/spec/test_data/v7.0/expected_application_mailer.rbi +5 -0
  113. data/spec/test_data/v7.0/expected_attachment.rbi +358 -0
  114. data/spec/test_data/v7.0/expected_award_house_point_hourglasses.rbi +20 -0
  115. data/spec/test_data/v7.0/expected_blob.rbi +394 -0
  116. data/spec/test_data/v7.0/expected_custom_application_job.rbi +21 -0
  117. data/spec/test_data/v7.0/expected_custom_application_mailer.rbi +6 -0
  118. data/spec/test_data/v7.0/expected_custom_award_house_point_hourglasses.rbi +21 -0
  119. data/spec/test_data/v7.0/expected_custom_daily_prophet_mailer.rbi +8 -0
  120. data/spec/test_data/v7.0/expected_custom_hogwarts_acceptance_mailer.rbi +21 -0
  121. data/spec/test_data/v7.0/expected_daily_prophet_mailer.rbi +7 -0
  122. data/spec/test_data/v7.0/expected_headmaster.rbi +376 -0
  123. data/spec/test_data/v7.0/expected_helpers.rbi +27 -0
  124. data/spec/test_data/v7.0/expected_helpers_with_application_and_devise_helpers.rbi +34 -0
  125. data/spec/test_data/v7.0/expected_hogwarts_acceptance_mailer.rbi +20 -0
  126. data/spec/test_data/v7.0/expected_internal_metadata.rbi +346 -0
  127. data/spec/test_data/v7.0/expected_no_routes.rbi +4 -0
  128. data/spec/test_data/v7.0/expected_potion.rbi +328 -0
  129. data/spec/test_data/v7.0/expected_record.rbi +307 -0
  130. data/spec/test_data/v7.0/expected_robe.rbi +349 -0
  131. data/spec/test_data/v7.0/expected_routes.rbi +182 -0
  132. data/spec/test_data/v7.0/expected_schema_migration.rbi +319 -0
  133. data/spec/test_data/v7.0/expected_school.rbi +349 -0
  134. data/spec/test_data/v7.0/expected_spell/habtm_spell_books.rbi +367 -0
  135. data/spec/test_data/v7.0/expected_spell.rbi +340 -0
  136. data/spec/test_data/v7.0/expected_spell_book/habtm_spells.rbi +367 -0
  137. data/spec/test_data/v7.0/expected_spell_book.rbi +499 -0
  138. data/spec/test_data/v7.0/expected_squib.rbi +1204 -0
  139. data/spec/test_data/v7.0/expected_srb_tc_output.txt +1 -0
  140. data/spec/test_data/v7.0/expected_subject/habtm_wizards.rbi +367 -0
  141. data/spec/test_data/v7.0/expected_subject.rbi +340 -0
  142. data/spec/test_data/v7.0/expected_variant_record.rbi +382 -0
  143. data/spec/test_data/v7.0/expected_wand.rbi +611 -0
  144. data/spec/test_data/v7.0/expected_wizard/habtm_subjects.rbi +367 -0
  145. data/spec/test_data/v7.0/expected_wizard.rbi +1280 -0
  146. data/spec/test_data/v7.0/expected_wizard_wo_spellbook.rbi +1274 -0
  147. metadata +243 -1
@@ -0,0 +1,499 @@
1
+ # This is an autogenerated file for dynamic methods in SpellBook
2
+ # Please rerun bundle exec rake rails_rbi:models[SpellBook] to regenerate.
3
+
4
+ # typed: strong
5
+ module SpellBook::EnumInstanceMethods
6
+ sig { returns(T::Boolean) }
7
+ def unclassified?; end
8
+
9
+ sig { void }
10
+ def unclassified!; end
11
+
12
+ sig { returns(T::Boolean) }
13
+ def biology?; end
14
+
15
+ sig { void }
16
+ def biology!; end
17
+
18
+ sig { returns(T::Boolean) }
19
+ def dark_art?; end
20
+
21
+ sig { void }
22
+ def dark_art!; end
23
+ end
24
+
25
+ module SpellBook::ActiveRelation_WhereNot
26
+ sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) }
27
+ def not(opts, *rest); end
28
+ end
29
+
30
+ module SpellBook::GeneratedAttributeMethods
31
+ sig { returns(String) }
32
+ def book_type; end
33
+
34
+ sig { params(value: T.any(Integer, String, Symbol)).void }
35
+ def book_type=(value); end
36
+
37
+ sig { returns(T::Boolean) }
38
+ def book_type?; end
39
+
40
+ sig { returns(Integer) }
41
+ def id; end
42
+
43
+ sig { params(value: T.any(Numeric, ActiveSupport::Duration)).void }
44
+ def id=(value); end
45
+
46
+ sig { returns(T::Boolean) }
47
+ def id?; end
48
+
49
+ sig { returns(String) }
50
+ def name; end
51
+
52
+ sig { params(value: T.any(String, Symbol)).void }
53
+ def name=(value); end
54
+
55
+ sig { returns(T::Boolean) }
56
+ def name?; end
57
+
58
+ sig { returns(Integer) }
59
+ def wizard_id; end
60
+
61
+ sig { params(value: T.any(Numeric, ActiveSupport::Duration)).void }
62
+ def wizard_id=(value); end
63
+
64
+ sig { returns(T::Boolean) }
65
+ def wizard_id?; end
66
+ end
67
+
68
+ module SpellBook::GeneratedAssociationMethods
69
+ sig { returns(::Spell::ActiveRecord_Associations_CollectionProxy) }
70
+ def spells; end
71
+
72
+ sig { returns(T::Array[Integer]) }
73
+ def spell_ids; end
74
+
75
+ sig { params(value: T::Enumerable[::Spell]).void }
76
+ def spells=(value); end
77
+
78
+ sig { returns(::Wizard) }
79
+ def wizard; end
80
+
81
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wizard).void)).returns(::Wizard) }
82
+ def build_wizard(*args, &block); end
83
+
84
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wizard).void)).returns(::Wizard) }
85
+ def create_wizard(*args, &block); end
86
+
87
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Wizard).void)).returns(::Wizard) }
88
+ def create_wizard!(*args, &block); end
89
+
90
+ sig { params(value: ::Wizard).void }
91
+ def wizard=(value); end
92
+
93
+ sig { returns(::Wizard) }
94
+ def reload_wizard; end
95
+ end
96
+
97
+ module SpellBook::CustomFinderMethods
98
+ sig { params(limit: Integer).returns(T::Array[SpellBook]) }
99
+ def first_n(limit); end
100
+
101
+ sig { params(limit: Integer).returns(T::Array[SpellBook]) }
102
+ def last_n(limit); end
103
+
104
+ sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[SpellBook]) }
105
+ def find_n(*args); end
106
+
107
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(SpellBook)) }
108
+ def find_by_id(id); end
109
+
110
+ sig { params(id: Integer).returns(SpellBook) }
111
+ def find_by_id!(id); end
112
+ end
113
+
114
+ class SpellBook < ApplicationRecord
115
+ include SpellBook::EnumInstanceMethods
116
+ include SpellBook::GeneratedAttributeMethods
117
+ include SpellBook::GeneratedAssociationMethods
118
+ extend SpellBook::CustomFinderMethods
119
+ extend SpellBook::QueryMethodsReturningRelation
120
+ RelationType = T.type_alias { T.any(SpellBook::ActiveRecord_Relation, SpellBook::ActiveRecord_Associations_CollectionProxy, SpellBook::ActiveRecord_AssociationRelation) }
121
+
122
+ sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
123
+ def self.book_types; end
124
+
125
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
126
+ def self.biology(*args); end
127
+
128
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
129
+ def self.dark_art(*args); end
130
+
131
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
132
+ def self.not_biology(*args); end
133
+
134
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
135
+ def self.not_dark_art(*args); end
136
+
137
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
138
+ def self.not_unclassified(*args); end
139
+
140
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
141
+ def self.recent(*args); end
142
+
143
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
144
+ def self.unclassified(*args); end
145
+
146
+ sig { returns(SpellBook::BookType) }
147
+ def typed_book_type; end
148
+
149
+ sig { params(value: SpellBook::BookType).void }
150
+ def typed_book_type=(value); end
151
+
152
+ class BookType < T::Enum
153
+ enums do
154
+ Unclassified = new(%q{unclassified})
155
+ Biology = new(%q{biology})
156
+ DarkArt = new(%q{dark_art})
157
+ end
158
+
159
+ end
160
+ end
161
+
162
+ class SpellBook::ActiveRecord_Relation < ActiveRecord::Relation
163
+ include SpellBook::ActiveRelation_WhereNot
164
+ include SpellBook::CustomFinderMethods
165
+ include SpellBook::QueryMethodsReturningRelation
166
+ Elem = type_member {{fixed: SpellBook}}
167
+
168
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
169
+ def biology(*args); end
170
+
171
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
172
+ def dark_art(*args); end
173
+
174
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
175
+ def not_biology(*args); end
176
+
177
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
178
+ def not_dark_art(*args); end
179
+
180
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
181
+ def not_unclassified(*args); end
182
+
183
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
184
+ def recent(*args); end
185
+
186
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
187
+ def unclassified(*args); end
188
+ end
189
+
190
+ class SpellBook::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
191
+ include SpellBook::ActiveRelation_WhereNot
192
+ include SpellBook::CustomFinderMethods
193
+ include SpellBook::QueryMethodsReturningAssociationRelation
194
+ Elem = type_member {{fixed: SpellBook}}
195
+
196
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
197
+ def biology(*args); end
198
+
199
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
200
+ def dark_art(*args); end
201
+
202
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
203
+ def not_biology(*args); end
204
+
205
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
206
+ def not_dark_art(*args); end
207
+
208
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
209
+ def not_unclassified(*args); end
210
+
211
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
212
+ def recent(*args); end
213
+
214
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
215
+ def unclassified(*args); end
216
+ end
217
+
218
+ class SpellBook::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
219
+ include SpellBook::CustomFinderMethods
220
+ include SpellBook::QueryMethodsReturningAssociationRelation
221
+ Elem = type_member {{fixed: SpellBook}}
222
+
223
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
224
+ def biology(*args); end
225
+
226
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
227
+ def dark_art(*args); end
228
+
229
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
230
+ def not_biology(*args); end
231
+
232
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
233
+ def not_dark_art(*args); end
234
+
235
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
236
+ def not_unclassified(*args); end
237
+
238
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
239
+ def recent(*args); end
240
+
241
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
242
+ def unclassified(*args); end
243
+
244
+ sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
245
+ def <<(*records); end
246
+
247
+ sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
248
+ def append(*records); end
249
+
250
+ sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
251
+ def push(*records); end
252
+
253
+ sig { params(records: T.any(SpellBook, T::Array[SpellBook])).returns(T.self_type) }
254
+ def concat(*records); end
255
+ end
256
+
257
+ module SpellBook::QueryMethodsReturningRelation
258
+ sig { returns(SpellBook::ActiveRecord_Relation) }
259
+ def all; end
260
+
261
+ sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
262
+ def unscoped(&block); end
263
+
264
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
265
+ def reselect(*args); end
266
+
267
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
268
+ def order(*args); end
269
+
270
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
271
+ def reorder(*args); end
272
+
273
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
274
+ def group(*args); end
275
+
276
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
277
+ def limit(*args); end
278
+
279
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
280
+ def offset(*args); end
281
+
282
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
283
+ def joins(*args); end
284
+
285
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
286
+ def left_joins(*args); end
287
+
288
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
289
+ def left_outer_joins(*args); end
290
+
291
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
292
+ def where(*args); end
293
+
294
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
295
+ def rewhere(*args); end
296
+
297
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
298
+ def preload(*args); end
299
+
300
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
301
+ def extract_associated(*args); end
302
+
303
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
304
+ def eager_load(*args); end
305
+
306
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
307
+ def includes(*args); end
308
+
309
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
310
+ def from(*args); end
311
+
312
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
313
+ def lock(*args); end
314
+
315
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
316
+ def readonly(*args); end
317
+
318
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
319
+ def or(*args); end
320
+
321
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
322
+ def having(*args); end
323
+
324
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
325
+ def create_with(*args); end
326
+
327
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
328
+ def distinct(*args); end
329
+
330
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
331
+ def references(*args); end
332
+
333
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
334
+ def none(*args); end
335
+
336
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
337
+ def unscope(*args); end
338
+
339
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
340
+ def optimizer_hints(*args); end
341
+
342
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
343
+ def merge(*args); end
344
+
345
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
346
+ def except(*args); end
347
+
348
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_Relation) }
349
+ def only(*args); end
350
+
351
+ sig { params(block: T.proc.params(e: SpellBook).returns(T::Boolean)).returns(T::Array[SpellBook]) }
352
+ def select(&block); end
353
+
354
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(SpellBook::ActiveRecord_Relation) }
355
+ def select_columns(*args); end
356
+
357
+ sig { params(args: Symbol).returns(SpellBook::ActiveRecord_Relation) }
358
+ def where_missing(*args); end
359
+
360
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(SpellBook::ActiveRecord_Relation) }
361
+ def in_order_of(column, values); end
362
+
363
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
364
+ def extending(*args, &block); end
365
+
366
+ sig do
367
+ params(
368
+ of: T.nilable(Integer),
369
+ start: T.nilable(Integer),
370
+ finish: T.nilable(Integer),
371
+ load: T.nilable(T::Boolean),
372
+ error_on_ignore: T.nilable(T::Boolean),
373
+ block: T.nilable(T.proc.params(e: SpellBook::ActiveRecord_Relation).void)
374
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
375
+ end
376
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
377
+ end
378
+
379
+ module SpellBook::QueryMethodsReturningAssociationRelation
380
+ sig { returns(SpellBook::ActiveRecord_AssociationRelation) }
381
+ def all; end
382
+
383
+ sig { params(block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_Relation) }
384
+ def unscoped(&block); end
385
+
386
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
387
+ def reselect(*args); end
388
+
389
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
390
+ def order(*args); end
391
+
392
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
393
+ def reorder(*args); end
394
+
395
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
396
+ def group(*args); end
397
+
398
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
399
+ def limit(*args); end
400
+
401
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
402
+ def offset(*args); end
403
+
404
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
405
+ def joins(*args); end
406
+
407
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
408
+ def left_joins(*args); end
409
+
410
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
411
+ def left_outer_joins(*args); end
412
+
413
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
414
+ def where(*args); end
415
+
416
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
417
+ def rewhere(*args); end
418
+
419
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
420
+ def preload(*args); end
421
+
422
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
423
+ def extract_associated(*args); end
424
+
425
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
426
+ def eager_load(*args); end
427
+
428
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
429
+ def includes(*args); end
430
+
431
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
432
+ def from(*args); end
433
+
434
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
435
+ def lock(*args); end
436
+
437
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
438
+ def readonly(*args); end
439
+
440
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
441
+ def or(*args); end
442
+
443
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
444
+ def having(*args); end
445
+
446
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
447
+ def create_with(*args); end
448
+
449
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
450
+ def distinct(*args); end
451
+
452
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
453
+ def references(*args); end
454
+
455
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
456
+ def none(*args); end
457
+
458
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
459
+ def unscope(*args); end
460
+
461
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
462
+ def optimizer_hints(*args); end
463
+
464
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
465
+ def merge(*args); end
466
+
467
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
468
+ def except(*args); end
469
+
470
+ sig { params(args: T.untyped).returns(SpellBook::ActiveRecord_AssociationRelation) }
471
+ def only(*args); end
472
+
473
+ sig { params(block: T.proc.params(e: SpellBook).returns(T::Boolean)).returns(T::Array[SpellBook]) }
474
+ def select(&block); end
475
+
476
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(SpellBook::ActiveRecord_AssociationRelation) }
477
+ def select_columns(*args); end
478
+
479
+ sig { params(args: Symbol).returns(SpellBook::ActiveRecord_AssociationRelation) }
480
+ def where_missing(*args); end
481
+
482
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(SpellBook::ActiveRecord_AssociationRelation) }
483
+ def in_order_of(column, values); end
484
+
485
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(SpellBook::ActiveRecord_AssociationRelation) }
486
+ def extending(*args, &block); end
487
+
488
+ sig do
489
+ params(
490
+ of: T.nilable(Integer),
491
+ start: T.nilable(Integer),
492
+ finish: T.nilable(Integer),
493
+ load: T.nilable(T::Boolean),
494
+ error_on_ignore: T.nilable(T::Boolean),
495
+ block: T.nilable(T.proc.params(e: SpellBook::ActiveRecord_AssociationRelation).void)
496
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
497
+ end
498
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
499
+ end