sorbet-rails 0.5.7 → 0.5.8

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sorbet-rails/gem_plugins/shrine_plugin.rb +6 -0
  3. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +17 -7
  4. data/lib/sorbet-rails/sorbet_utils.rb +7 -1
  5. data/sorbet-rails.gemspec +1 -1
  6. data/spec/bin/run_all_specs.sh +1 -1
  7. data/spec/generators/rails-template.rb +17 -1
  8. data/spec/rails_helper.rb +1 -1
  9. data/spec/rake_rails_rbi_models_spec.rb +1 -0
  10. data/spec/sorbet_utils_spec.rb +5 -5
  11. data/spec/support/v5.0/Gemfile.lock +14 -14
  12. data/spec/support/v5.0/app/models/robe.rb +4 -0
  13. data/spec/support/v5.0/app/models/wand.rb +1 -1
  14. data/spec/support/v5.0/config/environments/development.rb +1 -1
  15. data/spec/support/v5.0/config/initializers/sorbet_rails.rb +1 -1
  16. data/spec/support/v5.0/db/migrate/20190620000008_add_robe_to_wizard.rb +8 -0
  17. data/spec/support/v5.0/db/schema.rb +6 -1
  18. data/spec/support/v5.1/Gemfile.lock +15 -15
  19. data/spec/support/v5.1/app/models/robe.rb +4 -0
  20. data/spec/support/v5.1/app/models/wand.rb +1 -1
  21. data/spec/support/v5.1/config/environments/development.rb +1 -1
  22. data/spec/support/v5.1/config/initializers/sorbet_rails.rb +1 -1
  23. data/spec/support/v5.1/db/migrate/20190620000008_add_robe_to_wizard.rb +8 -0
  24. data/spec/support/v5.1/db/schema.rb +6 -1
  25. data/spec/support/v5.2/Gemfile.lock +15 -15
  26. data/spec/support/v5.2/app/models/robe.rb +4 -0
  27. data/spec/support/v5.2/app/models/wand.rb +1 -1
  28. data/spec/support/v5.2/config/environments/development.rb +1 -1
  29. data/spec/support/v5.2/config/initializers/sorbet_rails.rb +1 -1
  30. data/spec/support/v5.2/db/migrate/20190620000008_add_robe_to_wizard.rb +8 -0
  31. data/spec/support/v5.2/db/schema.rb +6 -1
  32. data/spec/support/v6.0/Gemfile.lock +16 -16
  33. data/spec/support/v6.0/app/models/robe.rb +4 -0
  34. data/spec/support/v6.0/app/models/wand.rb +1 -1
  35. data/spec/support/v6.0/config/environments/development.rb +1 -1
  36. data/spec/support/v6.0/config/initializers/sorbet_rails.rb +1 -1
  37. data/spec/support/v6.0/db/migrate/20190620000008_add_robe_to_wizard.rb +8 -0
  38. data/spec/support/v6.0/db/schema.rb +6 -1
  39. data/spec/test_data/v5.0/expected_daily_prophet_mailer.rbi +1 -1
  40. data/spec/test_data/v5.0/expected_robe.rbi +716 -0
  41. data/spec/test_data/v5.0/expected_squib.rbi +1 -1
  42. data/spec/test_data/v5.0/expected_wizard.rbi +1 -1
  43. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +1 -1
  44. data/spec/test_data/v5.1/expected_daily_prophet_mailer.rbi +1 -1
  45. data/spec/test_data/v5.1/expected_robe.rbi +728 -0
  46. data/spec/test_data/v5.1/expected_squib.rbi +1 -1
  47. data/spec/test_data/v5.1/expected_wizard.rbi +1 -1
  48. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +1 -1
  49. data/spec/test_data/v5.2/expected_blob.rbi +1 -1
  50. data/spec/test_data/v5.2/expected_daily_prophet_mailer.rbi +1 -1
  51. data/spec/test_data/v5.2/expected_robe.rbi +728 -0
  52. data/spec/test_data/v5.2/expected_squib.rbi +3 -3
  53. data/spec/test_data/v5.2/expected_wizard.rbi +3 -3
  54. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +3 -3
  55. data/spec/test_data/v6.0/expected_blob.rbi +1 -1
  56. data/spec/test_data/v6.0/expected_daily_prophet_mailer.rbi +1 -1
  57. data/spec/test_data/v6.0/expected_robe.rbi +776 -0
  58. data/spec/test_data/v6.0/expected_squib.rbi +3 -3
  59. data/spec/test_data/v6.0/expected_wizard.rbi +3 -3
  60. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +3 -3
  61. metadata +25 -1
@@ -240,13 +240,13 @@ module Squib::GeneratedAssociationMethods
240
240
  sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
241
241
  def hats_attachments; end
242
242
 
243
- sig { params(value: T.any(T::Array[::ActiveStorage::Attachment], ::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy)).void }
243
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
244
244
  def hats_attachments=(value); end
245
245
 
246
246
  sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
247
247
  def hats_blobs; end
248
248
 
249
- sig { params(value: T.any(T::Array[::ActiveStorage::Blob], ::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy)).void }
249
+ sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
250
250
  def hats_blobs=(value); end
251
251
 
252
252
  sig { returns(T.nilable(::ActiveStorage::Attachment)) }
@@ -264,7 +264,7 @@ module Squib::GeneratedAssociationMethods
264
264
  sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
265
265
  def spell_books; end
266
266
 
267
- sig { params(value: T.any(T::Array[::SpellBook], ::SpellBook::ActiveRecord_Associations_CollectionProxy)).void }
267
+ sig { params(value: T::Enumerable[::SpellBook]).void }
268
268
  def spell_books=(value); end
269
269
 
270
270
  sig { returns(T.nilable(::Wand)) }
@@ -240,13 +240,13 @@ module Wizard::GeneratedAssociationMethods
240
240
  sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
241
241
  def hats_attachments; end
242
242
 
243
- sig { params(value: T.any(T::Array[::ActiveStorage::Attachment], ::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy)).void }
243
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
244
244
  def hats_attachments=(value); end
245
245
 
246
246
  sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
247
247
  def hats_blobs; end
248
248
 
249
- sig { params(value: T.any(T::Array[::ActiveStorage::Blob], ::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy)).void }
249
+ sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
250
250
  def hats_blobs=(value); end
251
251
 
252
252
  sig { returns(T.nilable(::ActiveStorage::Attachment)) }
@@ -264,7 +264,7 @@ module Wizard::GeneratedAssociationMethods
264
264
  sig { returns(::SpellBook::ActiveRecord_Associations_CollectionProxy) }
265
265
  def spell_books; end
266
266
 
267
- sig { params(value: T.any(T::Array[::SpellBook], ::SpellBook::ActiveRecord_Associations_CollectionProxy)).void }
267
+ sig { params(value: T::Enumerable[::SpellBook]).void }
268
268
  def spell_books=(value); end
269
269
 
270
270
  sig { returns(T.nilable(::Wand)) }
@@ -240,13 +240,13 @@ module Wizard::GeneratedAssociationMethods
240
240
  sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
241
241
  def hats_attachments; end
242
242
 
243
- sig { params(value: T.any(T::Array[::ActiveStorage::Attachment], ::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy)).void }
243
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
244
244
  def hats_attachments=(value); end
245
245
 
246
246
  sig { returns(::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy) }
247
247
  def hats_blobs; end
248
248
 
249
- sig { params(value: T.any(T::Array[::ActiveStorage::Blob], ::ActiveStorage::Blob::ActiveRecord_Associations_CollectionProxy)).void }
249
+ sig { params(value: T::Enumerable[::ActiveStorage::Blob]).void }
250
250
  def hats_blobs=(value); end
251
251
 
252
252
  sig { returns(T.nilable(::ActiveStorage::Attachment)) }
@@ -264,7 +264,7 @@ module Wizard::GeneratedAssociationMethods
264
264
  sig { returns(ActiveRecord::Associations::CollectionProxy) }
265
265
  def spell_books; end
266
266
 
267
- sig { params(value: T.any(T::Array[T.untyped], ActiveRecord::Associations::CollectionProxy)).void }
267
+ sig { params(value: T::Enumerable[T.untyped]).void }
268
268
  def spell_books=(value); end
269
269
 
270
270
  sig { returns(T.nilable(::Wand)) }
@@ -795,7 +795,7 @@ module ActiveStorage::Blob::GeneratedAssociationMethods
795
795
  sig { returns(::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy) }
796
796
  def attachments; end
797
797
 
798
- sig { params(value: T.any(T::Array[::ActiveStorage::Attachment], ::ActiveStorage::Attachment::ActiveRecord_Associations_CollectionProxy)).void }
798
+ sig { params(value: T::Enumerable[::ActiveStorage::Attachment]).void }
799
799
  def attachments=(value); end
800
800
 
801
801
  sig { returns(T.nilable(::ActiveStorage::Attachment)) }
@@ -3,5 +3,5 @@
3
3
  # Please rerun rake rails_rbi:mailers to regenerate.
4
4
  class DailyProphetMailer
5
5
  sig { params(wizards: T::Array[Wizard], hotnews_only: T::Boolean).returns(ActionMailer::MessageDelivery) }
6
- def self.notify_subscribers(wizards, hotnews_only); end
6
+ def self.notify_subscribers(wizards:, hotnews_only:); end
7
7
  end
@@ -0,0 +1,776 @@
1
+ # This is an autogenerated file for dynamic methods in Robe
2
+ # Please rerun rake rails_rbi:models[Robe] to regenerate.
3
+
4
+ # typed: strong
5
+ module Robe::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 Robe::GeneratedAssociationMethods
11
+ extend T::Sig
12
+
13
+ sig { returns(T.nilable(::Wizard)) }
14
+ def wizard; end
15
+
16
+ sig { params(value: T.nilable(::Wizard)).void }
17
+ def wizard=(value); end
18
+ end
19
+
20
+ module Robe::CustomFinderMethods
21
+ sig { params(limit: Integer).returns(T::Array[Robe]) }
22
+ def first_n(limit); end
23
+
24
+ sig { params(limit: Integer).returns(T::Array[Robe]) }
25
+ def last_n(limit); end
26
+
27
+ sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Robe]) }
28
+ def find_n(*args); end
29
+
30
+ sig { params(id: Integer).returns(T.nilable(Robe)) }
31
+ def find_by_id(id); end
32
+
33
+ sig { params(id: Integer).returns(Robe) }
34
+ def find_by_id!(id); end
35
+ end
36
+
37
+ class Robe < ApplicationRecord
38
+ include Robe::GeneratedAssociationMethods
39
+ extend Robe::CustomFinderMethods
40
+ extend T::Sig
41
+ extend T::Generic
42
+
43
+ sig { returns(Robe::ActiveRecord_Relation) }
44
+ def self.all; end
45
+
46
+ sig { params(block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_Relation) }
47
+ def self.unscoped(&block); end
48
+
49
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
50
+ def self.select(*args); end
51
+
52
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
53
+ def self.reselect(*args); end
54
+
55
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
56
+ def self.order(*args); end
57
+
58
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
59
+ def self.reorder(*args); end
60
+
61
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
62
+ def self.group(*args); end
63
+
64
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
65
+ def self.limit(*args); end
66
+
67
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
68
+ def self.offset(*args); end
69
+
70
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
71
+ def self.joins(*args); end
72
+
73
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
74
+ def self.left_joins(*args); end
75
+
76
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
77
+ def self.left_outer_joins(*args); end
78
+
79
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
80
+ def self.where(*args); end
81
+
82
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
83
+ def self.rewhere(*args); end
84
+
85
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
86
+ def self.preload(*args); end
87
+
88
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
89
+ def self.extract_associated(*args); end
90
+
91
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
92
+ def self.eager_load(*args); end
93
+
94
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
95
+ def self.includes(*args); end
96
+
97
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
98
+ def self.from(*args); end
99
+
100
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
101
+ def self.lock(*args); end
102
+
103
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
104
+ def self.readonly(*args); end
105
+
106
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
107
+ def self.or(*args); end
108
+
109
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
110
+ def self.having(*args); end
111
+
112
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
113
+ def self.create_with(*args); end
114
+
115
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
116
+ def self.distinct(*args); end
117
+
118
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
119
+ def self.references(*args); end
120
+
121
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
122
+ def self.none(*args); end
123
+
124
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
125
+ def self.unscope(*args); end
126
+
127
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
128
+ def self.optimizer_hints(*args); end
129
+
130
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
131
+ def self.merge(*args); end
132
+
133
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
134
+ def self.except(*args); end
135
+
136
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
137
+ def self.only(*args); end
138
+
139
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_Relation) }
140
+ def self.extending(*args, &block); end
141
+
142
+ sig { params(args: T.untyped).returns(Robe) }
143
+ def self.find(*args); end
144
+
145
+ sig { params(args: T.untyped).returns(T.nilable(Robe)) }
146
+ def self.find_by(*args); end
147
+
148
+ sig { params(args: T.untyped).returns(Robe) }
149
+ def self.find_by!(*args); end
150
+
151
+ sig { returns(T.nilable(Robe)) }
152
+ def self.first; end
153
+
154
+ sig { returns(Robe) }
155
+ def self.first!; end
156
+
157
+ sig { returns(T.nilable(Robe)) }
158
+ def self.second; end
159
+
160
+ sig { returns(Robe) }
161
+ def self.second!; end
162
+
163
+ sig { returns(T.nilable(Robe)) }
164
+ def self.third; end
165
+
166
+ sig { returns(Robe) }
167
+ def self.third!; end
168
+
169
+ sig { returns(T.nilable(Robe)) }
170
+ def self.third_to_last; end
171
+
172
+ sig { returns(Robe) }
173
+ def self.third_to_last!; end
174
+
175
+ sig { returns(T.nilable(Robe)) }
176
+ def self.second_to_last; end
177
+
178
+ sig { returns(Robe) }
179
+ def self.second_to_last!; end
180
+
181
+ sig { returns(T.nilable(Robe)) }
182
+ def self.last; end
183
+
184
+ sig { returns(Robe) }
185
+ def self.last!; end
186
+
187
+ sig { params(conditions: T.untyped).returns(T::Boolean) }
188
+ def self.exists?(conditions = nil); end
189
+
190
+ sig { params(args: T.untyped).returns(T::Boolean) }
191
+ def self.any?(*args); end
192
+
193
+ sig { params(args: T.untyped).returns(T::Boolean) }
194
+ def self.many?(*args); end
195
+
196
+ sig { params(args: T.untyped).returns(T::Boolean) }
197
+ def self.none?(*args); end
198
+
199
+ sig { params(args: T.untyped).returns(T::Boolean) }
200
+ def self.one?(*args); end
201
+
202
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Robe) }
203
+ def self.create(attributes = nil, &block); end
204
+
205
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Robe) }
206
+ def self.create!(attributes = nil, &block); end
207
+
208
+ sig { params(attributes: T.untyped, block: T.untyped).returns(Robe) }
209
+ def self.new(attributes = nil, &block); end
210
+ end
211
+
212
+ class Robe::ActiveRecord_Relation < ActiveRecord::Relation
213
+ include Robe::ActiveRelation_WhereNot
214
+ include Robe::CustomFinderMethods
215
+ include Enumerable
216
+ extend T::Sig
217
+ extend T::Generic
218
+ Elem = type_member(fixed: Robe)
219
+
220
+ sig { returns(Robe::ActiveRecord_Relation) }
221
+ def all; end
222
+
223
+ sig { params(block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_Relation) }
224
+ def unscoped(&block); end
225
+
226
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
227
+ def select(*args); end
228
+
229
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
230
+ def reselect(*args); end
231
+
232
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
233
+ def order(*args); end
234
+
235
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
236
+ def reorder(*args); end
237
+
238
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
239
+ def group(*args); end
240
+
241
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
242
+ def limit(*args); end
243
+
244
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
245
+ def offset(*args); end
246
+
247
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
248
+ def joins(*args); end
249
+
250
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
251
+ def left_joins(*args); end
252
+
253
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
254
+ def left_outer_joins(*args); end
255
+
256
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
257
+ def where(*args); end
258
+
259
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
260
+ def rewhere(*args); end
261
+
262
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
263
+ def preload(*args); end
264
+
265
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
266
+ def extract_associated(*args); end
267
+
268
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
269
+ def eager_load(*args); end
270
+
271
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
272
+ def includes(*args); end
273
+
274
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
275
+ def from(*args); end
276
+
277
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
278
+ def lock(*args); end
279
+
280
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
281
+ def readonly(*args); end
282
+
283
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
284
+ def or(*args); end
285
+
286
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
287
+ def having(*args); end
288
+
289
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
290
+ def create_with(*args); end
291
+
292
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
293
+ def distinct(*args); end
294
+
295
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
296
+ def references(*args); end
297
+
298
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
299
+ def none(*args); end
300
+
301
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
302
+ def unscope(*args); end
303
+
304
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
305
+ def optimizer_hints(*args); end
306
+
307
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
308
+ def merge(*args); end
309
+
310
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
311
+ def except(*args); end
312
+
313
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_Relation) }
314
+ def only(*args); end
315
+
316
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_Relation) }
317
+ def extending(*args, &block); end
318
+
319
+ sig { params(args: T.untyped).returns(Robe) }
320
+ def find(*args); end
321
+
322
+ sig { params(args: T.untyped).returns(T.nilable(Robe)) }
323
+ def find_by(*args); end
324
+
325
+ sig { params(args: T.untyped).returns(Robe) }
326
+ def find_by!(*args); end
327
+
328
+ sig { returns(T.nilable(Robe)) }
329
+ def first; end
330
+
331
+ sig { returns(Robe) }
332
+ def first!; end
333
+
334
+ sig { returns(T.nilable(Robe)) }
335
+ def second; end
336
+
337
+ sig { returns(Robe) }
338
+ def second!; end
339
+
340
+ sig { returns(T.nilable(Robe)) }
341
+ def third; end
342
+
343
+ sig { returns(Robe) }
344
+ def third!; end
345
+
346
+ sig { returns(T.nilable(Robe)) }
347
+ def third_to_last; end
348
+
349
+ sig { returns(Robe) }
350
+ def third_to_last!; end
351
+
352
+ sig { returns(T.nilable(Robe)) }
353
+ def second_to_last; end
354
+
355
+ sig { returns(Robe) }
356
+ def second_to_last!; end
357
+
358
+ sig { returns(T.nilable(Robe)) }
359
+ def last; end
360
+
361
+ sig { returns(Robe) }
362
+ def last!; end
363
+
364
+ sig { params(conditions: T.untyped).returns(T::Boolean) }
365
+ def exists?(conditions = nil); end
366
+
367
+ sig { params(args: T.untyped).returns(T::Boolean) }
368
+ def any?(*args); end
369
+
370
+ sig { params(args: T.untyped).returns(T::Boolean) }
371
+ def many?(*args); end
372
+
373
+ sig { params(args: T.untyped).returns(T::Boolean) }
374
+ def none?(*args); end
375
+
376
+ sig { params(args: T.untyped).returns(T::Boolean) }
377
+ def one?(*args); end
378
+
379
+ sig { override.params(block: T.proc.params(e: Robe).void).returns(T::Array[Robe]) }
380
+ def each(&block); end
381
+
382
+ sig { params(level: T.nilable(Integer)).returns(T::Array[Robe]) }
383
+ def flatten(level); end
384
+
385
+ sig { returns(T::Array[Robe]) }
386
+ def to_a; end
387
+
388
+ sig do
389
+ type_parameters(:U).params(
390
+ blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
391
+ )
392
+ .returns(T::Array[T.type_parameter(:U)])
393
+ end
394
+ def map(&blk); end
395
+ end
396
+
397
+ class Robe::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
398
+ include Robe::ActiveRelation_WhereNot
399
+ include Robe::CustomFinderMethods
400
+ include Enumerable
401
+ extend T::Sig
402
+ extend T::Generic
403
+ Elem = type_member(fixed: Robe)
404
+
405
+ sig { returns(Robe::ActiveRecord_AssociationRelation) }
406
+ def all; end
407
+
408
+ sig { params(block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_AssociationRelation) }
409
+ def unscoped(&block); end
410
+
411
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
412
+ def select(*args); end
413
+
414
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
415
+ def reselect(*args); end
416
+
417
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
418
+ def order(*args); end
419
+
420
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
421
+ def reorder(*args); end
422
+
423
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
424
+ def group(*args); end
425
+
426
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
427
+ def limit(*args); end
428
+
429
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
430
+ def offset(*args); end
431
+
432
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
433
+ def joins(*args); end
434
+
435
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
436
+ def left_joins(*args); end
437
+
438
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
439
+ def left_outer_joins(*args); end
440
+
441
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
442
+ def where(*args); end
443
+
444
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
445
+ def rewhere(*args); end
446
+
447
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
448
+ def preload(*args); end
449
+
450
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
451
+ def extract_associated(*args); end
452
+
453
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
454
+ def eager_load(*args); end
455
+
456
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
457
+ def includes(*args); end
458
+
459
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
460
+ def from(*args); end
461
+
462
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
463
+ def lock(*args); end
464
+
465
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
466
+ def readonly(*args); end
467
+
468
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
469
+ def or(*args); end
470
+
471
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
472
+ def having(*args); end
473
+
474
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
475
+ def create_with(*args); end
476
+
477
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
478
+ def distinct(*args); end
479
+
480
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
481
+ def references(*args); end
482
+
483
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
484
+ def none(*args); end
485
+
486
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
487
+ def unscope(*args); end
488
+
489
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
490
+ def optimizer_hints(*args); end
491
+
492
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
493
+ def merge(*args); end
494
+
495
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
496
+ def except(*args); end
497
+
498
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
499
+ def only(*args); end
500
+
501
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_AssociationRelation) }
502
+ def extending(*args, &block); end
503
+
504
+ sig { params(args: T.untyped).returns(Robe) }
505
+ def find(*args); end
506
+
507
+ sig { params(args: T.untyped).returns(T.nilable(Robe)) }
508
+ def find_by(*args); end
509
+
510
+ sig { params(args: T.untyped).returns(Robe) }
511
+ def find_by!(*args); end
512
+
513
+ sig { returns(T.nilable(Robe)) }
514
+ def first; end
515
+
516
+ sig { returns(Robe) }
517
+ def first!; end
518
+
519
+ sig { returns(T.nilable(Robe)) }
520
+ def second; end
521
+
522
+ sig { returns(Robe) }
523
+ def second!; end
524
+
525
+ sig { returns(T.nilable(Robe)) }
526
+ def third; end
527
+
528
+ sig { returns(Robe) }
529
+ def third!; end
530
+
531
+ sig { returns(T.nilable(Robe)) }
532
+ def third_to_last; end
533
+
534
+ sig { returns(Robe) }
535
+ def third_to_last!; end
536
+
537
+ sig { returns(T.nilable(Robe)) }
538
+ def second_to_last; end
539
+
540
+ sig { returns(Robe) }
541
+ def second_to_last!; end
542
+
543
+ sig { returns(T.nilable(Robe)) }
544
+ def last; end
545
+
546
+ sig { returns(Robe) }
547
+ def last!; end
548
+
549
+ sig { params(conditions: T.untyped).returns(T::Boolean) }
550
+ def exists?(conditions = nil); end
551
+
552
+ sig { params(args: T.untyped).returns(T::Boolean) }
553
+ def any?(*args); end
554
+
555
+ sig { params(args: T.untyped).returns(T::Boolean) }
556
+ def many?(*args); end
557
+
558
+ sig { params(args: T.untyped).returns(T::Boolean) }
559
+ def none?(*args); end
560
+
561
+ sig { params(args: T.untyped).returns(T::Boolean) }
562
+ def one?(*args); end
563
+
564
+ sig { override.params(block: T.proc.params(e: Robe).void).returns(T::Array[Robe]) }
565
+ def each(&block); end
566
+
567
+ sig { params(level: T.nilable(Integer)).returns(T::Array[Robe]) }
568
+ def flatten(level); end
569
+
570
+ sig { returns(T::Array[Robe]) }
571
+ def to_a; end
572
+
573
+ sig do
574
+ type_parameters(:U).params(
575
+ blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
576
+ )
577
+ .returns(T::Array[T.type_parameter(:U)])
578
+ end
579
+ def map(&blk); end
580
+ end
581
+
582
+ class Robe::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
583
+ include Robe::CustomFinderMethods
584
+ include Enumerable
585
+ extend T::Sig
586
+ extend T::Generic
587
+ Elem = type_member(fixed: Robe)
588
+
589
+ sig { returns(Robe::ActiveRecord_AssociationRelation) }
590
+ def all; end
591
+
592
+ sig { params(block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_AssociationRelation) }
593
+ def unscoped(&block); end
594
+
595
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
596
+ def select(*args); end
597
+
598
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
599
+ def reselect(*args); end
600
+
601
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
602
+ def order(*args); end
603
+
604
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
605
+ def reorder(*args); end
606
+
607
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
608
+ def group(*args); end
609
+
610
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
611
+ def limit(*args); end
612
+
613
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
614
+ def offset(*args); end
615
+
616
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
617
+ def joins(*args); end
618
+
619
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
620
+ def left_joins(*args); end
621
+
622
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
623
+ def left_outer_joins(*args); end
624
+
625
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
626
+ def where(*args); end
627
+
628
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
629
+ def rewhere(*args); end
630
+
631
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
632
+ def preload(*args); end
633
+
634
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
635
+ def extract_associated(*args); end
636
+
637
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
638
+ def eager_load(*args); end
639
+
640
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
641
+ def includes(*args); end
642
+
643
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
644
+ def from(*args); end
645
+
646
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
647
+ def lock(*args); end
648
+
649
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
650
+ def readonly(*args); end
651
+
652
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
653
+ def or(*args); end
654
+
655
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
656
+ def having(*args); end
657
+
658
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
659
+ def create_with(*args); end
660
+
661
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
662
+ def distinct(*args); end
663
+
664
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
665
+ def references(*args); end
666
+
667
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
668
+ def none(*args); end
669
+
670
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
671
+ def unscope(*args); end
672
+
673
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
674
+ def optimizer_hints(*args); end
675
+
676
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
677
+ def merge(*args); end
678
+
679
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
680
+ def except(*args); end
681
+
682
+ sig { params(args: T.untyped).returns(Robe::ActiveRecord_AssociationRelation) }
683
+ def only(*args); end
684
+
685
+ sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Robe::ActiveRecord_AssociationRelation) }
686
+ def extending(*args, &block); end
687
+
688
+ sig { params(args: T.untyped).returns(Robe) }
689
+ def find(*args); end
690
+
691
+ sig { params(args: T.untyped).returns(T.nilable(Robe)) }
692
+ def find_by(*args); end
693
+
694
+ sig { params(args: T.untyped).returns(Robe) }
695
+ def find_by!(*args); end
696
+
697
+ sig { returns(T.nilable(Robe)) }
698
+ def first; end
699
+
700
+ sig { returns(Robe) }
701
+ def first!; end
702
+
703
+ sig { returns(T.nilable(Robe)) }
704
+ def second; end
705
+
706
+ sig { returns(Robe) }
707
+ def second!; end
708
+
709
+ sig { returns(T.nilable(Robe)) }
710
+ def third; end
711
+
712
+ sig { returns(Robe) }
713
+ def third!; end
714
+
715
+ sig { returns(T.nilable(Robe)) }
716
+ def third_to_last; end
717
+
718
+ sig { returns(Robe) }
719
+ def third_to_last!; end
720
+
721
+ sig { returns(T.nilable(Robe)) }
722
+ def second_to_last; end
723
+
724
+ sig { returns(Robe) }
725
+ def second_to_last!; end
726
+
727
+ sig { returns(T.nilable(Robe)) }
728
+ def last; end
729
+
730
+ sig { returns(Robe) }
731
+ def last!; end
732
+
733
+ sig { params(conditions: T.untyped).returns(T::Boolean) }
734
+ def exists?(conditions = nil); end
735
+
736
+ sig { params(args: T.untyped).returns(T::Boolean) }
737
+ def any?(*args); end
738
+
739
+ sig { params(args: T.untyped).returns(T::Boolean) }
740
+ def many?(*args); end
741
+
742
+ sig { params(args: T.untyped).returns(T::Boolean) }
743
+ def none?(*args); end
744
+
745
+ sig { params(args: T.untyped).returns(T::Boolean) }
746
+ def one?(*args); end
747
+
748
+ sig { override.params(block: T.proc.params(e: Robe).void).returns(T::Array[Robe]) }
749
+ def each(&block); end
750
+
751
+ sig { params(level: T.nilable(Integer)).returns(T::Array[Robe]) }
752
+ def flatten(level); end
753
+
754
+ sig { returns(T::Array[Robe]) }
755
+ def to_a; end
756
+
757
+ sig do
758
+ type_parameters(:U).params(
759
+ blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
760
+ )
761
+ .returns(T::Array[T.type_parameter(:U)])
762
+ end
763
+ def map(&blk); end
764
+
765
+ sig { params(records: T.any(Robe, T::Array[Robe])).returns(T.self_type) }
766
+ def <<(*records); end
767
+
768
+ sig { params(records: T.any(Robe, T::Array[Robe])).returns(T.self_type) }
769
+ def append(*records); end
770
+
771
+ sig { params(records: T.any(Robe, T::Array[Robe])).returns(T.self_type) }
772
+ def push(*records); end
773
+
774
+ sig { params(records: T.any(Robe, T::Array[Robe])).returns(T.self_type) }
775
+ def concat(*records); end
776
+ end