sorbet-rails 0.5.4 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/README.md +48 -17
  4. data/lib/bundled_rbi/parameters.rbi +50 -0
  5. data/lib/sorbet-rails.rb +1 -0
  6. data/lib/sorbet-rails/gem_plugins/friendly_id_plugin.rb +1 -1
  7. data/lib/sorbet-rails/gem_plugins/kaminari_plugin.rb +1 -1
  8. data/lib/sorbet-rails/gem_plugins/pg_search_plugin.rb +1 -1
  9. data/lib/sorbet-rails/mailer_rbi_formatter.rb +2 -2
  10. data/lib/sorbet-rails/model_plugins/active_record_assoc.rb +1 -1
  11. data/lib/sorbet-rails/model_plugins/active_record_attribute.rb +1 -1
  12. data/lib/sorbet-rails/model_plugins/active_record_enum.rb +1 -1
  13. data/lib/sorbet-rails/model_plugins/active_record_finder_methods.rb +1 -1
  14. data/lib/sorbet-rails/model_plugins/active_record_named_scope.rb +1 -1
  15. data/lib/sorbet-rails/model_plugins/active_record_querying.rb +1 -1
  16. data/lib/sorbet-rails/model_plugins/active_relation_where_not.rb +1 -1
  17. data/lib/sorbet-rails/model_plugins/active_storage_methods.rb +1 -1
  18. data/lib/sorbet-rails/model_plugins/base.rb +1 -1
  19. data/lib/sorbet-rails/model_plugins/custom_finder_methods.rb +1 -1
  20. data/lib/sorbet-rails/model_plugins/enumerable_collections.rb +1 -1
  21. data/lib/sorbet-rails/model_plugins/plugins.rb +0 -1
  22. data/lib/sorbet-rails/model_rbi_formatter.rb +5 -3
  23. data/lib/sorbet-rails/{model_plugins → rails_mixins}/active_record_overrides.rb +0 -0
  24. data/lib/sorbet-rails/{custom_finder_methods.rb → rails_mixins/custom_finder_methods.rb} +1 -1
  25. data/lib/sorbet-rails/rails_mixins/custom_params_methods.rb +46 -0
  26. data/lib/sorbet-rails/railtie.rb +8 -1
  27. data/lib/sorbet-rails/routes_rbi_formatter.rb +1 -2
  28. data/lib/sorbet-rails/tasks/rails_rbi.rake +22 -0
  29. data/lib/sorbet-rails/type_assert/type_assert.rb +18 -0
  30. data/lib/sorbet-rails/type_assert/type_assert_impl.rb +26 -0
  31. data/lib/sorbet-rails/type_assert/type_assert_interface.rb +16 -0
  32. data/sorbet-rails.gemspec +2 -2
  33. data/spec/custom_finder_methods_spec.rb +5 -0
  34. data/spec/custom_params_methods_spec.rb +138 -0
  35. data/spec/generators/sorbet_test_cases.rb +49 -0
  36. data/spec/model_rbi_formatter_spec.rb +10 -3
  37. data/spec/sorbet_spec.rb +1 -5
  38. data/spec/support/v4.2/Gemfile.lock +3 -3
  39. data/spec/support/v4.2/sorbet_test_cases.rb +49 -0
  40. data/spec/support/v5.0/Gemfile.lock +3 -3
  41. data/spec/support/v5.0/sorbet_test_cases.rb +49 -0
  42. data/spec/support/v5.1/Gemfile.lock +3 -3
  43. data/spec/support/v5.1/sorbet_test_cases.rb +49 -0
  44. data/spec/support/v5.2/Gemfile.lock +3 -3
  45. data/spec/support/v5.2/sorbet_test_cases.rb +49 -0
  46. data/spec/support/v6.0/Gemfile.lock +3 -3
  47. data/spec/support/v6.0/sorbet_test_cases.rb +49 -0
  48. data/spec/test_data/v4.2/expected_helpers.rbi +1 -1
  49. data/spec/test_data/v4.2/expected_helpers_with_application_and_devise_helpers.rbi +1 -1
  50. data/spec/test_data/v4.2/expected_potion.rbi +3 -3
  51. data/spec/test_data/v4.2/expected_spell_book.rbi +3 -3
  52. data/spec/test_data/v4.2/expected_wand.rbi +3 -3
  53. data/spec/test_data/v4.2/expected_wizard.rbi +3 -3
  54. data/spec/test_data/v4.2/expected_wizard_wo_spellbook.rbi +3 -3
  55. data/spec/test_data/v5.0/expected_helpers.rbi +1 -1
  56. data/spec/test_data/v5.0/expected_helpers_with_application_and_devise_helpers.rbi +1 -1
  57. data/spec/test_data/v5.0/expected_internal_metadata.rbi +3 -3
  58. data/spec/test_data/v5.0/expected_potion.rbi +3 -3
  59. data/spec/test_data/v5.0/expected_schema_migration.rbi +3 -3
  60. data/spec/test_data/v5.0/expected_spell_book.rbi +3 -3
  61. data/spec/test_data/v5.0/expected_wand.rbi +3 -3
  62. data/spec/test_data/v5.0/expected_wizard.rbi +3 -3
  63. data/spec/test_data/v5.0/expected_wizard_wo_spellbook.rbi +3 -3
  64. data/spec/test_data/v5.1/expected_helpers.rbi +1 -1
  65. data/spec/test_data/v5.1/expected_helpers_with_application_and_devise_helpers.rbi +1 -1
  66. data/spec/test_data/v5.1/expected_internal_metadata.rbi +3 -3
  67. data/spec/test_data/v5.1/expected_potion.rbi +3 -3
  68. data/spec/test_data/v5.1/expected_schema_migration.rbi +3 -3
  69. data/spec/test_data/v5.1/expected_spell_book.rbi +3 -3
  70. data/spec/test_data/v5.1/expected_wand.rbi +3 -3
  71. data/spec/test_data/v5.1/expected_wizard.rbi +3 -3
  72. data/spec/test_data/v5.1/expected_wizard_wo_spellbook.rbi +3 -3
  73. data/spec/test_data/v5.2/expected_attachment.rbi +3 -3
  74. data/spec/test_data/v5.2/expected_blob.rbi +3 -3
  75. data/spec/test_data/v5.2/expected_helpers.rbi +1 -1
  76. data/spec/test_data/v5.2/expected_helpers_with_application_and_devise_helpers.rbi +1 -1
  77. data/spec/test_data/v5.2/expected_internal_metadata.rbi +3 -3
  78. data/spec/test_data/v5.2/expected_potion.rbi +3 -3
  79. data/spec/test_data/v5.2/expected_schema_migration.rbi +3 -3
  80. data/spec/test_data/v5.2/expected_spell_book.rbi +3 -3
  81. data/spec/test_data/v5.2/expected_wand.rbi +3 -3
  82. data/spec/test_data/v5.2/expected_wizard.rbi +3 -3
  83. data/spec/test_data/v5.2/expected_wizard_wo_spellbook.rbi +3 -3
  84. data/spec/test_data/v6.0/expected_attachment.rbi +3 -3
  85. data/spec/test_data/v6.0/expected_blob.rbi +3 -3
  86. data/spec/test_data/v6.0/expected_helpers.rbi +1 -1
  87. data/spec/test_data/v6.0/expected_helpers_with_application_and_devise_helpers.rbi +1 -1
  88. data/spec/test_data/v6.0/expected_internal_metadata.rbi +3 -3
  89. data/spec/test_data/v6.0/expected_potion.rbi +3 -3
  90. data/spec/test_data/v6.0/expected_schema_migration.rbi +3 -3
  91. data/spec/test_data/v6.0/expected_spell_book.rbi +3 -3
  92. data/spec/test_data/v6.0/expected_wand.rbi +3 -3
  93. data/spec/test_data/v6.0/expected_wizard.rbi +3 -3
  94. data/spec/test_data/v6.0/expected_wizard_wo_spellbook.rbi +3 -3
  95. metadata +12 -33
  96. data/spec/test_data/v5.2-no-sorbet/expected_attachment.rbi +0 -725
  97. data/spec/test_data/v5.2-no-sorbet/expected_blob.rbi +0 -755
  98. data/spec/test_data/v5.2-no-sorbet/expected_helpers.rbi +0 -22
  99. data/spec/test_data/v5.2-no-sorbet/expected_helpers_with_application_and_devise_helpers.rbi +0 -29
  100. data/spec/test_data/v5.2-no-sorbet/expected_internal_metadata.rbi +0 -749
  101. data/spec/test_data/v5.2-no-sorbet/expected_no_routes.rbi +0 -4
  102. data/spec/test_data/v5.2-no-sorbet/expected_potion.rbi +0 -708
  103. data/spec/test_data/v5.2-no-sorbet/expected_routes.rbi +0 -54
  104. data/spec/test_data/v5.2-no-sorbet/expected_schema_migration.rbi +0 -722
  105. data/spec/test_data/v5.2-no-sorbet/expected_spell_book.rbi +0 -822
  106. data/spec/test_data/v5.2-no-sorbet/expected_srb_tc_output.txt +0 -1
  107. data/spec/test_data/v5.2-no-sorbet/expected_wand.rbi +0 -933
  108. data/spec/test_data/v5.2-no-sorbet/expected_wizard.rbi +0 -885
  109. data/spec/test_data/v5.2-no-sorbet/expected_wizard_wo_spellbook.rbi +0 -885
@@ -1 +0,0 @@
1
- No errors! Great job.
@@ -1,933 +0,0 @@
1
- # This is an autogenerated file for dynamic methods in Wand
2
- # Please rerun rake rails_rbi:models[Wand] to regenerate.
3
-
4
- # typed: strong
5
- module Wand::EnumInstanceMethods
6
- extend T::Sig
7
-
8
- sig { returns(T::Boolean) }
9
- def phoenix_feather?; end
10
-
11
- sig { void }
12
- def phoenix_feather!; end
13
-
14
- sig { returns(T::Boolean) }
15
- def dragon_heartstring?; end
16
-
17
- sig { void }
18
- def dragon_heartstring!; end
19
-
20
- sig { returns(T::Boolean) }
21
- def unicorn_tail_hair?; end
22
-
23
- sig { void }
24
- def unicorn_tail_hair!; end
25
-
26
- sig { returns(T::Boolean) }
27
- def basilisk_horn?; end
28
-
29
- sig { void }
30
- def basilisk_horn!; end
31
- end
32
-
33
- module Wand::ActiveRelation_WhereNot
34
- sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) }
35
- def not(opts, *rest); end
36
- end
37
-
38
- module Wand::GeneratedAttributeMethods
39
- extend T::Sig
40
-
41
- sig { returns(T::Boolean) }
42
- def broken; end
43
-
44
- sig { params(value: T::Boolean).void }
45
- def broken=(value); end
46
-
47
- sig { returns(T::Boolean) }
48
- def broken?; end
49
-
50
- sig { returns(T.nilable(Date)) }
51
- def chosen_at_date; end
52
-
53
- sig { params(value: T.nilable(Date)).void }
54
- def chosen_at_date=(value); end
55
-
56
- sig { returns(T::Boolean) }
57
- def chosen_at_date?; end
58
-
59
- sig { returns(T.nilable(Time)) }
60
- def chosen_at_time; end
61
-
62
- sig { params(value: T.nilable(Time)).void }
63
- def chosen_at_time=(value); end
64
-
65
- sig { returns(T::Boolean) }
66
- def chosen_at_time?; end
67
-
68
- sig { returns(T.nilable(String)) }
69
- def core_type; end
70
-
71
- sig { params(value: T.nilable(T.any(Integer, String, Symbol))).void }
72
- def core_type=(value); end
73
-
74
- sig { returns(T::Boolean) }
75
- def core_type?; end
76
-
77
- sig { returns(DateTime) }
78
- def created_at; end
79
-
80
- sig { params(value: DateTime).void }
81
- def created_at=(value); end
82
-
83
- sig { returns(T::Boolean) }
84
- def created_at?; end
85
-
86
- sig { returns(Float) }
87
- def flexibility; end
88
-
89
- sig { params(value: Float).void }
90
- def flexibility=(value); end
91
-
92
- sig { returns(T::Boolean) }
93
- def flexibility?; end
94
-
95
- sig { returns(BigDecimal) }
96
- def hardness; end
97
-
98
- sig { params(value: BigDecimal).void }
99
- def hardness=(value); end
100
-
101
- sig { returns(T::Boolean) }
102
- def hardness?; end
103
-
104
- sig { returns(Integer) }
105
- def id; end
106
-
107
- sig { params(value: Integer).void }
108
- def id=(value); end
109
-
110
- sig { returns(T::Boolean) }
111
- def id?; end
112
-
113
- sig { returns(T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String)) }
114
- def maker_info; end
115
-
116
- sig { params(value: T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String)).void }
117
- def maker_info=(value); end
118
-
119
- sig { returns(T::Boolean) }
120
- def maker_info?; end
121
-
122
- sig { returns(Integer) }
123
- def reflectance; end
124
-
125
- sig { params(value: Integer).void }
126
- def reflectance=(value); end
127
-
128
- sig { returns(T::Boolean) }
129
- def reflectance?; end
130
-
131
- sig { returns(T.nilable(T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String))) }
132
- def spell_history; end
133
-
134
- sig { params(value: T.nilable(T.any(T::Array[T.untyped], T::Boolean, Float, T::Hash[T.untyped, T.untyped], Integer, String))).void }
135
- def spell_history=(value); end
136
-
137
- sig { returns(T::Boolean) }
138
- def spell_history?; end
139
-
140
- sig { returns(DateTime) }
141
- def updated_at; end
142
-
143
- sig { params(value: DateTime).void }
144
- def updated_at=(value); end
145
-
146
- sig { returns(T::Boolean) }
147
- def updated_at?; end
148
-
149
- sig { returns(Integer) }
150
- def wizard_id; end
151
-
152
- sig { params(value: Integer).void }
153
- def wizard_id=(value); end
154
-
155
- sig { returns(T::Boolean) }
156
- def wizard_id?; end
157
-
158
- sig { returns(T.nilable(String)) }
159
- def wood_type; end
160
-
161
- sig { params(value: T.nilable(String)).void }
162
- def wood_type=(value); end
163
-
164
- sig { returns(T::Boolean) }
165
- def wood_type?; end
166
- end
167
-
168
- module Wand::GeneratedAssociationMethods
169
- extend T::Sig
170
-
171
- sig { returns(::Wizard) }
172
- def wizard; end
173
-
174
- sig { params(value: ::Wizard).void }
175
- def wizard=(value); end
176
- end
177
-
178
- module Wand::CustomFinderMethods
179
- sig { params(limit: Integer).returns(T::Array[Wand]) }
180
- def first_n(limit); end
181
-
182
- sig { params(limit: Integer).returns(T::Array[Wand]) }
183
- def last_n(limit); end
184
-
185
- sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[Wand]) }
186
- def find_n(*args); end
187
-
188
- sig { params(id: Integer).returns(T.nilable(Wand)) }
189
- def find_by_id(id); end
190
-
191
- sig { params(id: Integer).returns(Wand) }
192
- def find_by_id!(id); end
193
- end
194
-
195
- class Wand < ApplicationRecord
196
- include Wand::EnumInstanceMethods
197
- include Wand::GeneratedAttributeMethods
198
- include Wand::GeneratedAssociationMethods
199
- extend Wand::CustomFinderMethods
200
- extend T::Sig
201
- extend T::Generic
202
-
203
- sig { returns(T::Hash[T.any(String, Symbol), Integer]) }
204
- def self.core_types; end
205
-
206
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
207
- def self.basilisk_horn(*args); end
208
-
209
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
210
- def self.dragon_heartstring(*args); end
211
-
212
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
213
- def self.phoenix_feather(*args); end
214
-
215
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
216
- def self.unicorn_tail_hair(*args); end
217
-
218
- sig { returns(Wand::ActiveRecord_Relation) }
219
- def self.all; end
220
-
221
- sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
222
- def self.unscoped(&block); end
223
-
224
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
225
- def self.select(*args, &block); end
226
-
227
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
228
- def self.order(*args, &block); end
229
-
230
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
231
- def self.reorder(*args, &block); end
232
-
233
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
234
- def self.group(*args, &block); end
235
-
236
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
237
- def self.limit(*args, &block); end
238
-
239
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
240
- def self.offset(*args, &block); end
241
-
242
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
243
- def self.joins(*args, &block); end
244
-
245
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
246
- def self.left_joins(*args, &block); end
247
-
248
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
249
- def self.left_outer_joins(*args, &block); end
250
-
251
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
252
- def self.where(*args, &block); end
253
-
254
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
255
- def self.rewhere(*args, &block); end
256
-
257
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
258
- def self.preload(*args, &block); end
259
-
260
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
261
- def self.eager_load(*args, &block); end
262
-
263
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
264
- def self.includes(*args, &block); end
265
-
266
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
267
- def self.from(*args, &block); end
268
-
269
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
270
- def self.lock(*args, &block); end
271
-
272
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
273
- def self.readonly(*args, &block); end
274
-
275
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
276
- def self.extending(*args, &block); end
277
-
278
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
279
- def self.or(*args, &block); end
280
-
281
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
282
- def self.having(*args, &block); end
283
-
284
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
285
- def self.create_with(*args, &block); end
286
-
287
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
288
- def self.distinct(*args, &block); end
289
-
290
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
291
- def self.references(*args, &block); end
292
-
293
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
294
- def self.none(*args, &block); end
295
-
296
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
297
- def self.unscope(*args, &block); end
298
-
299
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
300
- def self.merge(*args, &block); end
301
-
302
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
303
- def self.except(*args, &block); end
304
-
305
- sig { params(args: T.untyped).returns(Wand) }
306
- def self.find(*args); end
307
-
308
- sig { params(args: T.untyped).returns(T.nilable(Wand)) }
309
- def self.find_by(*args); end
310
-
311
- sig { params(args: T.untyped).returns(Wand) }
312
- def self.find_by!(*args); end
313
-
314
- sig { returns(T.nilable(Wand)) }
315
- def self.first; end
316
-
317
- sig { returns(Wand) }
318
- def self.first!; end
319
-
320
- sig { returns(T.nilable(Wand)) }
321
- def self.second; end
322
-
323
- sig { returns(Wand) }
324
- def self.second!; end
325
-
326
- sig { returns(T.nilable(Wand)) }
327
- def self.third; end
328
-
329
- sig { returns(Wand) }
330
- def self.third!; end
331
-
332
- sig { returns(T.nilable(Wand)) }
333
- def self.third_to_last; end
334
-
335
- sig { returns(Wand) }
336
- def self.third_to_last!; end
337
-
338
- sig { returns(T.nilable(Wand)) }
339
- def self.second_to_last; end
340
-
341
- sig { returns(Wand) }
342
- def self.second_to_last!; end
343
-
344
- sig { returns(T.nilable(Wand)) }
345
- def self.last; end
346
-
347
- sig { returns(Wand) }
348
- def self.last!; end
349
-
350
- sig { params(conditions: T.untyped).returns(T::Boolean) }
351
- def self.exists?(conditions = nil); end
352
-
353
- sig { params(args: T.untyped).returns(T::Boolean) }
354
- def self.any?(*args); end
355
-
356
- sig { params(args: T.untyped).returns(T::Boolean) }
357
- def self.many?(*args); end
358
-
359
- sig { params(args: T.untyped).returns(T::Boolean) }
360
- def self.none?(*args); end
361
-
362
- sig { params(args: T.untyped).returns(T::Boolean) }
363
- def self.one?(*args); end
364
-
365
- sig { returns(T::Array[Wand]) }
366
- def self.mythicals; end
367
- end
368
-
369
- class Wand::ActiveRecord_Relation < ActiveRecord::Relation
370
- include Wand::ActiveRelation_WhereNot
371
- include Wand::CustomFinderMethods
372
- include Enumerable
373
- extend T::Sig
374
- extend T::Generic
375
- Elem = type_member(fixed: Wand)
376
-
377
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
378
- def basilisk_horn(*args); end
379
-
380
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
381
- def dragon_heartstring(*args); end
382
-
383
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
384
- def phoenix_feather(*args); end
385
-
386
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_Relation) }
387
- def unicorn_tail_hair(*args); end
388
-
389
- sig { returns(Wand::ActiveRecord_Relation) }
390
- def all; end
391
-
392
- sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
393
- def unscoped(&block); end
394
-
395
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
396
- def select(*args, &block); end
397
-
398
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
399
- def order(*args, &block); end
400
-
401
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
402
- def reorder(*args, &block); end
403
-
404
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
405
- def group(*args, &block); end
406
-
407
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
408
- def limit(*args, &block); end
409
-
410
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
411
- def offset(*args, &block); end
412
-
413
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
414
- def joins(*args, &block); end
415
-
416
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
417
- def left_joins(*args, &block); end
418
-
419
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
420
- def left_outer_joins(*args, &block); end
421
-
422
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
423
- def where(*args, &block); end
424
-
425
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
426
- def rewhere(*args, &block); end
427
-
428
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
429
- def preload(*args, &block); end
430
-
431
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
432
- def eager_load(*args, &block); end
433
-
434
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
435
- def includes(*args, &block); end
436
-
437
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
438
- def from(*args, &block); end
439
-
440
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
441
- def lock(*args, &block); end
442
-
443
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
444
- def readonly(*args, &block); end
445
-
446
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
447
- def extending(*args, &block); end
448
-
449
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
450
- def or(*args, &block); end
451
-
452
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
453
- def having(*args, &block); end
454
-
455
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
456
- def create_with(*args, &block); end
457
-
458
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
459
- def distinct(*args, &block); end
460
-
461
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
462
- def references(*args, &block); end
463
-
464
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
465
- def none(*args, &block); end
466
-
467
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
468
- def unscope(*args, &block); end
469
-
470
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
471
- def merge(*args, &block); end
472
-
473
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_Relation) }
474
- def except(*args, &block); end
475
-
476
- sig { params(args: T.untyped).returns(Wand) }
477
- def find(*args); end
478
-
479
- sig { params(args: T.untyped).returns(T.nilable(Wand)) }
480
- def find_by(*args); end
481
-
482
- sig { params(args: T.untyped).returns(Wand) }
483
- def find_by!(*args); end
484
-
485
- sig { returns(T.nilable(Wand)) }
486
- def first; end
487
-
488
- sig { returns(Wand) }
489
- def first!; end
490
-
491
- sig { returns(T.nilable(Wand)) }
492
- def second; end
493
-
494
- sig { returns(Wand) }
495
- def second!; end
496
-
497
- sig { returns(T.nilable(Wand)) }
498
- def third; end
499
-
500
- sig { returns(Wand) }
501
- def third!; end
502
-
503
- sig { returns(T.nilable(Wand)) }
504
- def third_to_last; end
505
-
506
- sig { returns(Wand) }
507
- def third_to_last!; end
508
-
509
- sig { returns(T.nilable(Wand)) }
510
- def second_to_last; end
511
-
512
- sig { returns(Wand) }
513
- def second_to_last!; end
514
-
515
- sig { returns(T.nilable(Wand)) }
516
- def last; end
517
-
518
- sig { returns(Wand) }
519
- def last!; end
520
-
521
- sig { params(conditions: T.untyped).returns(T::Boolean) }
522
- def exists?(conditions = nil); end
523
-
524
- sig { params(args: T.untyped).returns(T::Boolean) }
525
- def any?(*args); end
526
-
527
- sig { params(args: T.untyped).returns(T::Boolean) }
528
- def many?(*args); end
529
-
530
- sig { params(args: T.untyped).returns(T::Boolean) }
531
- def none?(*args); end
532
-
533
- sig { params(args: T.untyped).returns(T::Boolean) }
534
- def one?(*args); end
535
-
536
- sig { implementation.params(block: T.proc.params(e: Wand).void).void }
537
- def each(&block); end
538
-
539
- sig { params(level: T.nilable(Integer)).returns(T::Array[Wand]) }
540
- def flatten(level); end
541
-
542
- sig { returns(T::Array[Wand]) }
543
- def to_a; end
544
-
545
- sig do
546
- type_parameters(:U).params(
547
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
548
- )
549
- .returns(T::Array[T.type_parameter(:U)])
550
- end
551
- def map(&blk); end
552
- end
553
-
554
- class Wand::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
555
- include Wand::ActiveRelation_WhereNot
556
- include Wand::CustomFinderMethods
557
- include Enumerable
558
- extend T::Sig
559
- extend T::Generic
560
- Elem = type_member(fixed: Wand)
561
-
562
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
563
- def basilisk_horn(*args); end
564
-
565
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
566
- def dragon_heartstring(*args); end
567
-
568
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
569
- def phoenix_feather(*args); end
570
-
571
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
572
- def unicorn_tail_hair(*args); end
573
-
574
- sig { returns(Wand::ActiveRecord_AssociationRelation) }
575
- def all; end
576
-
577
- sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
578
- def unscoped(&block); end
579
-
580
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
581
- def select(*args, &block); end
582
-
583
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
584
- def order(*args, &block); end
585
-
586
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
587
- def reorder(*args, &block); end
588
-
589
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
590
- def group(*args, &block); end
591
-
592
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
593
- def limit(*args, &block); end
594
-
595
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
596
- def offset(*args, &block); end
597
-
598
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
599
- def joins(*args, &block); end
600
-
601
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
602
- def left_joins(*args, &block); end
603
-
604
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
605
- def left_outer_joins(*args, &block); end
606
-
607
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
608
- def where(*args, &block); end
609
-
610
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
611
- def rewhere(*args, &block); end
612
-
613
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
614
- def preload(*args, &block); end
615
-
616
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
617
- def eager_load(*args, &block); end
618
-
619
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
620
- def includes(*args, &block); end
621
-
622
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
623
- def from(*args, &block); end
624
-
625
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
626
- def lock(*args, &block); end
627
-
628
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
629
- def readonly(*args, &block); end
630
-
631
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
632
- def extending(*args, &block); end
633
-
634
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
635
- def or(*args, &block); end
636
-
637
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
638
- def having(*args, &block); end
639
-
640
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
641
- def create_with(*args, &block); end
642
-
643
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
644
- def distinct(*args, &block); end
645
-
646
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
647
- def references(*args, &block); end
648
-
649
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
650
- def none(*args, &block); end
651
-
652
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
653
- def unscope(*args, &block); end
654
-
655
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
656
- def merge(*args, &block); end
657
-
658
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
659
- def except(*args, &block); end
660
-
661
- sig { params(args: T.untyped).returns(Wand) }
662
- def find(*args); end
663
-
664
- sig { params(args: T.untyped).returns(T.nilable(Wand)) }
665
- def find_by(*args); end
666
-
667
- sig { params(args: T.untyped).returns(Wand) }
668
- def find_by!(*args); end
669
-
670
- sig { returns(T.nilable(Wand)) }
671
- def first; end
672
-
673
- sig { returns(Wand) }
674
- def first!; end
675
-
676
- sig { returns(T.nilable(Wand)) }
677
- def second; end
678
-
679
- sig { returns(Wand) }
680
- def second!; end
681
-
682
- sig { returns(T.nilable(Wand)) }
683
- def third; end
684
-
685
- sig { returns(Wand) }
686
- def third!; end
687
-
688
- sig { returns(T.nilable(Wand)) }
689
- def third_to_last; end
690
-
691
- sig { returns(Wand) }
692
- def third_to_last!; end
693
-
694
- sig { returns(T.nilable(Wand)) }
695
- def second_to_last; end
696
-
697
- sig { returns(Wand) }
698
- def second_to_last!; end
699
-
700
- sig { returns(T.nilable(Wand)) }
701
- def last; end
702
-
703
- sig { returns(Wand) }
704
- def last!; end
705
-
706
- sig { params(conditions: T.untyped).returns(T::Boolean) }
707
- def exists?(conditions = nil); end
708
-
709
- sig { params(args: T.untyped).returns(T::Boolean) }
710
- def any?(*args); end
711
-
712
- sig { params(args: T.untyped).returns(T::Boolean) }
713
- def many?(*args); end
714
-
715
- sig { params(args: T.untyped).returns(T::Boolean) }
716
- def none?(*args); end
717
-
718
- sig { params(args: T.untyped).returns(T::Boolean) }
719
- def one?(*args); end
720
-
721
- sig { implementation.params(block: T.proc.params(e: Wand).void).void }
722
- def each(&block); end
723
-
724
- sig { params(level: T.nilable(Integer)).returns(T::Array[Wand]) }
725
- def flatten(level); end
726
-
727
- sig { returns(T::Array[Wand]) }
728
- def to_a; end
729
-
730
- sig do
731
- type_parameters(:U).params(
732
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
733
- )
734
- .returns(T::Array[T.type_parameter(:U)])
735
- end
736
- def map(&blk); end
737
- end
738
-
739
- class Wand::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
740
- include Wand::CustomFinderMethods
741
- include Enumerable
742
- extend T::Sig
743
- extend T::Generic
744
- Elem = type_member(fixed: Wand)
745
-
746
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
747
- def basilisk_horn(*args); end
748
-
749
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
750
- def dragon_heartstring(*args); end
751
-
752
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
753
- def phoenix_feather(*args); end
754
-
755
- sig { params(args: T.untyped).returns(Wand::ActiveRecord_AssociationRelation) }
756
- def unicorn_tail_hair(*args); end
757
-
758
- sig { returns(Wand::ActiveRecord_AssociationRelation) }
759
- def all; end
760
-
761
- sig { params(block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
762
- def unscoped(&block); end
763
-
764
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
765
- def select(*args, &block); end
766
-
767
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
768
- def order(*args, &block); end
769
-
770
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
771
- def reorder(*args, &block); end
772
-
773
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
774
- def group(*args, &block); end
775
-
776
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
777
- def limit(*args, &block); end
778
-
779
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
780
- def offset(*args, &block); end
781
-
782
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
783
- def joins(*args, &block); end
784
-
785
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
786
- def left_joins(*args, &block); end
787
-
788
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
789
- def left_outer_joins(*args, &block); end
790
-
791
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
792
- def where(*args, &block); end
793
-
794
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
795
- def rewhere(*args, &block); end
796
-
797
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
798
- def preload(*args, &block); end
799
-
800
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
801
- def eager_load(*args, &block); end
802
-
803
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
804
- def includes(*args, &block); end
805
-
806
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
807
- def from(*args, &block); end
808
-
809
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
810
- def lock(*args, &block); end
811
-
812
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
813
- def readonly(*args, &block); end
814
-
815
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
816
- def extending(*args, &block); end
817
-
818
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
819
- def or(*args, &block); end
820
-
821
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
822
- def having(*args, &block); end
823
-
824
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
825
- def create_with(*args, &block); end
826
-
827
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
828
- def distinct(*args, &block); end
829
-
830
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
831
- def references(*args, &block); end
832
-
833
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
834
- def none(*args, &block); end
835
-
836
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
837
- def unscope(*args, &block); end
838
-
839
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
840
- def merge(*args, &block); end
841
-
842
- sig { params(args: T.untyped, block: T.nilable(T.proc.void)).returns(Wand::ActiveRecord_AssociationRelation) }
843
- def except(*args, &block); end
844
-
845
- sig { params(args: T.untyped).returns(Wand) }
846
- def find(*args); end
847
-
848
- sig { params(args: T.untyped).returns(T.nilable(Wand)) }
849
- def find_by(*args); end
850
-
851
- sig { params(args: T.untyped).returns(Wand) }
852
- def find_by!(*args); end
853
-
854
- sig { returns(T.nilable(Wand)) }
855
- def first; end
856
-
857
- sig { returns(Wand) }
858
- def first!; end
859
-
860
- sig { returns(T.nilable(Wand)) }
861
- def second; end
862
-
863
- sig { returns(Wand) }
864
- def second!; end
865
-
866
- sig { returns(T.nilable(Wand)) }
867
- def third; end
868
-
869
- sig { returns(Wand) }
870
- def third!; end
871
-
872
- sig { returns(T.nilable(Wand)) }
873
- def third_to_last; end
874
-
875
- sig { returns(Wand) }
876
- def third_to_last!; end
877
-
878
- sig { returns(T.nilable(Wand)) }
879
- def second_to_last; end
880
-
881
- sig { returns(Wand) }
882
- def second_to_last!; end
883
-
884
- sig { returns(T.nilable(Wand)) }
885
- def last; end
886
-
887
- sig { returns(Wand) }
888
- def last!; end
889
-
890
- sig { params(conditions: T.untyped).returns(T::Boolean) }
891
- def exists?(conditions = nil); end
892
-
893
- sig { params(args: T.untyped).returns(T::Boolean) }
894
- def any?(*args); end
895
-
896
- sig { params(args: T.untyped).returns(T::Boolean) }
897
- def many?(*args); end
898
-
899
- sig { params(args: T.untyped).returns(T::Boolean) }
900
- def none?(*args); end
901
-
902
- sig { params(args: T.untyped).returns(T::Boolean) }
903
- def one?(*args); end
904
-
905
- sig { implementation.params(block: T.proc.params(e: Wand).void).void }
906
- def each(&block); end
907
-
908
- sig { params(level: T.nilable(Integer)).returns(T::Array[Wand]) }
909
- def flatten(level); end
910
-
911
- sig { returns(T::Array[Wand]) }
912
- def to_a; end
913
-
914
- sig do
915
- type_parameters(:U).params(
916
- blk: T.proc.params(arg0: Elem).returns(T.type_parameter(:U)),
917
- )
918
- .returns(T::Array[T.type_parameter(:U)])
919
- end
920
- def map(&blk); end
921
-
922
- sig { params(records: T.any(Wand, T::Array[Wand])).returns(T.self_type) }
923
- def <<(*records); end
924
-
925
- sig { params(records: T.any(Wand, T::Array[Wand])).returns(T.self_type) }
926
- def append(*records); end
927
-
928
- sig { params(records: T.any(Wand, T::Array[Wand])).returns(T.self_type) }
929
- def push(*records); end
930
-
931
- sig { params(records: T.any(Wand, T::Array[Wand])).returns(T.self_type) }
932
- def concat(*records); end
933
- end