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