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