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