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