lunchmoney 1.4.1 → 1.5.0

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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_and_publish_yard_docs.yml +2 -2
  3. data/.github/workflows/ci.yml +9 -10
  4. data/.github/workflows/rbi-updater.yml +1 -1
  5. data/.github/workflows/release_pipeline.yml +1 -1
  6. data/.rubocop.yml +1 -1
  7. data/.ruby-version +1 -1
  8. data/.toys/.toys.rb +8 -0
  9. data/Gemfile +1 -1
  10. data/Gemfile.lock +76 -60
  11. data/README.md +0 -2
  12. data/SECURITY.md +151 -0
  13. data/bin/check_vcr_version +94 -0
  14. data/lib/lunchmoney/api.rb +25 -38
  15. data/lib/lunchmoney/calls/assets.rb +10 -13
  16. data/lib/lunchmoney/calls/base.rb +59 -7
  17. data/lib/lunchmoney/calls/budgets.rb +22 -25
  18. data/lib/lunchmoney/calls/categories.rb +28 -36
  19. data/lib/lunchmoney/calls/crypto.rb +7 -9
  20. data/lib/lunchmoney/calls/plaid_accounts.rb +7 -9
  21. data/lib/lunchmoney/calls/recurring_expenses.rb +4 -5
  22. data/lib/lunchmoney/calls/tags.rb +3 -4
  23. data/lib/lunchmoney/calls/transactions.rb +28 -36
  24. data/lib/lunchmoney/calls/users.rb +3 -4
  25. data/lib/lunchmoney/configuration.rb +20 -0
  26. data/lib/lunchmoney/objects/object.rb +4 -9
  27. data/lib/lunchmoney/validators.rb +8 -6
  28. data/lib/lunchmoney/version.rb +1 -1
  29. data/lib/lunchmoney.rb +3 -3
  30. data/lunchmoney.gemspec +1 -1
  31. data/sorbet/rbi/annotations/activesupport.rbi +35 -0
  32. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -2
  33. data/sorbet/rbi/gems/{activesupport@7.2.2.1.rbi → activesupport@8.0.2.1.rbi} +1369 -989
  34. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +4 -3
  35. data/sorbet/rbi/gems/{base64@0.2.0.rbi → base64@0.3.0.rbi} +76 -39
  36. data/sorbet/rbi/gems/{benchmark@0.4.0.rbi → benchmark@0.4.1.rbi} +50 -49
  37. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +275 -0
  38. data/sorbet/rbi/gems/{dotenv@3.1.7.rbi → dotenv@3.1.8.rbi} +9 -9
  39. data/sorbet/rbi/gems/{drb@2.2.1.rbi → drb@2.2.3.rbi} +503 -188
  40. data/sorbet/rbi/gems/{faraday-net_http@3.4.0.rbi → faraday-net_http@3.4.1.rbi} +23 -23
  41. data/sorbet/rbi/gems/{faraday@2.12.2.rbi → faraday@2.13.4.rbi} +468 -141
  42. data/sorbet/rbi/gems/{hashdiff@1.1.2.rbi → hashdiff@1.2.0.rbi} +5 -3
  43. data/sorbet/rbi/gems/{json@2.10.2.rbi → json@2.13.2.rbi} +386 -175
  44. data/sorbet/rbi/gems/{kramdown@2.4.0.rbi → kramdown@2.5.1.rbi} +316 -234
  45. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  46. data/sorbet/rbi/gems/{logger@1.6.6.rbi → logger@1.7.0.rbi} +63 -40
  47. data/sorbet/rbi/gems/{parser@3.3.7.1.rbi → parser@3.3.9.0.rbi} +303 -291
  48. data/sorbet/rbi/gems/{rack@3.1.9.rbi → rack@3.2.1.rbi} +712 -547
  49. data/sorbet/rbi/gems/{rake@13.2.1.rbi → rake@13.3.0.rbi} +238 -227
  50. data/sorbet/rbi/gems/{rbi@0.3.1.rbi → rbi@0.3.6.rbi} +1084 -2521
  51. data/sorbet/rbi/gems/{rbs@3.9.0.rbi → rbs@4.0.0.dev.4.rbi} +1336 -419
  52. data/sorbet/rbi/gems/{regexp_parser@2.10.0.rbi → regexp_parser@2.11.2.rbi} +1044 -956
  53. data/sorbet/rbi/gems/require-hooks@0.2.2.rbi +110 -0
  54. data/sorbet/rbi/gems/{rexml@3.4.1.rbi → rexml@3.4.2.rbi} +302 -292
  55. data/sorbet/rbi/gems/{rubocop-ast@1.38.0.rbi → rubocop-ast@1.46.0.rbi} +802 -1016
  56. data/sorbet/rbi/gems/{rubocop-minitest@0.36.0.rbi → rubocop-minitest@0.38.2.rbi} +129 -93
  57. data/sorbet/rbi/gems/{rubocop-rails@2.29.1.rbi → rubocop-rails@2.33.3.rbi} +575 -230
  58. data/sorbet/rbi/gems/{rubocop-shopify@2.15.1.rbi → rubocop-shopify@2.17.1.rbi} +1 -0
  59. data/sorbet/rbi/gems/{rubocop-sorbet@0.8.7.rbi → rubocop-sorbet@0.10.5.rbi} +761 -83
  60. data/sorbet/rbi/gems/{rubocop@1.71.2.rbi → rubocop@1.80.1.rbi} +6543 -3097
  61. data/sorbet/rbi/gems/{spoom@1.6.1.rbi → spoom@1.7.6.rbi} +1179 -2621
  62. data/sorbet/rbi/gems/{tapioca@0.16.11.rbi → tapioca@0.17.7.rbi} +623 -745
  63. data/sorbet/rbi/gems/{thor@1.3.2.rbi → thor@1.4.0.rbi} +88 -67
  64. data/sorbet/rbi/gems/{unicode-display_width@3.1.4.rbi → unicode-display_width@3.1.5.rbi} +5 -5
  65. data/sorbet/rbi/gems/{vcr@6.3.1.rbi → vcr@6.3.1-ce35c236fe48899f02ddf780973b44cdb756c0ee.rbi} +140 -123
  66. metadata +42 -38
  67. data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +0 -78
  68. /data/sorbet/rbi/gems/{connection_pool@2.5.0.rbi → connection_pool@2.5.3.rbi} +0 -0
  69. /data/sorbet/rbi/gems/{language_server-protocol@3.17.0.4.rbi → language_server-protocol@3.17.0.5.rbi} +0 -0
  70. /data/sorbet/rbi/gems/{parallel@1.26.3.rbi → parallel@1.27.0.rbi} +0 -0
@@ -164,23 +164,23 @@ RuboCop::Cop::DatabaseTypeResolvable::POSTGRESQL = T.let(T.unsafe(nil), String)
164
164
 
165
165
  # Common functionality for enforcing a specific superclass.
166
166
  #
167
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#6
167
+ # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#11
168
168
  module RuboCop::Cop::EnforceSuperclass
169
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#19
169
+ # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#24
170
170
  def on_class(node); end
171
171
 
172
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#25
172
+ # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#30
173
173
  def on_send(node); end
174
174
 
175
175
  private
176
176
 
177
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#33
177
+ # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#38
178
178
  def register_offense(offense_node); end
179
179
 
180
180
  class << self
181
181
  # @private
182
182
  #
183
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#7
183
+ # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#12
184
184
  def included(base); end
185
185
  end
186
186
  end
@@ -189,6 +189,10 @@ class RuboCop::Cop::Gemspec::AddRuntimeDependency < ::RuboCop::Cop::Base
189
189
  include ::RuboCop::Rails::MigrationFileSkippable
190
190
  end
191
191
 
192
+ class RuboCop::Cop::Gemspec::AttributeAssignment < ::RuboCop::Cop::Base
193
+ include ::RuboCop::Rails::MigrationFileSkippable
194
+ end
195
+
192
196
  class RuboCop::Cop::Gemspec::DependencyVersion < ::RuboCop::Cop::Base
193
197
  include ::RuboCop::Rails::MigrationFileSkippable
194
198
  end
@@ -225,180 +229,224 @@ end
225
229
  #
226
230
  # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#6
227
231
  module RuboCop::Cop::IndexMethod
228
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#9
232
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#74
229
233
  def on_block(node); end
230
234
 
231
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#33
235
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#99
232
236
  def on_csend(node); end
233
237
 
234
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#9
238
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#87
239
+ def on_itblock(node); end
240
+
241
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#86
235
242
  def on_numblock(node); end
236
243
 
237
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#23
244
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#89
238
245
  def on_send(node); end
239
246
 
240
247
  private
241
248
 
242
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#97
249
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#167
243
250
  def execute_correction(corrector, node, correction); end
244
251
 
245
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#74
252
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#144
246
253
  def extract_captures(match); end
247
254
 
248
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#61
255
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#127
249
256
  def handle_possible_offense(node, match, match_desc); end
250
257
 
251
258
  # @raise [NotImplementedError]
252
259
  #
253
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#79
260
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#149
254
261
  def new_method_name; end
255
262
 
256
263
  # @abstract Implemented with `def_node_matcher`
257
264
  # @raise [NotImplementedError]
258
265
  #
259
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#42
266
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#108
260
267
  def on_bad_each_with_object(_node); end
261
268
 
262
269
  # @abstract Implemented with `def_node_matcher`
263
270
  # @raise [NotImplementedError]
264
271
  #
265
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#57
272
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#123
266
273
  def on_bad_hash_brackets_map(_node); end
267
274
 
268
275
  # @abstract Implemented with `def_node_matcher`
269
276
  # @raise [NotImplementedError]
270
277
  #
271
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#52
278
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#118
272
279
  def on_bad_map_to_h(_node); end
273
280
 
274
281
  # @abstract Implemented with `def_node_matcher`
275
282
  # @raise [NotImplementedError]
276
283
  #
277
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#47
284
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#113
278
285
  def on_bad_to_h(_node); end
279
286
 
280
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#83
287
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#153
281
288
  def prepare_correction(node); end
282
289
  end
283
290
 
284
291
  # Internal helper class to hold autocorrect data
285
292
  #
286
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#117
293
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
287
294
  class RuboCop::Cop::IndexMethod::Autocorrection < ::Struct
288
295
  # Returns the value of attribute block_node
289
296
  #
290
297
  # @return [Object] the current value of block_node
298
+ #
299
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
291
300
  def block_node; end
292
301
 
293
302
  # Sets the attribute block_node
294
303
  #
295
304
  # @param value [Object] the value to set the attribute block_node to.
296
305
  # @return [Object] the newly set value
306
+ #
307
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
297
308
  def block_node=(_); end
298
309
 
299
310
  # Returns the value of attribute leading
300
311
  #
301
312
  # @return [Object] the current value of leading
313
+ #
314
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
302
315
  def leading; end
303
316
 
304
317
  # Sets the attribute leading
305
318
  #
306
319
  # @param value [Object] the value to set the attribute leading to.
307
320
  # @return [Object] the newly set value
321
+ #
322
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
308
323
  def leading=(_); end
309
324
 
310
325
  # Returns the value of attribute match
311
326
  #
312
327
  # @return [Object] the current value of match
328
+ #
329
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
313
330
  def match; end
314
331
 
315
332
  # Sets the attribute match
316
333
  #
317
334
  # @param value [Object] the value to set the attribute match to.
318
335
  # @return [Object] the newly set value
336
+ #
337
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
319
338
  def match=(_); end
320
339
 
321
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#157
340
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#60
322
341
  def set_new_arg_name(transformed_argname, corrector); end
323
342
 
324
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#163
343
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#66
325
344
  def set_new_body_expression(transforming_body_expr, corrector); end
326
345
 
327
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#148
346
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#51
328
347
  def set_new_method_name(new_method_name, corrector); end
329
348
 
330
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#142
349
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#45
331
350
  def strip_prefix_and_suffix(node, corrector); end
332
351
 
333
352
  # Returns the value of attribute trailing
334
353
  #
335
354
  # @return [Object] the current value of trailing
355
+ #
356
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
336
357
  def trailing; end
337
358
 
338
359
  # Sets the attribute trailing
339
360
  #
340
361
  # @param value [Object] the value to set the attribute trailing to.
341
362
  # @return [Object] the newly set value
363
+ #
364
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
342
365
  def trailing=(_); end
343
366
 
344
367
  class << self
368
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
345
369
  def [](*_arg0); end
346
370
 
347
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#118
371
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#21
348
372
  def from_each_with_object(node, match); end
349
373
 
350
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#138
374
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#41
351
375
  def from_hash_brackets_map(node, match); end
352
376
 
353
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#126
377
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#29
354
378
  def from_map_to_h(node, match); end
355
379
 
356
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#122
380
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#25
357
381
  def from_to_h(node, match); end
358
382
 
383
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
359
384
  def inspect; end
385
+
386
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
360
387
  def keyword_init?; end
388
+
389
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
361
390
  def members; end
391
+
392
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#20
362
393
  def new(*_arg0); end
363
394
  end
364
395
  end
365
396
 
366
397
  # Internal helper class to hold match data
367
398
  #
368
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#107
399
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
369
400
  class RuboCop::Cop::IndexMethod::Captures < ::Struct
370
401
  # @return [Boolean]
371
402
  #
372
- # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#111
403
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#14
373
404
  def noop_transformation?; end
374
405
 
375
406
  # Returns the value of attribute transformed_argname
376
407
  #
377
408
  # @return [Object] the current value of transformed_argname
409
+ #
410
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
378
411
  def transformed_argname; end
379
412
 
380
413
  # Sets the attribute transformed_argname
381
414
  #
382
415
  # @param value [Object] the value to set the attribute transformed_argname to.
383
416
  # @return [Object] the newly set value
417
+ #
418
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
384
419
  def transformed_argname=(_); end
385
420
 
386
421
  # Returns the value of attribute transforming_body_expr
387
422
  #
388
423
  # @return [Object] the current value of transforming_body_expr
424
+ #
425
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
389
426
  def transforming_body_expr; end
390
427
 
391
428
  # Sets the attribute transforming_body_expr
392
429
  #
393
430
  # @param value [Object] the value to set the attribute transforming_body_expr to.
394
431
  # @return [Object] the newly set value
432
+ #
433
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
395
434
  def transforming_body_expr=(_); end
396
435
 
397
436
  class << self
437
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
398
438
  def [](*_arg0); end
439
+
440
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
399
441
  def inspect; end
442
+
443
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
400
444
  def keyword_init?; end
445
+
446
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
401
447
  def members; end
448
+
449
+ # source://rubocop-rails//lib/rubocop/cop/mixin/index_method.rb#10
402
450
  def new(*_arg0); end
403
451
  end
404
452
  end
@@ -500,6 +548,10 @@ class RuboCop::Cop::Layout::EmptyLines < ::RuboCop::Cop::Base
500
548
  include ::RuboCop::Rails::MigrationFileSkippable
501
549
  end
502
550
 
551
+ class RuboCop::Cop::Layout::EmptyLinesAfterModuleInclusion < ::RuboCop::Cop::Base
552
+ include ::RuboCop::Rails::MigrationFileSkippable
553
+ end
554
+
503
555
  class RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier < ::RuboCop::Cop::Base
504
556
  include ::RuboCop::Rails::MigrationFileSkippable
505
557
  end
@@ -899,6 +951,10 @@ class RuboCop::Cop::Lint::ConstantResolution < ::RuboCop::Cop::Base
899
951
  include ::RuboCop::Rails::MigrationFileSkippable
900
952
  end
901
953
 
954
+ class RuboCop::Cop::Lint::CopDirectiveSyntax < ::RuboCop::Cop::Base
955
+ include ::RuboCop::Rails::MigrationFileSkippable
956
+ end
957
+
902
958
  class RuboCop::Cop::Lint::Debugger < ::RuboCop::Cop::Base
903
959
  include ::RuboCop::Rails::MigrationFileSkippable
904
960
  end
@@ -1218,6 +1274,10 @@ class RuboCop::Cop::Lint::RedundantStringCoercion < ::RuboCop::Cop::Base
1218
1274
  include ::RuboCop::Rails::MigrationFileSkippable
1219
1275
  end
1220
1276
 
1277
+ class RuboCop::Cop::Lint::RedundantTypeConversion < ::RuboCop::Cop::Base
1278
+ include ::RuboCop::Rails::MigrationFileSkippable
1279
+ end
1280
+
1221
1281
  class RuboCop::Cop::Lint::RedundantWithIndex < ::RuboCop::Cop::Base
1222
1282
  include ::RuboCop::Rails::MigrationFileSkippable
1223
1283
  end
@@ -1308,6 +1368,10 @@ class RuboCop::Cop::Lint::SuppressedException < ::RuboCop::Cop::Base
1308
1368
  include ::RuboCop::Rails::MigrationFileSkippable
1309
1369
  end
1310
1370
 
1371
+ class RuboCop::Cop::Lint::SuppressedExceptionInNumberConversion < ::RuboCop::Cop::Base
1372
+ include ::RuboCop::Rails::MigrationFileSkippable
1373
+ end
1374
+
1311
1375
  class RuboCop::Cop::Lint::SymbolConversion < ::RuboCop::Cop::Base
1312
1376
  include ::RuboCop::Rails::MigrationFileSkippable
1313
1377
  end
@@ -1388,6 +1452,14 @@ class RuboCop::Cop::Lint::UselessAssignment < ::RuboCop::Cop::Base
1388
1452
  include ::RuboCop::Rails::MigrationFileSkippable
1389
1453
  end
1390
1454
 
1455
+ class RuboCop::Cop::Lint::UselessConstantScoping < ::RuboCop::Cop::Base
1456
+ include ::RuboCop::Rails::MigrationFileSkippable
1457
+ end
1458
+
1459
+ class RuboCop::Cop::Lint::UselessDefaultValueArgument < ::RuboCop::Cop::Base
1460
+ include ::RuboCop::Rails::MigrationFileSkippable
1461
+ end
1462
+
1391
1463
  class RuboCop::Cop::Lint::UselessDefined < ::RuboCop::Cop::Base
1392
1464
  include ::RuboCop::Rails::MigrationFileSkippable
1393
1465
  end
@@ -1404,6 +1476,10 @@ class RuboCop::Cop::Lint::UselessNumericOperation < ::RuboCop::Cop::Base
1404
1476
  include ::RuboCop::Rails::MigrationFileSkippable
1405
1477
  end
1406
1478
 
1479
+ class RuboCop::Cop::Lint::UselessOr < ::RuboCop::Cop::Base
1480
+ include ::RuboCop::Rails::MigrationFileSkippable
1481
+ end
1482
+
1407
1483
  class RuboCop::Cop::Lint::UselessRescue < ::RuboCop::Cop::Base
1408
1484
  include ::RuboCop::Rails::MigrationFileSkippable
1409
1485
  end
@@ -1815,7 +1891,11 @@ class RuboCop::Cop::Naming::MethodParameterName < ::RuboCop::Cop::Base
1815
1891
  include ::RuboCop::Rails::MigrationFileSkippable
1816
1892
  end
1817
1893
 
1818
- class RuboCop::Cop::Naming::PredicateName < ::RuboCop::Cop::Base
1894
+ class RuboCop::Cop::Naming::PredicateMethod < ::RuboCop::Cop::Base
1895
+ include ::RuboCop::Rails::MigrationFileSkippable
1896
+ end
1897
+
1898
+ class RuboCop::Cop::Naming::PredicatePrefix < ::RuboCop::Cop::Base
1819
1899
  include ::RuboCop::Rails::MigrationFileSkippable
1820
1900
  end
1821
1901
 
@@ -2097,7 +2177,7 @@ class RuboCop::Cop::Rails::ActiveRecordAliases < ::RuboCop::Cop::Base
2097
2177
  include ::RuboCop::Rails::MigrationFileSkippable
2098
2178
  extend ::RuboCop::Cop::AutoCorrector
2099
2179
 
2100
- # source://rubocop-rails//lib/rubocop/cop/rails/active_record_aliases.rb#28
2180
+ # source://rubocop-rails//lib/rubocop/cop/rails/active_record_aliases.rb#43
2101
2181
  def on_csend(node); end
2102
2182
 
2103
2183
  # source://rubocop-rails//lib/rubocop/cop/rails/active_record_aliases.rb#28
@@ -2263,7 +2343,7 @@ class RuboCop::Cop::Rails::ActiveSupportAliases < ::RuboCop::Cop::Base
2263
2343
  # source://rubocop-rails//lib/rubocop/cop/rails/active_support_aliases.rb#40
2264
2344
  def ends_with?(param0 = T.unsafe(nil)); end
2265
2345
 
2266
- # source://rubocop-rails//lib/rubocop/cop/rails/active_support_aliases.rb#43
2346
+ # source://rubocop-rails//lib/rubocop/cop/rails/active_support_aliases.rb#57
2267
2347
  def on_csend(node); end
2268
2348
 
2269
2349
  # source://rubocop-rails//lib/rubocop/cop/rails/active_support_aliases.rb#43
@@ -2439,10 +2519,10 @@ class RuboCop::Cop::Rails::ApplicationController < ::RuboCop::Cop::Base
2439
2519
  include ::RuboCop::Cop::EnforceSuperclass
2440
2520
  extend ::RuboCop::Cop::AutoCorrector
2441
2521
 
2442
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#8
2522
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_controller.rb#31
2443
2523
  def class_definition(param0 = T.unsafe(nil)); end
2444
2524
 
2445
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#12
2525
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_controller.rb#31
2446
2526
  def class_new_definition(param0 = T.unsafe(nil)); end
2447
2527
  end
2448
2528
 
@@ -2479,10 +2559,10 @@ class RuboCop::Cop::Rails::ApplicationJob < ::RuboCop::Cop::Base
2479
2559
  # source://rubocop-rails//lib/rubocop/cop/rails/application_job.rb#37
2480
2560
  def autocorrect(node); end
2481
2561
 
2482
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#8
2562
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_job.rb#34
2483
2563
  def class_definition(param0 = T.unsafe(nil)); end
2484
2564
 
2485
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#12
2565
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_job.rb#34
2486
2566
  def class_new_definition(param0 = T.unsafe(nil)); end
2487
2567
  end
2488
2568
 
@@ -2516,10 +2596,10 @@ class RuboCop::Cop::Rails::ApplicationMailer < ::RuboCop::Cop::Base
2516
2596
  extend ::RuboCop::Cop::AutoCorrector
2517
2597
  extend ::RuboCop::Cop::TargetRailsVersion
2518
2598
 
2519
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#8
2599
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_mailer.rb#34
2520
2600
  def class_definition(param0 = T.unsafe(nil)); end
2521
2601
 
2522
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#12
2602
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_mailer.rb#34
2523
2603
  def class_new_definition(param0 = T.unsafe(nil)); end
2524
2604
  end
2525
2605
 
@@ -2557,10 +2637,10 @@ class RuboCop::Cop::Rails::ApplicationRecord < ::RuboCop::Cop::Base
2557
2637
  extend ::RuboCop::Cop::AutoCorrector
2558
2638
  extend ::RuboCop::Cop::TargetRailsVersion
2559
2639
 
2560
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#8
2640
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_record.rb#39
2561
2641
  def class_definition(param0 = T.unsafe(nil)); end
2562
2642
 
2563
- # source://rubocop-rails//lib/rubocop/cop/mixin/enforce_superclass.rb#12
2643
+ # source://rubocop-rails//lib/rubocop/cop/rails/application_record.rb#39
2564
2644
  def class_new_definition(param0 = T.unsafe(nil)); end
2565
2645
  end
2566
2646
 
@@ -2575,9 +2655,9 @@ RuboCop::Cop::Rails::ApplicationRecord::SUPERCLASS = T.let(T.unsafe(nil), String
2575
2655
 
2576
2656
  # Prevents usage of `"*"` on an Arel::Table column reference.
2577
2657
  #
2578
- # Using `arel_table["*"]` causes the outputted string to be a literal
2579
- # quoted asterisk (e.g. <tt>`my_model`.`*`</tt>). This causes the
2580
- # database to look for a column named <tt>`*`</tt> (or `"*"`) as opposed
2658
+ # Using `arel_table["\*"]` causes the outputted string to be a literal
2659
+ # quoted asterisk (e.g. `my_model`.`*`). This causes the
2660
+ # database to look for a column named `\*` (or `"*"`) as opposed
2581
2661
  # to expanding the column list as one would likely expect.
2582
2662
  #
2583
2663
  # @example
@@ -3375,7 +3455,7 @@ class RuboCop::Cop::Rails::Date < ::RuboCop::Cop::Base
3375
3455
  # source://rubocop-rails//lib/rubocop/cop/rails/date.rb#73
3376
3456
  def on_const(node); end
3377
3457
 
3378
- # source://rubocop-rails//lib/rubocop/cop/rails/date.rb#81
3458
+ # source://rubocop-rails//lib/rubocop/cop/rails/date.rb#90
3379
3459
  def on_csend(node); end
3380
3460
 
3381
3461
  # source://rubocop-rails//lib/rubocop/cop/rails/date.rb#81
@@ -3506,6 +3586,9 @@ RuboCop::Cop::Rails::DefaultScope::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array
3506
3586
  # without using the `delegate` method will be a violation.
3507
3587
  # When set to `false`, this case is legal.
3508
3588
  #
3589
+ # It is disabled for controllers in order to keep controller actions
3590
+ # explicitly defined.
3591
+ #
3509
3592
  # @example
3510
3593
  # # bad
3511
3594
  # def bar
@@ -3550,54 +3633,75 @@ RuboCop::Cop::Rails::DefaultScope::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array
3550
3633
  # # good
3551
3634
  # delegate :bar, to: :foo, prefix: true
3552
3635
  #
3553
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#63
3636
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#66
3554
3637
  class RuboCop::Cop::Rails::Delegate < ::RuboCop::Cop::Base
3555
3638
  include ::RuboCop::Rails::MigrationFileSkippable
3556
3639
  include ::RuboCop::Cop::VisibilityHelp
3557
3640
  extend ::RuboCop::Cop::AutoCorrector
3558
3641
 
3559
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#69
3642
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#72
3560
3643
  def delegate?(param0 = T.unsafe(nil)); end
3561
3644
 
3562
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#74
3645
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#77
3563
3646
  def on_def(node); end
3564
3647
 
3565
3648
  private
3566
3649
 
3567
3650
  # @return [Boolean]
3568
3651
  #
3569
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#102
3652
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#131
3570
3653
  def arguments_match?(arg_array, body); end
3571
3654
 
3655
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#110
3656
+ def build_delegation(node, receiver); end
3657
+
3658
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#155
3659
+ def determine_prefixed_method_receiver_name(receiver); end
3660
+
3661
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#96
3662
+ def determine_register_offense_receiver(receiver); end
3663
+
3664
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#116
3665
+ def full_const_name(node); end
3666
+
3572
3667
  # @return [Boolean]
3573
3668
  #
3574
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#116
3669
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#145
3575
3670
  def include_prefix_case?; end
3576
3671
 
3577
3672
  # @return [Boolean]
3578
3673
  #
3579
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#112
3674
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#141
3580
3675
  def method_name_matches?(method_name, body); end
3581
3676
 
3582
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#120
3677
+ # @return [Boolean]
3678
+ #
3679
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#170
3680
+ def module_function_declared?(node); end
3681
+
3682
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#149
3583
3683
  def prefixed_method_name(body); end
3584
3684
 
3585
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#126
3586
- def private_or_protected_delegation(node); end
3685
+ # @return [Boolean]
3686
+ #
3687
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#166
3688
+ def private_or_protected_delegation?(node); end
3587
3689
 
3588
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#130
3589
- def private_or_protected_inline(node); end
3690
+ # @return [Boolean]
3691
+ #
3692
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#176
3693
+ def private_or_protected_inline?(node); end
3590
3694
 
3591
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#83
3695
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#87
3592
3696
  def register_offense(node); end
3593
3697
 
3594
3698
  # @return [Boolean]
3595
3699
  #
3596
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#96
3700
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#125
3597
3701
  def trivial_delegate?(def_node); end
3598
3702
  end
3599
3703
 
3600
- # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#67
3704
+ # source://rubocop-rails//lib/rubocop/cop/rails/delegate.rb#70
3601
3705
  RuboCop::Cop::Rails::Delegate::MSG = T.let(T.unsafe(nil), String)
3602
3706
 
3603
3707
  # Looks for delegations that pass :allow_blank as an option
@@ -3980,7 +4084,7 @@ class RuboCop::Cop::Rails::DynamicFindBy < ::RuboCop::Cop::Base
3980
4084
  include ::RuboCop::Cop::ActiveRecordHelper
3981
4085
  extend ::RuboCop::Cop::AutoCorrector
3982
4086
 
3983
- # source://rubocop-rails//lib/rubocop/cop/rails/dynamic_find_by.rb#50
4087
+ # source://rubocop-rails//lib/rubocop/cop/rails/dynamic_find_by.rb#63
3984
4088
  def on_csend(node); end
3985
4089
 
3986
4090
  # source://rubocop-rails//lib/rubocop/cop/rails/dynamic_find_by.rb#50
@@ -4083,10 +4187,10 @@ class RuboCop::Cop::Rails::EagerEvaluationLogMessage < ::RuboCop::Cop::Base
4083
4187
 
4084
4188
  private
4085
4189
 
4086
- # source://rubocop-rails//lib/rubocop/cop/rails/eager_evaluation_log_message.rb#61
4190
+ # source://rubocop-rails//lib/rubocop/cop/rails/eager_evaluation_log_message.rb#59
4087
4191
  def replacement_range(node); end
4088
4192
 
4089
- # source://rubocop-rails//lib/rubocop/cop/rails/eager_evaluation_log_message.rb#72
4193
+ # source://rubocop-rails//lib/rubocop/cop/rails/eager_evaluation_log_message.rb#70
4090
4194
  def replacement_source(node, arguments); end
4091
4195
 
4092
4196
  class << self
@@ -4311,17 +4415,25 @@ class RuboCop::Cop::Rails::EnvLocal < ::RuboCop::Cop::Base
4311
4415
  extend ::RuboCop::Cop::AutoCorrector
4312
4416
  extend ::RuboCop::Cop::TargetRailsVersion
4313
4417
 
4418
+ # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#33
4419
+ def not_rails_env_local?(param0 = T.unsafe(nil)); end
4420
+
4314
4421
  # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#57
4315
4422
  def on_and(node); end
4316
4423
 
4317
- # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#47
4424
+ # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#37
4318
4425
  def on_or(node); end
4319
4426
 
4320
- # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#36
4321
- def rails_env_local_and?(param0 = T.unsafe(nil)); end
4322
-
4323
4427
  # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#28
4324
- def rails_env_local_or?(param0 = T.unsafe(nil)); end
4428
+ def rails_env_local?(param0 = T.unsafe(nil)); end
4429
+
4430
+ private
4431
+
4432
+ # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#79
4433
+ def environments(nodes); end
4434
+
4435
+ # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#87
4436
+ def offense_range(nodes); end
4325
4437
  end
4326
4438
 
4327
4439
  # source://rubocop-rails//lib/rubocop/cop/rails/env_local.rb#23
@@ -4586,6 +4698,9 @@ RuboCop::Cop::Rails::ExpandedDateRange::PREFERRED_METHODS = T.let(T.unsafe(nil),
4586
4698
  # Identifies usages of file path joining process to use `Rails.root.join` clause.
4587
4699
  # It is used to add uniformity when joining paths.
4588
4700
  #
4701
+ # NOTE: This cop ignores leading slashes in string literal arguments for `Rails.root.join`
4702
+ # and multiple slashes in string literal arguments for `Rails.root.join` and `File.join`.
4703
+ #
4589
4704
  # @example EnforcedStyle: slashes (default)
4590
4705
  # # bad
4591
4706
  # Rails.root.join('app', 'models', 'goober')
@@ -4613,116 +4728,141 @@ RuboCop::Cop::Rails::ExpandedDateRange::PREFERRED_METHODS = T.let(T.unsafe(nil),
4613
4728
  # # good
4614
4729
  # Rails.root.join('app', 'models', 'goober').to_s
4615
4730
  #
4616
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#37
4731
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#40
4617
4732
  class RuboCop::Cop::Rails::FilePath < ::RuboCop::Cop::Base
4618
4733
  include ::RuboCop::Rails::MigrationFileSkippable
4619
4734
  include ::RuboCop::Cop::ConfigurableEnforcedStyle
4620
4735
  include ::RuboCop::Cop::RangeHelp
4621
4736
  extend ::RuboCop::Cop::AutoCorrector
4622
4737
 
4623
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#47
4738
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#50
4624
4739
  def file_join_nodes?(param0 = T.unsafe(nil)); end
4625
4740
 
4626
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#59
4741
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#62
4627
4742
  def on_dstr(node); end
4628
4743
 
4629
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#67
4744
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#70
4630
4745
  def on_send(node); end
4631
4746
 
4632
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#55
4747
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#58
4633
4748
  def rails_root_join_nodes?(param0 = T.unsafe(nil)); end
4634
4749
 
4635
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#51
4750
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#54
4636
4751
  def rails_root_nodes?(param0); end
4637
4752
 
4638
4753
  private
4639
4754
 
4640
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#246
4755
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#275
4641
4756
  def append_argument(corrector, node, argument_source); end
4642
4757
 
4643
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#208
4758
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#237
4644
4759
  def append_to_string_conversion(corrector, node); end
4645
4760
 
4646
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#167
4761
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#196
4647
4762
  def autocorrect_extension_after_rails_root_join_in_dstr(corrector, node, rails_root_index, extension_node); end
4648
4763
 
4649
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#175
4764
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#204
4650
4765
  def autocorrect_file_join(corrector, node); end
4651
4766
 
4652
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#227
4767
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#256
4653
4768
  def autocorrect_rails_root_join_with_slash_separated_path(corrector, node); end
4654
4769
 
4655
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#212
4770
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#241
4656
4771
  def autocorrect_rails_root_join_with_string_arguments(corrector, node); end
4657
4772
 
4658
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#156
4773
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#185
4659
4774
  def autocorrect_slash_after_rails_root_in_dstr(corrector, node, rails_root_index); end
4660
4775
 
4661
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#143
4776
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#172
4662
4777
  def build_message(require_to_s); end
4663
4778
 
4664
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#88
4779
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#91
4665
4780
  def check_for_extension_after_rails_root_join_in_dstr(node); end
4666
4781
 
4667
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#98
4782
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#101
4668
4783
  def check_for_file_join_with_rails_root(node); end
4669
4784
 
4670
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#119
4785
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#121
4671
4786
  def check_for_rails_root_join_with_slash_separated_path(node); end
4672
4787
 
4673
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#107
4788
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#110
4674
4789
  def check_for_rails_root_join_with_string_arguments(node); end
4675
4790
 
4676
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#77
4791
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#80
4677
4792
  def check_for_slash_after_rails_root_in_dstr(node); end
4678
4793
 
4679
4794
  # @return [Boolean]
4680
4795
  #
4681
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#150
4796
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#179
4682
4797
  def dstr_separated_by_colon?(node); end
4683
4798
 
4684
4799
  # @return [Boolean]
4685
4800
  #
4686
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#258
4801
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#287
4687
4802
  def extension_node?(node); end
4688
4803
 
4689
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#254
4804
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#283
4690
4805
  def extract_rails_root_join_argument_source(node, rails_root_index); end
4691
4806
 
4692
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#242
4807
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#271
4693
4808
  def find_rails_root_index(node); end
4694
4809
 
4695
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#238
4810
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#267
4696
4811
  def inner_range_of(node); end
4697
4812
 
4698
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#198
4813
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#227
4699
4814
  def process_arguments(corrector, arguments); end
4700
4815
 
4701
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#134
4816
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#163
4702
4817
  def register_offense(node, require_to_s:, &block); end
4703
4818
 
4704
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#186
4819
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#215
4705
4820
  def remove_first_argument_with_comma(corrector, node); end
4706
4821
 
4707
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#182
4822
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#211
4708
4823
  def replace_receiver_with_rails_root(corrector, node); end
4709
4824
 
4710
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#250
4825
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#279
4711
4826
  def replace_with_rails_root_join(corrector, node, argument_source); end
4712
4827
 
4713
4828
  # @return [Boolean]
4714
4829
  #
4715
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#130
4716
- def string_with_slash?(node); end
4830
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#155
4831
+ def string_contains_multiple_slashes?(node); end
4832
+
4833
+ # @return [Boolean]
4834
+ #
4835
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#151
4836
+ def string_contains_slash?(node); end
4837
+
4838
+ # @return [Boolean]
4839
+ #
4840
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#159
4841
+ def string_with_leading_slash?(node); end
4842
+
4843
+ # @return [Boolean]
4844
+ #
4845
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#132
4846
+ def valid_arguments_for_file_join_with_rails_root?(arguments); end
4847
+
4848
+ # @return [Boolean]
4849
+ #
4850
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#145
4851
+ def valid_slash_separated_path_for_rails_root_join?(arguments); end
4852
+
4853
+ # @return [Boolean]
4854
+ #
4855
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#138
4856
+ def valid_string_arguments_for_rails_root_join?(arguments); end
4717
4857
  end
4718
4858
 
4719
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#44
4859
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#47
4720
4860
  RuboCop::Cop::Rails::FilePath::MSG_ARGUMENTS = T.let(T.unsafe(nil), String)
4721
4861
 
4722
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#43
4862
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#46
4723
4863
  RuboCop::Cop::Rails::FilePath::MSG_SLASHES = T.let(T.unsafe(nil), String)
4724
4864
 
4725
- # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#45
4865
+ # source://rubocop-rails//lib/rubocop/cop/rails/file_path.rb#48
4726
4866
  RuboCop::Cop::Rails::FilePath::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
4727
4867
 
4728
4868
  # Identifies usages of `where.take` and change them to use `find_by` instead.
@@ -4751,7 +4891,7 @@ class RuboCop::Cop::Rails::FindBy < ::RuboCop::Cop::Base
4751
4891
  include ::RuboCop::Cop::RangeHelp
4752
4892
  extend ::RuboCop::Cop::AutoCorrector
4753
4893
 
4754
- # source://rubocop-rails//lib/rubocop/cop/rails/find_by.rb#34
4894
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by.rb#44
4755
4895
  def on_csend(node); end
4756
4896
 
4757
4897
  # source://rubocop-rails//lib/rubocop/cop/rails/find_by.rb#34
@@ -4804,7 +4944,7 @@ class RuboCop::Cop::Rails::FindById < ::RuboCop::Cop::Base
4804
4944
  # source://rubocop-rails//lib/rubocop/cop/rails/find_by_id.rb#33
4805
4945
  def find_by?(param0 = T.unsafe(nil)); end
4806
4946
 
4807
- # source://rubocop-rails//lib/rubocop/cop/rails/find_by_id.rb#40
4947
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by_id.rb#53
4808
4948
  def on_csend(node); end
4809
4949
 
4810
4950
  # source://rubocop-rails//lib/rubocop/cop/rails/find_by_id.rb#40
@@ -4834,6 +4974,63 @@ RuboCop::Cop::Rails::FindById::MSG = T.let(T.unsafe(nil), String)
4834
4974
  # source://rubocop-rails//lib/rubocop/cop/rails/find_by_id.rb#24
4835
4975
  RuboCop::Cop::Rails::FindById::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
4836
4976
 
4977
+ # Avoid memoizing `find_by` results with `||=`.
4978
+ #
4979
+ # It is common to see code that attempts to memoize `find_by` result by `||=`,
4980
+ # but `find_by` may return `nil`, in which case it is not memoized as intended.
4981
+ #
4982
+ # @example
4983
+ # # bad - exclusively doing memoization
4984
+ # def current_user
4985
+ # @current_user ||= User.find_by(id: session[:user_id])
4986
+ # end
4987
+ #
4988
+ # # good
4989
+ # def current_user
4990
+ # return @current_user if defined?(@current_user)
4991
+ #
4992
+ # @current_user = User.find_by(id: session[:user_id])
4993
+ # end
4994
+ #
4995
+ # # bad - method contains other code
4996
+ # def current_user
4997
+ # @current_user ||= User.find_by(id: session[:user_id])
4998
+ # @current_user.do_something
4999
+ # end
5000
+ #
5001
+ # # good
5002
+ # def current_user
5003
+ # if defined?(@current_user)
5004
+ # @current_user
5005
+ # else
5006
+ # @current_user = User.find_by(id: session[:user_id])
5007
+ # end
5008
+ # @current_user.do_something
5009
+ # end
5010
+ #
5011
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by_or_assignment_memoization.rb#43
5012
+ class RuboCop::Cop::Rails::FindByOrAssignmentMemoization < ::RuboCop::Cop::Base
5013
+ include ::RuboCop::Rails::MigrationFileSkippable
5014
+ extend ::RuboCop::Cop::AutoCorrector
5015
+
5016
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by_or_assignment_memoization.rb#50
5017
+ def find_by_or_assignment_memoization(param0 = T.unsafe(nil)); end
5018
+
5019
+ # When a method body contains only memoization, the correction can be more succinct.
5020
+ #
5021
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by_or_assignment_memoization.rb#58
5022
+ def on_def(node); end
5023
+
5024
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by_or_assignment_memoization.rb#73
5025
+ def on_send(node); end
5026
+ end
5027
+
5028
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by_or_assignment_memoization.rb#46
5029
+ RuboCop::Cop::Rails::FindByOrAssignmentMemoization::MSG = T.let(T.unsafe(nil), String)
5030
+
5031
+ # source://rubocop-rails//lib/rubocop/cop/rails/find_by_or_assignment_memoization.rb#48
5032
+ RuboCop::Cop::Rails::FindByOrAssignmentMemoization::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
5033
+
4837
5034
  # Identifies usages of `all.each` and change them to use `all.find_each` instead.
4838
5035
  #
4839
5036
  # @example
@@ -5711,10 +5908,10 @@ class RuboCop::Cop::Rails::IndexBy < ::RuboCop::Cop::Base
5711
5908
  # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#24
5712
5909
  def on_bad_each_with_object(param0 = T.unsafe(nil)); end
5713
5910
 
5714
- # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#57
5911
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#63
5715
5912
  def on_bad_hash_brackets_map(param0 = T.unsafe(nil)); end
5716
5913
 
5717
- # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#43
5914
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#46
5718
5915
  def on_bad_map_to_h(param0 = T.unsafe(nil)); end
5719
5916
 
5720
5917
  # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#31
@@ -5722,7 +5919,7 @@ class RuboCop::Cop::Rails::IndexBy < ::RuboCop::Cop::Base
5722
5919
 
5723
5920
  private
5724
5921
 
5725
- # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#75
5922
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_by.rb#84
5726
5923
  def new_method_name; end
5727
5924
  end
5728
5925
 
@@ -5741,28 +5938,28 @@ end
5741
5938
  # # good
5742
5939
  # [1, 2, 3].index_with { |el| foo(el) }
5743
5940
  #
5744
- # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#20
5941
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#25
5745
5942
  class RuboCop::Cop::Rails::IndexWith < ::RuboCop::Cop::Base
5746
5943
  include ::RuboCop::Rails::MigrationFileSkippable
5747
5944
  include ::RuboCop::Cop::IndexMethod
5748
5945
  extend ::RuboCop::Cop::AutoCorrector
5749
5946
  extend ::RuboCop::Cop::TargetRailsVersion
5750
5947
 
5751
- # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#27
5948
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#32
5752
5949
  def on_bad_each_with_object(param0 = T.unsafe(nil)); end
5753
5950
 
5754
- # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#60
5951
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#71
5755
5952
  def on_bad_hash_brackets_map(param0 = T.unsafe(nil)); end
5756
5953
 
5757
- # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#46
5954
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#54
5758
5955
  def on_bad_map_to_h(param0 = T.unsafe(nil)); end
5759
5956
 
5760
- # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#34
5957
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#39
5761
5958
  def on_bad_to_h(param0 = T.unsafe(nil)); end
5762
5959
 
5763
5960
  private
5764
5961
 
5765
- # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#78
5962
+ # source://rubocop-rails//lib/rubocop/cop/rails/index_with.rb#92
5766
5963
  def new_method_name; end
5767
5964
  end
5768
5965
 
@@ -5789,7 +5986,7 @@ end
5789
5986
  class RuboCop::Cop::Rails::Inquiry < ::RuboCop::Cop::Base
5790
5987
  include ::RuboCop::Rails::MigrationFileSkippable
5791
5988
 
5792
- # source://rubocop-rails//lib/rubocop/cop/rails/inquiry.rb#29
5989
+ # source://rubocop-rails//lib/rubocop/cop/rails/inquiry.rb#36
5793
5990
  def on_csend(node); end
5794
5991
 
5795
5992
  # source://rubocop-rails//lib/rubocop/cop/rails/inquiry.rb#29
@@ -6089,6 +6286,9 @@ class RuboCop::Cop::Rails::LexicallyScopedActionFilter < ::RuboCop::Cop::Base
6089
6286
  include ::RuboCop::Rails::MigrationFileSkippable
6090
6287
 
6091
6288
  # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#118
6289
+ def delegated_methods(param0 = T.unsafe(nil)); end
6290
+
6291
+ # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#122
6092
6292
  def on_send(node); end
6093
6293
 
6094
6294
  # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#107
@@ -6096,26 +6296,29 @@ class RuboCop::Cop::Rails::LexicallyScopedActionFilter < ::RuboCop::Cop::Base
6096
6296
 
6097
6297
  private
6098
6298
 
6099
- # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#154
6299
+ # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#164
6100
6300
  def alias_methods(node); end
6101
6301
 
6102
- # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#145
6302
+ # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#155
6103
6303
  def aliased_action_methods(node, defined_methods); end
6104
6304
 
6105
6305
  # @param node [RuboCop::AST::Node]
6106
6306
  # @return [Array<Symbol>]
6107
6307
  #
6108
- # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#171
6308
+ # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#181
6109
6309
  def array_values(node); end
6110
6310
 
6111
- # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#138
6311
+ # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#142
6112
6312
  def defined_action_methods(block); end
6113
6313
 
6314
+ # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#149
6315
+ def delegated_action_methods(node); end
6316
+
6114
6317
  # @param methods [Array<String>]
6115
6318
  # @param parent [RuboCop::AST::Node]
6116
6319
  # @return [String]
6117
6320
  #
6118
- # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#194
6321
+ # source://rubocop-rails//lib/rubocop/cop/rails/lexically_scoped_action_filter.rb#204
6119
6322
  def message(methods, parent); end
6120
6323
  end
6121
6324
 
@@ -6474,7 +6677,7 @@ class RuboCop::Cop::Rails::NotNullColumn < ::RuboCop::Cop::Base
6474
6677
  # source://rubocop-rails//lib/rubocop/cop/rails/not_null_column.rb#89
6475
6678
  def on_block(node); end
6476
6679
 
6477
- # source://rubocop-rails//lib/rubocop/cop/rails/not_null_column.rb#89
6680
+ # source://rubocop-rails//lib/rubocop/cop/rails/not_null_column.rb#92
6478
6681
  def on_numblock(node); end
6479
6682
 
6480
6683
  # source://rubocop-rails//lib/rubocop/cop/rails/not_null_column.rb#84
@@ -6519,6 +6722,60 @@ RuboCop::Cop::Rails::NotNullColumn::TEXT_TYPE_VALUES = T.let(T.unsafe(nil), Arra
6519
6722
  # source://rubocop-rails//lib/rubocop/cop/rails/not_null_column.rb#49
6520
6723
  RuboCop::Cop::Rails::NotNullColumn::VIRTUAL_TYPE_VALUES = T.let(T.unsafe(nil), Array)
6521
6724
 
6725
+ # Prefer symbol arguments over strings in `order` method.
6726
+ #
6727
+ # @example
6728
+ # # bad
6729
+ # User.order('name')
6730
+ # User.order('name DESC')
6731
+ #
6732
+ # # good
6733
+ # User.order(:name)
6734
+ # User.order(name: :desc)
6735
+ #
6736
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#20
6737
+ class RuboCop::Cop::Rails::OrderArguments < ::RuboCop::Cop::Base
6738
+ include ::RuboCop::Rails::MigrationFileSkippable
6739
+ extend ::RuboCop::Cop::AutoCorrector
6740
+
6741
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#42
6742
+ def on_csend(node); end
6743
+
6744
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#33
6745
+ def on_send(node); end
6746
+
6747
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#27
6748
+ def string_order(param0 = T.unsafe(nil)); end
6749
+
6750
+ private
6751
+
6752
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#60
6753
+ def convert_to_preferred_arguments(order_expressions); end
6754
+
6755
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#76
6756
+ def extract_column_and_direction(order_expression); end
6757
+
6758
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#46
6759
+ def find_offense_range(node); end
6760
+
6761
+ # @return [Boolean]
6762
+ #
6763
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#72
6764
+ def positional_column?(column_name); end
6765
+
6766
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#50
6767
+ def replacement(order_expressions); end
6768
+ end
6769
+
6770
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#23
6771
+ RuboCop::Cop::Rails::OrderArguments::MSG = T.let(T.unsafe(nil), String)
6772
+
6773
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#31
6774
+ RuboCop::Cop::Rails::OrderArguments::ORDER_EXPRESSION_REGEX = T.let(T.unsafe(nil), Regexp)
6775
+
6776
+ # source://rubocop-rails//lib/rubocop/cop/rails/order_arguments.rb#25
6777
+ RuboCop::Cop::Rails::OrderArguments::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
6778
+
6522
6779
  # Checks for places where ordering by `id` column is used.
6523
6780
  #
6524
6781
  # Don't use the `id` column for ordering. The sequence of ids is not guaranteed
@@ -6576,29 +6833,26 @@ class RuboCop::Cop::Rails::Output < ::RuboCop::Cop::Base
6576
6833
  include ::RuboCop::Cop::RangeHelp
6577
6834
  extend ::RuboCop::Cop::AutoCorrector
6578
6835
 
6579
- # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#32
6836
+ # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#31
6580
6837
  def io_output?(param0 = T.unsafe(nil)); end
6581
6838
 
6582
6839
  # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#42
6583
6840
  def on_send(node); end
6584
6841
 
6585
- # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#28
6842
+ # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#27
6586
6843
  def output?(param0 = T.unsafe(nil)); end
6587
6844
 
6588
6845
  private
6589
6846
 
6590
6847
  # @return [Boolean]
6591
6848
  #
6592
- # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#55
6849
+ # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#57
6593
6850
  def match_gvar?(sym); end
6594
6851
 
6595
- # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#59
6852
+ # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#61
6596
6853
  def offense_range(node); end
6597
6854
  end
6598
6855
 
6599
- # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#26
6600
- RuboCop::Cop::Rails::Output::ALLOWED_TYPES = T.let(T.unsafe(nil), Array)
6601
-
6602
6856
  # source://rubocop-rails//lib/rubocop/cop/rails/output.rb#24
6603
6857
  RuboCop::Cop::Rails::Output::MSG = T.let(T.unsafe(nil), String)
6604
6858
 
@@ -6672,7 +6926,7 @@ class RuboCop::Cop::Rails::OutputSafety < ::RuboCop::Cop::Base
6672
6926
  # source://rubocop-rails//lib/rubocop/cop/rails/output_safety.rb#69
6673
6927
  def i18n_method?(param0); end
6674
6928
 
6675
- # source://rubocop-rails//lib/rubocop/cop/rails/output_safety.rb#73
6929
+ # source://rubocop-rails//lib/rubocop/cop/rails/output_safety.rb#82
6676
6930
  def on_csend(node); end
6677
6931
 
6678
6932
  # source://rubocop-rails//lib/rubocop/cop/rails/output_safety.rb#73
@@ -6732,7 +6986,7 @@ class RuboCop::Cop::Rails::Pick < ::RuboCop::Cop::Base
6732
6986
  extend ::RuboCop::Cop::AutoCorrector
6733
6987
  extend ::RuboCop::Cop::TargetRailsVersion
6734
6988
 
6735
- # source://rubocop-rails//lib/rubocop/cop/rails/pick.rb#44
6989
+ # source://rubocop-rails//lib/rubocop/cop/rails/pick.rb#59
6736
6990
  def on_csend(node); end
6737
6991
 
6738
6992
  # source://rubocop-rails//lib/rubocop/cop/rails/pick.rb#44
@@ -6777,6 +7031,9 @@ RuboCop::Cop::Rails::Pick::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
6777
7031
  # end
6778
7032
  # ----
6779
7033
  #
7034
+ # If a method call has no receiver, like `do_something { users.map { |user| user[:foo] }`,
7035
+ # it is not considered part of an iteration and will be detected.
7036
+ #
6780
7037
  # @example
6781
7038
  # # bad
6782
7039
  # Post.published.map { |post| post[:title] }
@@ -6786,44 +7043,47 @@ RuboCop::Cop::Rails::Pick::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
6786
7043
  # Post.published.pluck(:title)
6787
7044
  # [{ a: :b, c: :d }].pluck(:a)
6788
7045
  #
6789
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#50
7046
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#53
6790
7047
  class RuboCop::Cop::Rails::Pluck < ::RuboCop::Cop::Base
6791
7048
  include ::RuboCop::Rails::MigrationFileSkippable
6792
7049
  extend ::RuboCop::Cop::AutoCorrector
6793
7050
  extend ::RuboCop::Cop::TargetRailsVersion
6794
7051
 
6795
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#62
7052
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#66
6796
7053
  def on_block(node); end
6797
7054
 
6798
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#62
7055
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#87
7056
+ def on_itblock(node); end
7057
+
7058
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#86
6799
7059
  def on_numblock(node); end
6800
7060
 
6801
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#58
7061
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#61
6802
7062
  def pluck_candidate?(param0 = T.unsafe(nil)); end
6803
7063
 
6804
7064
  private
6805
7065
 
6806
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#108
7066
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#117
6807
7067
  def message(replacement, node); end
6808
7068
 
6809
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#95
7069
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#104
6810
7070
  def offense_range(node); end
6811
7071
 
6812
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#99
7072
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#108
6813
7073
  def register_offense(node, key); end
6814
7074
 
6815
7075
  # @return [Boolean]
6816
7076
  #
6817
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#89
7077
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#98
6818
7078
  def use_block_argument_in_key?(block_argument, key); end
6819
7079
 
6820
7080
  # @return [Boolean]
6821
7081
  #
6822
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#83
7082
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#91
6823
7083
  def use_one_block_argument?(argument); end
6824
7084
  end
6825
7085
 
6826
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#54
7086
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck.rb#57
6827
7087
  RuboCop::Cop::Rails::Pluck::MSG = T.let(T.unsafe(nil), String)
6828
7088
 
6829
7089
  # Enforces the use of `ids` over `pluck(:id)` and `pluck(primary_key)`.
@@ -6852,7 +7112,7 @@ class RuboCop::Cop::Rails::PluckId < ::RuboCop::Cop::Base
6852
7112
  include ::RuboCop::Cop::ActiveRecordHelper
6853
7113
  extend ::RuboCop::Cop::AutoCorrector
6854
7114
 
6855
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck_id.rb#40
7115
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck_id.rb#50
6856
7116
  def on_csend(node); end
6857
7117
 
6858
7118
  # source://rubocop-rails//lib/rubocop/cop/rails/pluck_id.rb#40
@@ -6908,7 +7168,7 @@ class RuboCop::Cop::Rails::PluckInWhere < ::RuboCop::Cop::Base
6908
7168
  include ::RuboCop::Cop::ConfigurableEnforcedStyle
6909
7169
  extend ::RuboCop::Cop::AutoCorrector
6910
7170
 
6911
- # source://rubocop-rails//lib/rubocop/cop/rails/pluck_in_where.rb#59
7171
+ # source://rubocop-rails//lib/rubocop/cop/rails/pluck_in_where.rb#77
6912
7172
  def on_csend(node); end
6913
7173
 
6914
7174
  # source://rubocop-rails//lib/rubocop/cop/rails/pluck_in_where.rb#59
@@ -7628,8 +7888,10 @@ class RuboCop::Cop::Rails::RedundantPresenceValidationOnBelongsTo < ::RuboCop::C
7628
7888
  # source://rubocop-rails//lib/rubocop/cop/rails/redundant_presence_validation_on_belongs_to.rb#191
7629
7889
  def add_offense_and_correct(node, all_keys, keys, options, presence); end
7630
7890
 
7891
+ # @return [Boolean]
7892
+ #
7631
7893
  # source://rubocop-rails//lib/rubocop/cop/rails/redundant_presence_validation_on_belongs_to.rb#219
7632
- def belongs_to_for(model_class_node, key); end
7894
+ def belongs_to_for?(model_class_node, key); end
7633
7895
 
7634
7896
  # source://rubocop-rails//lib/rubocop/cop/rails/redundant_presence_validation_on_belongs_to.rb#251
7635
7897
  def extract_validation_for_keys(corrector, node, keys, options); end
@@ -7730,28 +7992,31 @@ class RuboCop::Cop::Rails::RedundantReceiverInWithOptions < ::RuboCop::Cop::Base
7730
7992
  # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#71
7731
7993
  def on_block(node); end
7732
7994
 
7733
- # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#71
7995
+ # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#88
7996
+ def on_itblock(node); end
7997
+
7998
+ # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#87
7734
7999
  def on_numblock(node); end
7735
8000
 
7736
8001
  private
7737
8002
 
7738
- # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#91
8003
+ # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#92
7739
8004
  def autocorrect(corrector, send_node, node); end
7740
8005
 
7741
- # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#110
8006
+ # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#115
7742
8007
  def block_argument_range(node); end
7743
8008
 
7744
8009
  # @return [Boolean]
7745
8010
  #
7746
- # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#97
8011
+ # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#99
7747
8012
  def redundant_receiver?(send_nodes, node); end
7748
8013
 
7749
8014
  # @return [Boolean]
7750
8015
  #
7751
- # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#132
8016
+ # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#137
7752
8017
  def same_value?(arg_node, recv_node); end
7753
8018
 
7754
- # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#122
8019
+ # source://rubocop-rails//lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb#127
7755
8020
  def search_begin_pos_of_space_before_block_argument(begin_pos); end
7756
8021
  end
7757
8022
 
@@ -8353,7 +8618,10 @@ class RuboCop::Cop::Rails::ReversibleMigration < ::RuboCop::Cop::Base
8353
8618
  # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#199
8354
8619
  def on_block(node); end
8355
8620
 
8356
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#199
8621
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#208
8622
+ def on_itblock(node); end
8623
+
8624
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#207
8357
8625
  def on_numblock(node); end
8358
8626
 
8359
8627
  # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#186
@@ -8375,49 +8643,49 @@ class RuboCop::Cop::Rails::ReversibleMigration < ::RuboCop::Cop::Base
8375
8643
 
8376
8644
  # @return [Boolean]
8377
8645
  #
8378
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#316
8646
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#317
8379
8647
  def all_hash_key?(args, *keys); end
8380
8648
 
8381
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#247
8649
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#248
8382
8650
  def check_change_table_node(node, block); end
8383
8651
 
8384
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#277
8652
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#278
8385
8653
  def check_change_table_offense(receiver, node); end
8386
8654
 
8387
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#217
8655
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#218
8388
8656
  def check_drop_table_node(node); end
8389
8657
 
8390
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#211
8658
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#212
8391
8659
  def check_irreversible_schema_statement_node(node); end
8392
8660
 
8393
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#233
8661
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#234
8394
8662
  def check_remove_column_node(node); end
8395
8663
 
8396
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#259
8664
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#260
8397
8665
  def check_remove_columns_node(node); end
8398
8666
 
8399
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#239
8667
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#240
8400
8668
  def check_remove_foreign_key_node(node); end
8401
8669
 
8402
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#269
8670
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#270
8403
8671
  def check_remove_index_node(node); end
8404
8672
 
8405
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#227
8673
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#228
8406
8674
  def check_reversible_hash_node(node); end
8407
8675
 
8408
8676
  # @return [Boolean]
8409
8677
  #
8410
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#290
8678
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#291
8411
8679
  def reversible_change_table_call?(node); end
8412
8680
 
8413
8681
  # @return [Boolean]
8414
8682
  #
8415
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#304
8683
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#305
8416
8684
  def within_change_method?(node); end
8417
8685
 
8418
8686
  # @return [Boolean]
8419
8687
  #
8420
- # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#310
8688
+ # source://rubocop-rails//lib/rubocop/cop/rails/reversible_migration.rb#311
8421
8689
  def within_reversible_or_up_only_block?(node); end
8422
8690
  end
8423
8691
 
@@ -8872,7 +9140,7 @@ class RuboCop::Cop::Rails::SaveBang < ::RuboCop::Cop::Base
8872
9140
  # source://rubocop-rails//lib/rubocop/cop/rails/save_bang.rb#144
8873
9141
  def check_assignment(assignment); end
8874
9142
 
8875
- # source://rubocop-rails//lib/rubocop/cop/rails/save_bang.rb#155
9143
+ # source://rubocop-rails//lib/rubocop/cop/rails/save_bang.rb#167
8876
9144
  def on_csend(node); end
8877
9145
 
8878
9146
  # source://rubocop-rails//lib/rubocop/cop/rails/save_bang.rb#155
@@ -8901,8 +9169,10 @@ class RuboCop::Cop::Rails::SaveBang < ::RuboCop::Cop::Base
8901
9169
  # source://rubocop-rails//lib/rubocop/cop/rails/save_bang.rb#198
8902
9170
  def call_to_persisted?(node); end
8903
9171
 
9172
+ # @return [Boolean]
9173
+ #
8904
9174
  # source://rubocop-rails//lib/rubocop/cop/rails/save_bang.rb#230
8905
- def check_used_in_condition_or_compound_boolean(node); end
9175
+ def check_used_in_condition_or_compound_boolean?(node); end
8906
9176
 
8907
9177
  # @return [Boolean]
8908
9178
  #
@@ -9141,7 +9411,7 @@ class RuboCop::Cop::Rails::SelectMap < ::RuboCop::Cop::Base
9141
9411
  include ::RuboCop::Rails::MigrationFileSkippable
9142
9412
  extend ::RuboCop::Cop::AutoCorrector
9143
9413
 
9144
- # source://rubocop-rails//lib/rubocop/cop/rails/select_map.rb#29
9414
+ # source://rubocop-rails//lib/rubocop/cop/rails/select_map.rb#43
9145
9415
  def on_csend(node); end
9146
9416
 
9147
9417
  # source://rubocop-rails//lib/rubocop/cop/rails/select_map.rb#29
@@ -9268,7 +9538,7 @@ class RuboCop::Cop::Rails::SkipsModelValidations < ::RuboCop::Cop::Base
9268
9538
  # source://rubocop-rails//lib/rubocop/cop/rails/skips_model_validations.rb#61
9269
9539
  def good_touch?(param0 = T.unsafe(nil)); end
9270
9540
 
9271
- # source://rubocop-rails//lib/rubocop/cop/rails/skips_model_validations.rb#75
9541
+ # source://rubocop-rails//lib/rubocop/cop/rails/skips_model_validations.rb#84
9272
9542
  def on_csend(node); end
9273
9543
 
9274
9544
  # source://rubocop-rails//lib/rubocop/cop/rails/skips_model_validations.rb#75
@@ -9434,7 +9704,7 @@ class RuboCop::Cop::Rails::StrongParametersExpect < ::RuboCop::Cop::Base
9434
9704
  extend ::RuboCop::Cop::AutoCorrector
9435
9705
  extend ::RuboCop::Cop::TargetRailsVersion
9436
9706
 
9437
- # source://rubocop-rails//lib/rubocop/cop/rails/strong_parameters_expect.rb#46
9707
+ # source://rubocop-rails//lib/rubocop/cop/rails/strong_parameters_expect.rb#73
9438
9708
  def on_csend(node); end
9439
9709
 
9440
9710
  # source://rubocop-rails//lib/rubocop/cop/rails/strong_parameters_expect.rb#46
@@ -9588,7 +9858,7 @@ class RuboCop::Cop::Rails::TimeZone < ::RuboCop::Cop::Base
9588
9858
  # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#61
9589
9859
  def on_const(node); end
9590
9860
 
9591
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#70
9861
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#78
9592
9862
  def on_csend(node); end
9593
9863
 
9594
9864
  # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#70
@@ -9596,7 +9866,7 @@ class RuboCop::Cop::Rails::TimeZone < ::RuboCop::Cop::Base
9596
9866
 
9597
9867
  private
9598
9868
 
9599
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#230
9869
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#232
9600
9870
  def acceptable_methods(klass, method_name, node); end
9601
9871
 
9602
9872
  # @return [Boolean]
@@ -9610,24 +9880,24 @@ class RuboCop::Cop::Rails::TimeZone < ::RuboCop::Cop::Base
9610
9880
  # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#99
9611
9881
  def autocorrect_time_new(node, corrector); end
9612
9882
 
9613
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#141
9883
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#143
9614
9884
  def build_message(klass, method_name, node); end
9615
9885
 
9616
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#190
9886
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#192
9617
9887
  def check_localtime(node); end
9618
9888
 
9619
9889
  # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#119
9620
9890
  def check_time_node(klass, node); end
9621
9891
 
9622
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#154
9892
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#156
9623
9893
  def extract_method_chain(node); end
9624
9894
 
9625
9895
  # @return [Boolean]
9626
9896
  #
9627
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#214
9897
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#216
9628
9898
  def flexible?; end
9629
9899
 
9630
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#222
9900
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#224
9631
9901
  def good_methods; end
9632
9902
 
9633
9903
  # Only add the method to the chain if the method being
@@ -9635,7 +9905,7 @@ class RuboCop::Cop::Rails::TimeZone < ::RuboCop::Cop::Base
9635
9905
  #
9636
9906
  # @return [Boolean]
9637
9907
  #
9638
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#165
9908
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#167
9639
9909
  def method_from_time_class?(node); end
9640
9910
 
9641
9911
  # checks that parent node of send_type
@@ -9643,22 +9913,22 @@ class RuboCop::Cop::Rails::TimeZone < ::RuboCop::Cop::Base
9643
9913
  #
9644
9914
  # @return [Boolean]
9645
9915
  #
9646
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#176
9916
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#178
9647
9917
  def method_send?(node); end
9648
9918
 
9649
9919
  # @return [Boolean]
9650
9920
  #
9651
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#210
9921
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#212
9652
9922
  def need_check_localtime?(chain); end
9653
9923
 
9654
9924
  # @return [Boolean]
9655
9925
  #
9656
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#206
9926
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#208
9657
9927
  def not_danger_chain?(chain); end
9658
9928
 
9659
9929
  # @return [Boolean]
9660
9930
  #
9661
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#253
9931
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#255
9662
9932
  def offset_option_provided?(node); end
9663
9933
 
9664
9934
  # Time.new, Time.at, and Time.now can be called with a time zone offset
@@ -9668,7 +9938,7 @@ class RuboCop::Cop::Rails::TimeZone < ::RuboCop::Cop::Base
9668
9938
  #
9669
9939
  # @return [Boolean]
9670
9940
  #
9671
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#244
9941
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#246
9672
9942
  def offset_provided?(node); end
9673
9943
 
9674
9944
  # remove redundant `.in_time_zone` from `Time.zone.now.in_time_zone`
@@ -9676,15 +9946,15 @@ class RuboCop::Cop::Rails::TimeZone < ::RuboCop::Cop::Base
9676
9946
  # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#106
9677
9947
  def remove_redundant_in_time_zone(corrector, node); end
9678
9948
 
9679
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#261
9949
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#263
9680
9950
  def replacement(node); end
9681
9951
 
9682
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#182
9952
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#184
9683
9953
  def safe_method(method_name, node); end
9684
9954
 
9685
9955
  # @return [Boolean]
9686
9956
  #
9687
- # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#218
9957
+ # source://rubocop-rails//lib/rubocop/cop/rails/time_zone.rb#220
9688
9958
  def strict?; end
9689
9959
  end
9690
9960
 
@@ -9772,7 +10042,7 @@ class RuboCop::Cop::Rails::ToFormattedS < ::RuboCop::Cop::Base
9772
10042
  extend ::RuboCop::Cop::AutoCorrector
9773
10043
  extend ::RuboCop::Cop::TargetRailsVersion
9774
10044
 
9775
- # source://rubocop-rails//lib/rubocop/cop/rails/to_formatted_s.rb#35
10045
+ # source://rubocop-rails//lib/rubocop/cop/rails/to_formatted_s.rb#42
9776
10046
  def on_csend(node); end
9777
10047
 
9778
10048
  # source://rubocop-rails//lib/rubocop/cop/rails/to_formatted_s.rb#35
@@ -9801,7 +10071,7 @@ class RuboCop::Cop::Rails::ToSWithArgument < ::RuboCop::Cop::Base
9801
10071
  extend ::RuboCop::Cop::AutoCorrector
9802
10072
  extend ::RuboCop::Cop::TargetRailsVersion
9803
10073
 
9804
- # source://rubocop-rails//lib/rubocop/cop/rails/to_s_with_argument.rb#61
10074
+ # source://rubocop-rails//lib/rubocop/cop/rails/to_s_with_argument.rb#68
9805
10075
  def on_csend(node); end
9806
10076
 
9807
10077
  # source://rubocop-rails//lib/rubocop/cop/rails/to_s_with_argument.rb#61
@@ -9950,20 +10220,20 @@ class RuboCop::Cop::Rails::TransactionExitStatement < ::RuboCop::Cop::Base
9950
10220
 
9951
10221
  # @return [Boolean]
9952
10222
  #
9953
- # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#115
10223
+ # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#118
9954
10224
  def nested_block?(statement_node); end
9955
10225
 
9956
- # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#105
10226
+ # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#108
9957
10227
  def statement(statement_node); end
9958
10228
 
9959
10229
  # @return [Boolean]
9960
10230
  #
9961
- # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#124
10231
+ # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#127
9962
10232
  def transaction_method?(method_name); end
9963
10233
 
9964
10234
  # @return [Boolean]
9965
10235
  #
9966
- # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#120
10236
+ # source://rubocop-rails//lib/rubocop/cop/rails/transaction_exit_statement.rb#123
9967
10237
  def transaction_method_name?(method_name); end
9968
10238
  end
9969
10239
 
@@ -10016,36 +10286,21 @@ class RuboCop::Cop::Rails::UniqBeforePluck < ::RuboCop::Cop::Base
10016
10286
  include ::RuboCop::Cop::RangeHelp
10017
10287
  extend ::RuboCop::Cop::AutoCorrector
10018
10288
 
10019
- # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#59
10020
- def aggressive_node_match(param0 = T.unsafe(nil)); end
10021
-
10022
10289
  # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#57
10023
- def conservative_node_match(param0 = T.unsafe(nil)); end
10024
-
10025
- # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#61
10026
10290
  def on_send(node); end
10027
10291
 
10028
- private
10029
-
10030
- # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#77
10031
- def autocorrect(corrector, node); end
10292
+ # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#55
10293
+ def uniq_before_pluck(param0 = T.unsafe(nil)); end
10032
10294
 
10033
- # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#92
10034
- def dot_method_begin_pos(method, node); end
10295
+ private
10035
10296
 
10036
- # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#88
10037
- def dot_method_with_whitespace(method, node); end
10297
+ # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#69
10298
+ def autocorrect(corrector, uniq_node, pluck_node); end
10038
10299
  end
10039
10300
 
10040
10301
  # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#52
10041
10302
  RuboCop::Cop::Rails::UniqBeforePluck::MSG = T.let(T.unsafe(nil), String)
10042
10303
 
10043
- # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#54
10044
- RuboCop::Cop::Rails::UniqBeforePluck::NEWLINE = T.let(T.unsafe(nil), String)
10045
-
10046
- # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#55
10047
- RuboCop::Cop::Rails::UniqBeforePluck::PATTERN = T.let(T.unsafe(nil), String)
10048
-
10049
10304
  # source://rubocop-rails//lib/rubocop/cop/rails/uniq_before_pluck.rb#53
10050
10305
  RuboCop::Cop::Rails::UniqBeforePluck::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
10051
10306
 
@@ -10225,7 +10480,7 @@ class RuboCop::Cop::Rails::UnusedIgnoredColumns < ::RuboCop::Cop::Base
10225
10480
  # source://rubocop-rails//lib/rubocop/cop/rails/unused_ignored_columns.rb#33
10226
10481
  def ignored_columns(param0 = T.unsafe(nil)); end
10227
10482
 
10228
- # source://rubocop-rails//lib/rubocop/cop/rails/unused_ignored_columns.rb#45
10483
+ # source://rubocop-rails//lib/rubocop/cop/rails/unused_ignored_columns.rb#56
10229
10484
  def on_op_asgn(node); end
10230
10485
 
10231
10486
  # source://rubocop-rails//lib/rubocop/cop/rails/unused_ignored_columns.rb#45
@@ -10400,7 +10655,7 @@ class RuboCop::Cop::Rails::WhereEquals < ::RuboCop::Cop::Base
10400
10655
  include ::RuboCop::Cop::RangeHelp
10401
10656
  extend ::RuboCop::Cop::AutoCorrector
10402
10657
 
10403
- # source://rubocop-rails//lib/rubocop/cop/rails/where_equals.rb#44
10658
+ # source://rubocop-rails//lib/rubocop/cop/rails/where_equals.rb#63
10404
10659
  def on_csend(node); end
10405
10660
 
10406
10661
  # source://rubocop-rails//lib/rubocop/cop/rails/where_equals.rb#44
@@ -10496,9 +10751,9 @@ class RuboCop::Cop::Rails::WhereExists < ::RuboCop::Cop::Base
10496
10751
  extend ::RuboCop::Cop::AutoCorrector
10497
10752
 
10498
10753
  # source://rubocop-rails//lib/rubocop/cop/rails/where_exists.rb#61
10499
- def exists_with_args?(param0 = T.unsafe(nil)); end
10754
+ def exists_with_arg?(param0 = T.unsafe(nil)); end
10500
10755
 
10501
- # source://rubocop-rails//lib/rubocop/cop/rails/where_exists.rb#65
10756
+ # source://rubocop-rails//lib/rubocop/cop/rails/where_exists.rb#78
10502
10757
  def on_csend(node); end
10503
10758
 
10504
10759
  # source://rubocop-rails//lib/rubocop/cop/rails/where_exists.rb#65
@@ -10531,8 +10786,10 @@ class RuboCop::Cop::Rails::WhereExists < ::RuboCop::Cop::Base
10531
10786
  # source://rubocop-rails//lib/rubocop/cop/rails/where_exists.rb#86
10532
10787
  def exists_style?; end
10533
10788
 
10789
+ # @return [Boolean]
10790
+ #
10534
10791
  # source://rubocop-rails//lib/rubocop/cop/rails/where_exists.rb#90
10535
- def find_offenses(node, &block); end
10792
+ def find_offenses?(node, &block); end
10536
10793
 
10537
10794
  # @return [Boolean]
10538
10795
  #
@@ -10641,7 +10898,7 @@ class RuboCop::Cop::Rails::WhereNot < ::RuboCop::Cop::Base
10641
10898
  include ::RuboCop::Cop::RangeHelp
10642
10899
  extend ::RuboCop::Cop::AutoCorrector
10643
10900
 
10644
- # source://rubocop-rails//lib/rubocop/cop/rails/where_not.rb#40
10901
+ # source://rubocop-rails//lib/rubocop/cop/rails/where_not.rb#57
10645
10902
  def on_csend(node); end
10646
10903
 
10647
10904
  # source://rubocop-rails//lib/rubocop/cop/rails/where_not.rb#40
@@ -10902,6 +11159,10 @@ class RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias < ::RuboCop::Cop::Ba
10902
11159
  include ::RuboCop::Rails::MigrationFileSkippable
10903
11160
  end
10904
11161
 
11162
+ class RuboCop::Cop::Sorbet::BlockMethodDefinition < ::RuboCop::Cop::Base
11163
+ include ::RuboCop::Rails::MigrationFileSkippable
11164
+ end
11165
+
10905
11166
  class RuboCop::Cop::Sorbet::BuggyObsoleteStrictMemoization < ::RuboCop::Cop::Base
10906
11167
  include ::RuboCop::Rails::MigrationFileSkippable
10907
11168
  end
@@ -10910,6 +11171,10 @@ class RuboCop::Cop::Sorbet::CallbackConditionalsBinding < ::RuboCop::Cop::Base
10910
11171
  include ::RuboCop::Rails::MigrationFileSkippable
10911
11172
  end
10912
11173
 
11174
+ class RuboCop::Cop::Sorbet::CapitalizedTypeParameters < ::RuboCop::Cop::Base
11175
+ include ::RuboCop::Rails::MigrationFileSkippable
11176
+ end
11177
+
10913
11178
  class RuboCop::Cop::Sorbet::CheckedTrueInSignature < ::RuboCop::Cop::Base
10914
11179
  include ::RuboCop::Rails::MigrationFileSkippable
10915
11180
  end
@@ -10943,18 +11208,62 @@ class RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral < ::RuboCop::Cop::Base
10943
11208
  include ::RuboCop::Rails::MigrationFileSkippable
10944
11209
  end
10945
11210
 
11211
+ class RuboCop::Cop::Sorbet::ForbidMixesInClassMethods < ::RuboCop::Cop::Base
11212
+ include ::RuboCop::Rails::MigrationFileSkippable
11213
+ end
11214
+
10946
11215
  class RuboCop::Cop::Sorbet::ForbidRBIOutsideOfAllowedPaths < ::RuboCop::Cop::Base
10947
11216
  include ::RuboCop::Rails::MigrationFileSkippable
10948
11217
  end
10949
11218
 
11219
+ class RuboCop::Cop::Sorbet::ForbidSig < ::RuboCop::Cop::Base
11220
+ include ::RuboCop::Rails::MigrationFileSkippable
11221
+ end
11222
+
11223
+ class RuboCop::Cop::Sorbet::ForbidSigWithRuntime < ::RuboCop::Cop::Base
11224
+ include ::RuboCop::Rails::MigrationFileSkippable
11225
+ end
11226
+
11227
+ class RuboCop::Cop::Sorbet::ForbidSigWithoutRuntime < ::RuboCop::Cop::Base
11228
+ include ::RuboCop::Rails::MigrationFileSkippable
11229
+ end
11230
+
10950
11231
  class RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral < ::RuboCop::Cop::Base
10951
11232
  include ::RuboCop::Rails::MigrationFileSkippable
10952
11233
  end
10953
11234
 
11235
+ class RuboCop::Cop::Sorbet::ForbidTAbsurd < ::RuboCop::Cop::Base
11236
+ include ::RuboCop::Rails::MigrationFileSkippable
11237
+ end
11238
+
11239
+ class RuboCop::Cop::Sorbet::ForbidTBind < ::RuboCop::Cop::Base
11240
+ include ::RuboCop::Rails::MigrationFileSkippable
11241
+ end
11242
+
11243
+ class RuboCop::Cop::Sorbet::ForbidTCast < ::RuboCop::Cop::Base
11244
+ include ::RuboCop::Rails::MigrationFileSkippable
11245
+ end
11246
+
11247
+ class RuboCop::Cop::Sorbet::ForbidTEnum < ::RuboCop::Cop::Base
11248
+ include ::RuboCop::Rails::MigrationFileSkippable
11249
+ end
11250
+
11251
+ class RuboCop::Cop::Sorbet::ForbidTLet < ::RuboCop::Cop::Base
11252
+ include ::RuboCop::Rails::MigrationFileSkippable
11253
+ end
11254
+
11255
+ class RuboCop::Cop::Sorbet::ForbidTMust < ::RuboCop::Cop::Base
11256
+ include ::RuboCop::Rails::MigrationFileSkippable
11257
+ end
11258
+
10954
11259
  class RuboCop::Cop::Sorbet::ForbidTStruct < ::RuboCop::Cop::Base
10955
11260
  include ::RuboCop::Rails::MigrationFileSkippable
10956
11261
  end
10957
11262
 
11263
+ class RuboCop::Cop::Sorbet::ForbidTTypeAlias < ::RuboCop::Cop::Base
11264
+ include ::RuboCop::Rails::MigrationFileSkippable
11265
+ end
11266
+
10958
11267
  class RuboCop::Cop::Sorbet::ForbidTUnsafe < ::RuboCop::Cop::Base
10959
11268
  include ::RuboCop::Rails::MigrationFileSkippable
10960
11269
  end
@@ -10998,6 +11307,10 @@ class RuboCop::Cop::Sorbet::Refinement < ::RuboCop::Cop::Base
10998
11307
  include ::RuboCop::Rails::MigrationFileSkippable
10999
11308
  end
11000
11309
 
11310
+ class RuboCop::Cop::Sorbet::SelectByIsA < ::RuboCop::Cop::Base
11311
+ include ::RuboCop::Rails::MigrationFileSkippable
11312
+ end
11313
+
11001
11314
  class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Base
11002
11315
  include ::RuboCop::Rails::MigrationFileSkippable
11003
11316
  end
@@ -11148,6 +11461,10 @@ class RuboCop::Cop::Style::CollectionMethods < ::RuboCop::Cop::Base
11148
11461
  include ::RuboCop::Rails::MigrationFileSkippable
11149
11462
  end
11150
11463
 
11464
+ class RuboCop::Cop::Style::CollectionQuerying < ::RuboCop::Cop::Base
11465
+ include ::RuboCop::Rails::MigrationFileSkippable
11466
+ end
11467
+
11151
11468
  class RuboCop::Cop::Style::ColonMethodCall < ::RuboCop::Cop::Base
11152
11469
  include ::RuboCop::Rails::MigrationFileSkippable
11153
11470
  end
@@ -11176,6 +11493,10 @@ class RuboCop::Cop::Style::CommentedKeyword < ::RuboCop::Cop::Base
11176
11493
  include ::RuboCop::Rails::MigrationFileSkippable
11177
11494
  end
11178
11495
 
11496
+ class RuboCop::Cop::Style::ComparableBetween < ::RuboCop::Cop::Base
11497
+ include ::RuboCop::Rails::MigrationFileSkippable
11498
+ end
11499
+
11179
11500
  class RuboCop::Cop::Style::ComparableClamp < ::RuboCop::Cop::Base
11180
11501
  include ::RuboCop::Rails::MigrationFileSkippable
11181
11502
  end
@@ -11281,6 +11602,10 @@ class RuboCop::Cop::Style::EmptyMethod < ::RuboCop::Cop::Base
11281
11602
  include ::RuboCop::Rails::MigrationFileSkippable
11282
11603
  end
11283
11604
 
11605
+ class RuboCop::Cop::Style::EmptyStringInsideInterpolation < ::RuboCop::Cop::Base
11606
+ include ::RuboCop::Rails::MigrationFileSkippable
11607
+ end
11608
+
11284
11609
  class RuboCop::Cop::Style::Encoding < ::RuboCop::Cop::Base
11285
11610
  include ::RuboCop::Rails::MigrationFileSkippable
11286
11611
  end
@@ -11396,6 +11721,10 @@ class RuboCop::Cop::Style::HashExcept < ::RuboCop::Cop::Base
11396
11721
  include ::RuboCop::Cop::RangeHelp
11397
11722
  end
11398
11723
 
11724
+ class RuboCop::Cop::Style::HashFetchChain < ::RuboCop::Cop::Base
11725
+ include ::RuboCop::Rails::MigrationFileSkippable
11726
+ end
11727
+
11399
11728
  class RuboCop::Cop::Style::HashLikeCase < ::RuboCop::Cop::Base
11400
11729
  include ::RuboCop::Rails::MigrationFileSkippable
11401
11730
  end
@@ -11476,6 +11805,10 @@ class RuboCop::Cop::Style::ItAssignment < ::RuboCop::Cop::Base
11476
11805
  include ::RuboCop::Rails::MigrationFileSkippable
11477
11806
  end
11478
11807
 
11808
+ class RuboCop::Cop::Style::ItBlockParameter < ::RuboCop::Cop::Base
11809
+ include ::RuboCop::Rails::MigrationFileSkippable
11810
+ end
11811
+
11479
11812
  class RuboCop::Cop::Style::KeywordArgumentsMerging < ::RuboCop::Cop::Base
11480
11813
  include ::RuboCop::Rails::MigrationFileSkippable
11481
11814
  end
@@ -11756,6 +12089,10 @@ class RuboCop::Cop::Style::RedundantArrayConstructor < ::RuboCop::Cop::Base
11756
12089
  include ::RuboCop::Rails::MigrationFileSkippable
11757
12090
  end
11758
12091
 
12092
+ class RuboCop::Cop::Style::RedundantArrayFlatten < ::RuboCop::Cop::Base
12093
+ include ::RuboCop::Rails::MigrationFileSkippable
12094
+ end
12095
+
11759
12096
  class RuboCop::Cop::Style::RedundantAssignment < ::RuboCop::Cop::Base
11760
12097
  include ::RuboCop::Rails::MigrationFileSkippable
11761
12098
  end
@@ -11809,6 +12146,10 @@ class RuboCop::Cop::Style::RedundantFilterChain < ::RuboCop::Cop::Base
11809
12146
  include ::RuboCop::Rails::MigrationFileSkippable
11810
12147
  end
11811
12148
 
12149
+ class RuboCop::Cop::Style::RedundantFormat < ::RuboCop::Cop::Base
12150
+ include ::RuboCop::Rails::MigrationFileSkippable
12151
+ end
12152
+
11812
12153
  class RuboCop::Cop::Style::RedundantFreeze < ::RuboCop::Cop::Base
11813
12154
  include ::RuboCop::Rails::MigrationFileSkippable
11814
12155
  end
@@ -12175,25 +12516,11 @@ RuboCop::Cop::TargetRailsVersion::TARGET_GEM_NAME = T.let(T.unsafe(nil), String)
12175
12516
  # source://rubocop-rails//lib/rubocop/cop/mixin/target_rails_version.rb#9
12176
12517
  RuboCop::Cop::TargetRailsVersion::USES_REQUIRES_GEM_API = T.let(T.unsafe(nil), TrueClass)
12177
12518
 
12178
- # RuboCop Rails project namespace
12519
+ # RuboCop Rails project namespace.
12179
12520
  #
12180
12521
  # source://rubocop-rails//lib/rubocop/rails.rb#5
12181
12522
  module RuboCop::Rails; end
12182
12523
 
12183
- # source://rubocop-rails//lib/rubocop/rails.rb#7
12184
- RuboCop::Rails::CONFIG_DEFAULT = T.let(T.unsafe(nil), Pathname)
12185
-
12186
- # Because RuboCop doesn't yet support plugins, we have to monkey patch in a
12187
- # bit of our configuration.
12188
- #
12189
- # source://rubocop-rails//lib/rubocop/rails/inject.rb#7
12190
- module RuboCop::Rails::Inject
12191
- class << self
12192
- # source://rubocop-rails//lib/rubocop/rails/inject.rb#8
12193
- def defaults!; end
12194
- end
12195
- end
12196
-
12197
12524
  # This module allows cops to detect and ignore files that have already been migrated
12198
12525
  # by leveraging the `AllCops: MigratedSchemaVersion` configuration.
12199
12526
  #
@@ -12242,8 +12569,26 @@ module RuboCop::Rails::MigrationFileSkippable
12242
12569
  end
12243
12570
  end
12244
12571
 
12245
- # source://rubocop-rails//lib/rubocop/rails.rb#6
12246
- RuboCop::Rails::PROJECT_ROOT = T.let(T.unsafe(nil), Pathname)
12572
+ # A plugin that integrates RuboCop Rails with RuboCop's plugin system.
12573
+ #
12574
+ # source://rubocop-rails//lib/rubocop/rails/plugin.rb#8
12575
+ class RuboCop::Rails::Plugin < ::LintRoller::Plugin
12576
+ # source://rubocop-rails//lib/rubocop/rails/plugin.rb#9
12577
+ def about; end
12578
+
12579
+ # source://rubocop-rails//lib/rubocop/rails/plugin.rb#22
12580
+ def rules(_context); end
12581
+
12582
+ # @return [Boolean]
12583
+ #
12584
+ # source://rubocop-rails//lib/rubocop/rails/plugin.rb#18
12585
+ def supported?(context); end
12586
+
12587
+ private
12588
+
12589
+ # source://rubocop-rails//lib/rubocop/rails/plugin.rb#39
12590
+ def without_warnings; end
12591
+ end
12247
12592
 
12248
12593
  # It loads db/schema.rb and return Schema object.
12249
12594
  # Cops refers database schema information with this module.