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,349 @@
1
+ # This is an autogenerated file for dynamic methods in School
2
+ # Please rerun bundle exec rake rails_rbi:models[School] to regenerate.
3
+
4
+ # typed: strong
5
+ module School::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 School::GeneratedAttributeMethods
11
+ sig { returns(Integer) }
12
+ def id; end
13
+
14
+ sig { params(value: T.any(Numeric, ActiveSupport::Duration)).void }
15
+ def id=(value); end
16
+
17
+ sig { returns(T::Boolean) }
18
+ def id?; end
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ def name; end
22
+
23
+ sig { params(value: T.nilable(T.any(String, Symbol))).void }
24
+ def name=(value); end
25
+
26
+ sig { returns(T::Boolean) }
27
+ def name?; end
28
+ end
29
+
30
+ module School::GeneratedAssociationMethods
31
+ sig { returns(::Headmaster) }
32
+ def headmaster; end
33
+
34
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Headmaster).void)).returns(::Headmaster) }
35
+ def build_headmaster(*args, &block); end
36
+
37
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Headmaster).void)).returns(::Headmaster) }
38
+ def create_headmaster(*args, &block); end
39
+
40
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: ::Headmaster).void)).returns(::Headmaster) }
41
+ def create_headmaster!(*args, &block); end
42
+
43
+ sig { params(value: ::Headmaster).void }
44
+ def headmaster=(value); end
45
+
46
+ sig { returns(::Headmaster) }
47
+ def reload_headmaster; end
48
+ end
49
+
50
+ module School::CustomFinderMethods
51
+ sig { params(limit: Integer).returns(T::Array[School]) }
52
+ def first_n(limit); end
53
+
54
+ sig { params(limit: Integer).returns(T::Array[School]) }
55
+ def last_n(limit); end
56
+
57
+ sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[School]) }
58
+ def find_n(*args); end
59
+
60
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(School)) }
61
+ def find_by_id(id); end
62
+
63
+ sig { params(id: Integer).returns(School) }
64
+ def find_by_id!(id); end
65
+ end
66
+
67
+ class School < ApplicationRecord
68
+ include School::GeneratedAttributeMethods
69
+ include School::GeneratedAssociationMethods
70
+ extend School::CustomFinderMethods
71
+ extend School::QueryMethodsReturningRelation
72
+ RelationType = T.type_alias { T.any(School::ActiveRecord_Relation, School::ActiveRecord_Associations_CollectionProxy, School::ActiveRecord_AssociationRelation) }
73
+ end
74
+
75
+ module School::QueryMethodsReturningRelation
76
+ sig { returns(School::ActiveRecord_Relation) }
77
+ def all; end
78
+
79
+ sig { params(block: T.nilable(T.proc.void)).returns(School::ActiveRecord_Relation) }
80
+ def unscoped(&block); end
81
+
82
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
83
+ def reselect(*args); end
84
+
85
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
86
+ def order(*args); end
87
+
88
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
89
+ def reorder(*args); end
90
+
91
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
92
+ def group(*args); end
93
+
94
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
95
+ def limit(*args); end
96
+
97
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
98
+ def offset(*args); end
99
+
100
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
101
+ def joins(*args); end
102
+
103
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
104
+ def left_joins(*args); end
105
+
106
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
107
+ def left_outer_joins(*args); end
108
+
109
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
110
+ def where(*args); end
111
+
112
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
113
+ def rewhere(*args); end
114
+
115
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
116
+ def preload(*args); end
117
+
118
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
119
+ def extract_associated(*args); end
120
+
121
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
122
+ def eager_load(*args); end
123
+
124
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
125
+ def includes(*args); end
126
+
127
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
128
+ def from(*args); end
129
+
130
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
131
+ def lock(*args); end
132
+
133
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
134
+ def readonly(*args); end
135
+
136
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
137
+ def or(*args); end
138
+
139
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
140
+ def having(*args); end
141
+
142
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
143
+ def create_with(*args); end
144
+
145
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
146
+ def distinct(*args); end
147
+
148
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
149
+ def references(*args); end
150
+
151
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
152
+ def none(*args); end
153
+
154
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
155
+ def unscope(*args); end
156
+
157
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
158
+ def optimizer_hints(*args); end
159
+
160
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
161
+ def merge(*args); end
162
+
163
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
164
+ def except(*args); end
165
+
166
+ sig { params(args: T.untyped).returns(School::ActiveRecord_Relation) }
167
+ def only(*args); end
168
+
169
+ sig { params(block: T.proc.params(e: School).returns(T::Boolean)).returns(T::Array[School]) }
170
+ def select(&block); end
171
+
172
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(School::ActiveRecord_Relation) }
173
+ def select_columns(*args); end
174
+
175
+ sig { params(args: Symbol).returns(School::ActiveRecord_Relation) }
176
+ def where_missing(*args); end
177
+
178
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(School::ActiveRecord_Relation) }
179
+ def in_order_of(column, values); end
180
+
181
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(School::ActiveRecord_Relation) }
182
+ def extending(*args, &block); end
183
+
184
+ sig do
185
+ params(
186
+ of: T.nilable(Integer),
187
+ start: T.nilable(Integer),
188
+ finish: T.nilable(Integer),
189
+ load: T.nilable(T::Boolean),
190
+ error_on_ignore: T.nilable(T::Boolean),
191
+ block: T.nilable(T.proc.params(e: School::ActiveRecord_Relation).void)
192
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
193
+ end
194
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
195
+ end
196
+
197
+ module School::QueryMethodsReturningAssociationRelation
198
+ sig { returns(School::ActiveRecord_AssociationRelation) }
199
+ def all; end
200
+
201
+ sig { params(block: T.nilable(T.proc.void)).returns(School::ActiveRecord_Relation) }
202
+ def unscoped(&block); end
203
+
204
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
205
+ def reselect(*args); end
206
+
207
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
208
+ def order(*args); end
209
+
210
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
211
+ def reorder(*args); end
212
+
213
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
214
+ def group(*args); end
215
+
216
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
217
+ def limit(*args); end
218
+
219
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
220
+ def offset(*args); end
221
+
222
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
223
+ def joins(*args); end
224
+
225
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
226
+ def left_joins(*args); end
227
+
228
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
229
+ def left_outer_joins(*args); end
230
+
231
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
232
+ def where(*args); end
233
+
234
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
235
+ def rewhere(*args); end
236
+
237
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
238
+ def preload(*args); end
239
+
240
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
241
+ def extract_associated(*args); end
242
+
243
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
244
+ def eager_load(*args); end
245
+
246
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
247
+ def includes(*args); end
248
+
249
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
250
+ def from(*args); end
251
+
252
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
253
+ def lock(*args); end
254
+
255
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
256
+ def readonly(*args); end
257
+
258
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
259
+ def or(*args); end
260
+
261
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
262
+ def having(*args); end
263
+
264
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
265
+ def create_with(*args); end
266
+
267
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
268
+ def distinct(*args); end
269
+
270
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
271
+ def references(*args); end
272
+
273
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
274
+ def none(*args); end
275
+
276
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
277
+ def unscope(*args); end
278
+
279
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
280
+ def optimizer_hints(*args); end
281
+
282
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
283
+ def merge(*args); end
284
+
285
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
286
+ def except(*args); end
287
+
288
+ sig { params(args: T.untyped).returns(School::ActiveRecord_AssociationRelation) }
289
+ def only(*args); end
290
+
291
+ sig { params(block: T.proc.params(e: School).returns(T::Boolean)).returns(T::Array[School]) }
292
+ def select(&block); end
293
+
294
+ sig { params(args: T.any(String, Symbol, T::Array[T.any(String, Symbol)])).returns(School::ActiveRecord_AssociationRelation) }
295
+ def select_columns(*args); end
296
+
297
+ sig { params(args: Symbol).returns(School::ActiveRecord_AssociationRelation) }
298
+ def where_missing(*args); end
299
+
300
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(School::ActiveRecord_AssociationRelation) }
301
+ def in_order_of(column, values); end
302
+
303
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(School::ActiveRecord_AssociationRelation) }
304
+ def extending(*args, &block); end
305
+
306
+ sig do
307
+ params(
308
+ of: T.nilable(Integer),
309
+ start: T.nilable(Integer),
310
+ finish: T.nilable(Integer),
311
+ load: T.nilable(T::Boolean),
312
+ error_on_ignore: T.nilable(T::Boolean),
313
+ block: T.nilable(T.proc.params(e: School::ActiveRecord_AssociationRelation).void)
314
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
315
+ end
316
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
317
+ end
318
+
319
+ class School::ActiveRecord_Relation < ActiveRecord::Relation
320
+ include School::ActiveRelation_WhereNot
321
+ include School::CustomFinderMethods
322
+ include School::QueryMethodsReturningRelation
323
+ Elem = type_member {{fixed: School}}
324
+ end
325
+
326
+ class School::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
327
+ include School::ActiveRelation_WhereNot
328
+ include School::CustomFinderMethods
329
+ include School::QueryMethodsReturningAssociationRelation
330
+ Elem = type_member {{fixed: School}}
331
+ end
332
+
333
+ class School::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
334
+ include School::CustomFinderMethods
335
+ include School::QueryMethodsReturningAssociationRelation
336
+ Elem = type_member {{fixed: School}}
337
+
338
+ sig { params(records: T.any(School, T::Array[School])).returns(T.self_type) }
339
+ def <<(*records); end
340
+
341
+ sig { params(records: T.any(School, T::Array[School])).returns(T.self_type) }
342
+ def append(*records); end
343
+
344
+ sig { params(records: T.any(School, T::Array[School])).returns(T.self_type) }
345
+ def push(*records); end
346
+
347
+ sig { params(records: T.any(School, T::Array[School])).returns(T.self_type) }
348
+ def concat(*records); end
349
+ end