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