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