rubocop 0.60.0 → 0.61.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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/config/default.yml +573 -560
  4. data/lib/rubocop.rb +5 -0
  5. data/lib/rubocop/ast/node.rb +1 -1
  6. data/lib/rubocop/ast/sexp.rb +1 -1
  7. data/lib/rubocop/cli.rb +9 -14
  8. data/lib/rubocop/config.rb +4 -3
  9. data/lib/rubocop/config_loader.rb +25 -22
  10. data/lib/rubocop/config_loader_resolver.rb +3 -2
  11. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +53 -0
  12. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +73 -0
  13. data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +138 -0
  14. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +52 -46
  15. data/lib/rubocop/cop/generator.rb +13 -17
  16. data/lib/rubocop/cop/generator/configuration_injector.rb +60 -0
  17. data/lib/rubocop/cop/layout/align_hash.rb +3 -0
  18. data/lib/rubocop/cop/layout/comment_indentation.rb +32 -2
  19. data/lib/rubocop/cop/layout/indent_heredoc.rb +11 -5
  20. data/lib/rubocop/cop/layout/indentation_width.rb +7 -1
  21. data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +11 -11
  22. data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +1 -1
  23. data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +1 -1
  24. data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +1 -1
  25. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +16 -3
  26. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +30 -17
  27. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +11 -0
  28. data/lib/rubocop/cop/lint/shadowed_exception.rb +2 -5
  29. data/lib/rubocop/cop/lint/useless_access_modifier.rb +1 -1
  30. data/lib/rubocop/cop/metrics/line_length.rb +2 -2
  31. data/lib/rubocop/cop/mixin/trailing_comma.rb +11 -15
  32. data/lib/rubocop/cop/offense.rb +1 -1
  33. data/lib/rubocop/cop/performance/open_struct.rb +46 -0
  34. data/lib/rubocop/cop/performance/redundant_merge.rb +18 -4
  35. data/lib/rubocop/cop/rails/bulk_change_table.rb +2 -2
  36. data/lib/rubocop/cop/rails/dynamic_find_by.rb +15 -8
  37. data/lib/rubocop/cop/rails/http_positional_arguments.rb +17 -14
  38. data/lib/rubocop/cop/rails/http_status.rb +4 -4
  39. data/lib/rubocop/cop/rails/inverse_of.rb +2 -2
  40. data/lib/rubocop/cop/rails/reversible_migration.rb +1 -1
  41. data/lib/rubocop/cop/rails/skips_model_validations.rb +1 -1
  42. data/lib/rubocop/cop/rails/validation.rb +4 -4
  43. data/lib/rubocop/cop/security/open.rb +31 -11
  44. data/lib/rubocop/cop/style/begin_block.rb +6 -0
  45. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +1 -1
  46. data/lib/rubocop/cop/style/empty_case_condition.rb +13 -7
  47. data/lib/rubocop/cop/style/for.rb +9 -78
  48. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +6 -4
  49. data/lib/rubocop/cop/style/global_vars.rb +1 -1
  50. data/lib/rubocop/cop/style/infinite_loop.rb +42 -6
  51. data/lib/rubocop/cop/style/lambda.rb +4 -87
  52. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +221 -16
  53. data/lib/rubocop/cop/style/raise_args.rb +1 -1
  54. data/lib/rubocop/cop/style/regexp_literal.rb +62 -10
  55. data/lib/rubocop/cop/style/unneeded_condition.rb +2 -2
  56. data/lib/rubocop/cop/variable_force.rb +4 -2
  57. data/lib/rubocop/cop/variable_force/variable.rb +2 -0
  58. data/lib/rubocop/magic_comment.rb +1 -1
  59. data/lib/rubocop/remote_config.rb +13 -4
  60. data/lib/rubocop/rspec/expect_offense.rb +1 -1
  61. data/lib/rubocop/runner.rb +15 -4
  62. data/lib/rubocop/version.rb +1 -1
  63. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee5ff0ea8f14348a06f12d9821d3d53fe6bae43f494d9963c474acf1f09d8926
4
- data.tar.gz: 30955fdcca4ed2acb2b4ebfece201cab06dcaa61b354f7d7d1b54e796a41e6aa
3
+ metadata.gz: e88fc0398de2241ea3dbc2ef8403018874800ea68f78cbb450fba8e44a1571cd
4
+ data.tar.gz: cce387c16f166a02b9fec1de5e8d13cc3392f67b1ed9f786411a33cb3ced24ea
5
5
  SHA512:
6
- metadata.gz: c418da4113b32159d9782d6495f00df32aef733b350d11dc7764b724b8809a1ecd11a4cb866503921cefc1532ffea91fe029922bae2906044044cf09c09e92b1
7
- data.tar.gz: ecb81bf9cf67febbeddb027cab43b1ba0d77fcdcbed7db1ee836ad51267d29f1ab753ca2d49e2b213e58ec0514c764a3b0556fe7a7c25a53f0ec873b8a397e8e
6
+ metadata.gz: '02226368c150bca198e27e3b389f59b851e8a027ebb740d7a3caf20756afa68b8509dabd2cd3d02c8906607034544637933e90f9f1e06651d08d6d32018d345c'
7
+ data.tar.gz: b745797d0eba8bf0f729f7e7ad1ff0ad0fe110fa3ef0fb62c1f4519dcae9191a5e953c83f3dcbb978959b4141e39cc946f5246fc5e264f42769ae9cd5134ad1b
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
- [![Gem Version](https://badge.fury.io/rb/rubocop.svg)](http://badge.fury.io/rb/rubocop)
1
+ [![Gem Version](https://badge.fury.io/rb/rubocop.svg)](https://badge.fury.io/rb/rubocop)
2
2
  [![CircleCI Status](https://circleci.com/gh/rubocop-hq/rubocop/tree/master.svg?style=svg)](https://circleci.com/gh/rubocop-hq/rubocop/tree/master)
3
3
  [![AppVeyor Status](https://ci.appveyor.com/api/projects/status/sj3ye7n5690d0nvg?svg=true)](https://ci.appveyor.com/project/bbatsov/rubocop)
4
4
  [![Coverage Status](https://img.shields.io/codeclimate/coverage/github/bbatsov/rubocop.svg)](https://codeclimate.com/github/bbatsov/rubocop)
5
5
  [![Code Climate](https://codeclimate.com/github/bbatsov/rubocop/badges/gpa.svg)](https://codeclimate.com/github/bbatsov/rubocop)
6
- [![Inline docs](http://inch-ci.org/github/bbatsov/rubocop.svg)](http://inch-ci.org/github/bbatsov/rubocop)
6
+ [![Inline docs](https://inch-ci.org/github/bbatsov/rubocop.svg)](https://inch-ci.org/github/bbatsov/rubocop)
7
7
  [![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=rubocop&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=rubocop&package-manager=bundler&version-scheme=semver)
8
8
 
9
9
  [![Patreon](https://img.shields.io/badge/patreon-donate-orange.svg)](https://www.patreon.com/bbatsov)
@@ -53,7 +53,7 @@ haven't reached version 1.0 yet). To prevent an unwanted RuboCop update you
53
53
  might want to use a conservative version locking in your `Gemfile`:
54
54
 
55
55
  ```rb
56
- gem 'rubocop', '~> 0.60.0', require: false
56
+ gem 'rubocop', '~> 0.61.0', require: false
57
57
  ```
58
58
 
59
59
  ## Quickstart
@@ -99,7 +99,7 @@ RuboCop's logo was created by [Dimiter Petrov](https://www.chadomoto.com/). You
99
99
  formats [here](https://github.com/rubocop-hq/rubocop/tree/master/logo).
100
100
 
101
101
  The logo is licensed under a
102
- [Creative Commons Attribution-NonCommercial 4.0 International License](http://creativecommons.org/licenses/by-nc/4.0/deed.en_GB).
102
+ [Creative Commons Attribution-NonCommercial 4.0 International License](https://creativecommons.org/licenses/by-nc/4.0/deed.en_GB).
103
103
 
104
104
  ## Contributors
105
105
 
@@ -139,7 +139,7 @@ AllCops:
139
139
  Bundler/DuplicatedGem:
140
140
  Description: 'Checks for duplicate gem entries in Gemfile.'
141
141
  Enabled: true
142
- VersionAdded: 0.46
142
+ VersionAdded: '0.46'
143
143
  Include:
144
144
  - '**/*.gemfile'
145
145
  - '**/Gemfile'
@@ -148,7 +148,7 @@ Bundler/DuplicatedGem:
148
148
  Bundler/GemComment:
149
149
  Description: 'Add a comment describing each gem.'
150
150
  Enabled: false
151
- VersionAdded: 0.59
151
+ VersionAdded: '0.59'
152
152
  Include:
153
153
  - '**/*.gemfile'
154
154
  - '**/Gemfile'
@@ -161,7 +161,7 @@ Bundler/InsecureProtocolSource:
161
161
  because HTTP requests are insecure. Please change your source to
162
162
  'https://rubygems.org' if possible, or 'http://rubygems.org' if not.
163
163
  Enabled: true
164
- VersionAdded: 0.50
164
+ VersionAdded: '0.50'
165
165
  Include:
166
166
  - '**/*.gemfile'
167
167
  - '**/Gemfile'
@@ -171,8 +171,8 @@ Bundler/OrderedGems:
171
171
  Description: >-
172
172
  Gems within groups in the Gemfile should be alphabetically sorted.
173
173
  Enabled: true
174
- VersionAdded: 0.46
175
- VersionChanged: 0.47
174
+ VersionAdded: '0.46'
175
+ VersionChanged: '0.47'
176
176
  TreatCommentsAsGroupSeparators: true
177
177
  Include:
178
178
  - '**/*.gemfile'
@@ -184,7 +184,7 @@ Bundler/OrderedGems:
184
184
  Gemspec/DuplicatedAssignment:
185
185
  Description: 'An attribute assignment method calls should be listed only once in a gemspec.'
186
186
  Enabled: true
187
- VersionAdded: 0.52
187
+ VersionAdded: '0.52'
188
188
  Include:
189
189
  - '**/*.gemspec'
190
190
 
@@ -192,7 +192,7 @@ Gemspec/OrderedDependencies:
192
192
  Description: >-
193
193
  Dependencies in the gemspec should be alphabetically sorted.
194
194
  Enabled: true
195
- VersionAdded: 0.51
195
+ VersionAdded: '0.51'
196
196
  TreatCommentsAsGroupSeparators: true
197
197
  Include:
198
198
  - '**/*.gemspec'
@@ -200,7 +200,7 @@ Gemspec/OrderedDependencies:
200
200
  Gemspec/RequiredRubyVersion:
201
201
  Description: 'Checks that `required_ruby_version` of gemspec and `TargetRubyVersion` of .rubocop.yml are equal.'
202
202
  Enabled: true
203
- VersionAdded: 0.52
203
+ VersionAdded: '0.52'
204
204
  Include:
205
205
  - '**/*.gemspec'
206
206
 
@@ -210,7 +210,7 @@ Layout/AccessModifierIndentation:
210
210
  Description: Check indentation of private/protected visibility modifiers.
211
211
  StyleGuide: '#indent-public-private-protected'
212
212
  Enabled: true
213
- VersionAdded: 0.49
213
+ VersionAdded: '0.49'
214
214
  EnforcedStyle: indent
215
215
  SupportedStyles:
216
216
  - outdent
@@ -225,14 +225,14 @@ Layout/AlignArray:
225
225
  one line.
226
226
  StyleGuide: '#align-multiline-arrays'
227
227
  Enabled: true
228
- VersionAdded: 0.49
228
+ VersionAdded: '0.49'
229
229
 
230
230
  Layout/AlignHash:
231
231
  Description: >-
232
232
  Align the elements of a hash literal if they span more than
233
233
  one line.
234
234
  Enabled: true
235
- VersionAdded: 0.49
235
+ VersionAdded: '0.49'
236
236
  # Alignment of entries using hash rocket as separator. Valid values are:
237
237
  #
238
238
  # key - left alignment of keys
@@ -309,7 +309,7 @@ Layout/AlignParameters:
309
309
  than one line.
310
310
  StyleGuide: '#no-double-indent'
311
311
  Enabled: true
312
- VersionAdded: 0.49
312
+ VersionAdded: '0.49'
313
313
  # Alignment of parameters in multi-line method calls.
314
314
  #
315
315
  # The `with_first_parameter` style aligns the following lines along the same
@@ -334,7 +334,7 @@ Layout/AlignParameters:
334
334
  Layout/BlockAlignment:
335
335
  Description: 'Align block ends correctly.'
336
336
  Enabled: true
337
- VersionAdded: 0.53
337
+ VersionAdded: '0.53'
338
338
  # The value `start_of_block` means that the `end` should be aligned with line
339
339
  # where the `do` keyword appears.
340
340
  # The value `start_of_line` means it should be aligned with the whole
@@ -349,13 +349,13 @@ Layout/BlockAlignment:
349
349
  Layout/BlockEndNewline:
350
350
  Description: 'Put end statement of multiline block on its own line.'
351
351
  Enabled: true
352
- VersionAdded: 0.49
352
+ VersionAdded: '0.49'
353
353
 
354
354
  Layout/CaseIndentation:
355
355
  Description: 'Indentation of when in a case/when/[else/]end.'
356
356
  StyleGuide: '#indent-when-to-case'
357
357
  Enabled: true
358
- VersionAdded: 0.49
358
+ VersionAdded: '0.49'
359
359
  EnforcedStyle: case
360
360
  SupportedStyles:
361
361
  - case
@@ -370,7 +370,7 @@ Layout/ClassStructure:
370
370
  Description: 'Enforces a configured order of definitions within a class body.'
371
371
  StyleGuide: 'https://github.com/rubocop-hq/ruby-style-guide#consistent-classes'
372
372
  Enabled: false
373
- VersionAdded: 0.52
373
+ VersionAdded: '0.52'
374
374
  Categories:
375
375
  module_inclusion:
376
376
  - include
@@ -388,17 +388,17 @@ Layout/ClassStructure:
388
388
  Layout/ClosingHeredocIndentation:
389
389
  Description: 'Checks the indentation of here document closings.'
390
390
  Enabled: true
391
- VersionAdded: 0.57
391
+ VersionAdded: '0.57'
392
392
 
393
393
  Layout/ClosingParenthesisIndentation:
394
394
  Description: 'Checks the indentation of hanging closing parentheses.'
395
395
  Enabled: true
396
- VersionAdded: 0.49
396
+ VersionAdded: '0.49'
397
397
 
398
398
  Layout/CommentIndentation:
399
399
  Description: 'Indentation of comments.'
400
400
  Enabled: true
401
- VersionAdded: 0.49
401
+ VersionAdded: '0.49'
402
402
 
403
403
  Layout/ConditionPosition:
404
404
  Description: >-
@@ -406,12 +406,12 @@ Layout/ConditionPosition:
406
406
  the keyword.
407
407
  StyleGuide: '#same-line-condition'
408
408
  Enabled: true
409
- VersionAdded: 0.53
409
+ VersionAdded: '0.53'
410
410
 
411
411
  Layout/DefEndAlignment:
412
412
  Description: 'Align ends corresponding to defs correctly.'
413
413
  Enabled: true
414
- VersionAdded: 0.53
414
+ VersionAdded: '0.53'
415
415
  # The value `def` means that `end` should be aligned with the def keyword.
416
416
  # The value `start_of_line` means that `end` should be aligned with method
417
417
  # calls like `private`, `public`, etc, if present in front of the `def`
@@ -427,7 +427,7 @@ Layout/DotPosition:
427
427
  Description: 'Checks the position of the dot in multi-line method calls.'
428
428
  StyleGuide: '#consistent-multi-line-chains'
429
429
  Enabled: true
430
- VersionAdded: 0.49
430
+ VersionAdded: '0.49'
431
431
  EnforcedStyle: leading
432
432
  SupportedStyles:
433
433
  - leading
@@ -436,32 +436,32 @@ Layout/DotPosition:
436
436
  Layout/ElseAlignment:
437
437
  Description: 'Align elses and elsifs correctly.'
438
438
  Enabled: true
439
- VersionAdded: 0.49
439
+ VersionAdded: '0.49'
440
440
 
441
441
  Layout/EmptyComment:
442
442
  Description: 'Checks empty comment.'
443
443
  Enabled: true
444
- VersionAdded: 0.53
444
+ VersionAdded: '0.53'
445
445
  AllowBorderComment: true
446
446
  AllowMarginComment: true
447
447
 
448
448
  Layout/EmptyLineAfterGuardClause:
449
449
  Description: 'Add empty line after guard clause.'
450
450
  Enabled: true
451
- VersionAdded: 0.56
452
- VersionChanged: 0.59
451
+ VersionAdded: '0.56'
452
+ VersionChanged: '0.59'
453
453
 
454
454
  Layout/EmptyLineAfterMagicComment:
455
455
  Description: 'Add an empty line after magic comments to separate them from code.'
456
456
  StyleGuide: '#separate-magic-comments-from-code'
457
457
  Enabled: true
458
- VersionAdded: 0.49
458
+ VersionAdded: '0.49'
459
459
 
460
460
  Layout/EmptyLineBetweenDefs:
461
461
  Description: 'Use empty lines between defs.'
462
462
  StyleGuide: '#empty-lines-between-methods'
463
463
  Enabled: true
464
- VersionAdded: 0.49
464
+ VersionAdded: '0.49'
465
465
  # If `true`, this parameter means that single line method definitions don't
466
466
  # need an empty line between them.
467
467
  AllowAdjacentOneLineDefs: false
@@ -472,30 +472,30 @@ Layout/EmptyLines:
472
472
  Description: "Don't use several empty lines in a row."
473
473
  StyleGuide: '#two-or-more-empty-lines'
474
474
  Enabled: true
475
- VersionAdded: 0.49
475
+ VersionAdded: '0.49'
476
476
 
477
477
  Layout/EmptyLinesAroundAccessModifier:
478
478
  Description: "Keep blank lines around access modifiers."
479
479
  StyleGuide: '#empty-lines-around-access-modifier'
480
480
  Enabled: true
481
- VersionAdded: 0.49
481
+ VersionAdded: '0.49'
482
482
 
483
483
  Layout/EmptyLinesAroundArguments:
484
484
  Description: "Keeps track of empty lines around method arguments."
485
485
  Enabled: true
486
- VersionAdded: 0.52
486
+ VersionAdded: '0.52'
487
487
 
488
488
  Layout/EmptyLinesAroundBeginBody:
489
489
  Description: "Keeps track of empty lines around begin-end bodies."
490
490
  StyleGuide: '#empty-lines-around-bodies'
491
491
  Enabled: true
492
- VersionAdded: 0.49
492
+ VersionAdded: '0.49'
493
493
 
494
494
  Layout/EmptyLinesAroundBlockBody:
495
495
  Description: "Keeps track of empty lines around block bodies."
496
496
  StyleGuide: '#empty-lines-around-bodies'
497
497
  Enabled: true
498
- VersionAdded: 0.49
498
+ VersionAdded: '0.49'
499
499
  EnforcedStyle: no_empty_lines
500
500
  SupportedStyles:
501
501
  - empty_lines
@@ -505,8 +505,8 @@ Layout/EmptyLinesAroundClassBody:
505
505
  Description: "Keeps track of empty lines around class bodies."
506
506
  StyleGuide: '#empty-lines-around-bodies'
507
507
  Enabled: true
508
- VersionAdded: 0.49
509
- VersionChanged: 0.53
508
+ VersionAdded: '0.49'
509
+ VersionChanged: '0.53'
510
510
  EnforcedStyle: no_empty_lines
511
511
  SupportedStyles:
512
512
  - empty_lines
@@ -520,19 +520,19 @@ Layout/EmptyLinesAroundExceptionHandlingKeywords:
520
520
  Description: "Keeps track of empty lines around exception handling keywords."
521
521
  StyleGuide: '#empty-lines-around-bodies'
522
522
  Enabled: true
523
- VersionAdded: 0.49
523
+ VersionAdded: '0.49'
524
524
 
525
525
  Layout/EmptyLinesAroundMethodBody:
526
526
  Description: "Keeps track of empty lines around method bodies."
527
527
  StyleGuide: '#empty-lines-around-bodies'
528
528
  Enabled: true
529
- VersionAdded: 0.49
529
+ VersionAdded: '0.49'
530
530
 
531
531
  Layout/EmptyLinesAroundModuleBody:
532
532
  Description: "Keeps track of empty lines around module bodies."
533
533
  StyleGuide: '#empty-lines-around-bodies'
534
534
  Enabled: true
535
- VersionAdded: 0.49
535
+ VersionAdded: '0.49'
536
536
  EnforcedStyle: no_empty_lines
537
537
  SupportedStyles:
538
538
  - empty_lines
@@ -543,7 +543,7 @@ Layout/EmptyLinesAroundModuleBody:
543
543
  Layout/EndAlignment:
544
544
  Description: 'Align ends correctly.'
545
545
  Enabled: true
546
- VersionAdded: 0.53
546
+ VersionAdded: '0.53'
547
547
  # The value `keyword` means that `end` should be aligned with the matching
548
548
  # keyword (`if`, `while`, etc.).
549
549
  # The value `variable` means that in assignments, `end` should be aligned
@@ -563,7 +563,7 @@ Layout/EndOfLine:
563
563
  Description: 'Use Unix-style line endings.'
564
564
  StyleGuide: '#crlf'
565
565
  Enabled: true
566
- VersionAdded: 0.49
566
+ VersionAdded: '0.49'
567
567
  # The `native` style means that CR+LF (Carriage Return + Line Feed) is
568
568
  # enforced on Windows, and LF is enforced on other platforms. The other styles
569
569
  # mean LF and CR+LF, respectively.
@@ -576,7 +576,7 @@ Layout/EndOfLine:
576
576
  Layout/ExtraSpacing:
577
577
  Description: 'Do not use unnecessary spacing.'
578
578
  Enabled: true
579
- VersionAdded: 0.49
579
+ VersionAdded: '0.49'
580
580
  # When true, allows most uses of extra spacing if the intent is to align
581
581
  # things with the previous or next line, not counting empty lines or comment
582
582
  # lines.
@@ -589,34 +589,34 @@ Layout/FirstArrayElementLineBreak:
589
589
  Checks for a line break before the first element in a
590
590
  multi-line array.
591
591
  Enabled: false
592
- VersionAdded: 0.49
592
+ VersionAdded: '0.49'
593
593
 
594
594
  Layout/FirstHashElementLineBreak:
595
595
  Description: >-
596
596
  Checks for a line break before the first element in a
597
597
  multi-line hash.
598
598
  Enabled: false
599
- VersionAdded: 0.49
599
+ VersionAdded: '0.49'
600
600
 
601
601
  Layout/FirstMethodArgumentLineBreak:
602
602
  Description: >-
603
603
  Checks for a line break before the first argument in a
604
604
  multi-line method call.
605
605
  Enabled: false
606
- VersionAdded: 0.49
606
+ VersionAdded: '0.49'
607
607
 
608
608
  Layout/FirstMethodParameterLineBreak:
609
609
  Description: >-
610
610
  Checks for a line break before the first parameter in a
611
611
  multi-line method parameter definition.
612
612
  Enabled: false
613
- VersionAdded: 0.49
613
+ VersionAdded: '0.49'
614
614
 
615
615
  Layout/FirstParameterIndentation:
616
616
  Description: 'Checks the indentation of the first parameter in a method call.'
617
617
  Enabled: true
618
- VersionAdded: 0.49
619
- VersionChanged: 0.56
618
+ VersionAdded: '0.49'
619
+ VersionChanged: '0.56'
620
620
  EnforcedStyle: special_for_inner_method_call_in_parentheses
621
621
  SupportedStyles:
622
622
  # The first parameter should always be indented one step more than the
@@ -642,7 +642,7 @@ Layout/IndentArray:
642
642
  Checks the indentation of the first element in an array
643
643
  literal.
644
644
  Enabled: true
645
- VersionAdded: 0.49
645
+ VersionAdded: '0.49'
646
646
  # The value `special_inside_parentheses` means that array literals with
647
647
  # brackets that have their opening bracket on the same line as a surrounding
648
648
  # opening round parenthesis, shall have their first element indented relative
@@ -668,7 +668,7 @@ Layout/IndentAssignment:
668
668
  Checks the indentation of the first line of the
669
669
  right-hand-side of a multi-line assignment.
670
670
  Enabled: true
671
- VersionAdded: 0.49
671
+ VersionAdded: '0.49'
672
672
  # By default, the indentation width from `Layout/IndentationWidth` is used
673
673
  # But it can be overridden by setting this parameter
674
674
  IndentationWidth: ~
@@ -676,7 +676,7 @@ Layout/IndentAssignment:
676
676
  Layout/IndentHash:
677
677
  Description: 'Checks the indentation of the first key in a hash literal.'
678
678
  Enabled: true
679
- VersionAdded: 0.49
679
+ VersionAdded: '0.49'
680
680
  # The value `special_inside_parentheses` means that hash literals with braces
681
681
  # that have their opening brace on the same line as a surrounding opening
682
682
  # round parenthesis, shall have their first key indented relative to the
@@ -701,7 +701,7 @@ Layout/IndentHeredoc:
701
701
  Description: 'This cop checks the indentation of the here document bodies.'
702
702
  StyleGuide: '#squiggly-heredocs'
703
703
  Enabled: true
704
- VersionAdded: 0.49
704
+ VersionAdded: '0.49'
705
705
  EnforcedStyle: auto_detection
706
706
  SupportedStyles:
707
707
  - auto_detection
@@ -714,7 +714,7 @@ Layout/IndentationConsistency:
714
714
  Description: 'Keep indentation straight.'
715
715
  StyleGuide: '#spaces-indentation'
716
716
  Enabled: true
717
- VersionAdded: 0.49
717
+ VersionAdded: '0.49'
718
718
  # The difference between `rails` and `normal` is that the `rails` style
719
719
  # prescribes that in classes and modules the `protected` and `private`
720
720
  # modifier keywords shall be indented the same as public methods and that
@@ -730,7 +730,7 @@ Layout/IndentationWidth:
730
730
  Description: 'Use 2 spaces for indentation.'
731
731
  StyleGuide: '#spaces-indentation'
732
732
  Enabled: true
733
- VersionAdded: 0.49
733
+ VersionAdded: '0.49'
734
734
  # Number of spaces for each indentation level.
735
735
  Width: 2
736
736
  IgnoredPatterns: []
@@ -739,18 +739,18 @@ Layout/InitialIndentation:
739
739
  Description: >-
740
740
  Checks the indentation of the first non-blank non-comment line in a file.
741
741
  Enabled: true
742
- VersionAdded: 0.49
742
+ VersionAdded: '0.49'
743
743
 
744
744
  Layout/LeadingBlankLines:
745
745
  Description: Check for unnecessary blank lines at the beginning of a file.
746
746
  Enabled: true
747
- VersionAdded: 0.57
747
+ VersionAdded: '0.57'
748
748
 
749
749
  Layout/LeadingCommentSpace:
750
750
  Description: 'Comments should start with a space.'
751
751
  StyleGuide: '#hash-space'
752
752
  Enabled: true
753
- VersionAdded: 0.49
753
+ VersionAdded: '0.49'
754
754
 
755
755
  Layout/MultilineArrayBraceLayout:
756
756
  Description: >-
@@ -758,7 +758,7 @@ Layout/MultilineArrayBraceLayout:
758
758
  either on the same line as the last array element, or
759
759
  a new line.
760
760
  Enabled: true
761
- VersionAdded: 0.49
761
+ VersionAdded: '0.49'
762
762
  EnforcedStyle: symmetrical
763
763
  SupportedStyles:
764
764
  # symmetrical: closing brace is positioned in same way as opening brace
@@ -772,7 +772,7 @@ Layout/MultilineAssignmentLayout:
772
772
  Description: 'Check for a newline after the assignment operator in multi-line assignments.'
773
773
  StyleGuide: '#indent-conditional-assignment'
774
774
  Enabled: false
775
- VersionAdded: 0.49
775
+ VersionAdded: '0.49'
776
776
  # The types of assignments which are subject to this rule.
777
777
  SupportedTypes:
778
778
  - block
@@ -793,7 +793,7 @@ Layout/MultilineAssignmentLayout:
793
793
  Layout/MultilineBlockLayout:
794
794
  Description: 'Ensures newlines after multiline block do statements.'
795
795
  Enabled: true
796
- VersionAdded: 0.49
796
+ VersionAdded: '0.49'
797
797
 
798
798
  Layout/MultilineHashBraceLayout:
799
799
  Description: >-
@@ -801,7 +801,7 @@ Layout/MultilineHashBraceLayout:
801
801
  either on the same line as the last hash element, or
802
802
  a new line.
803
803
  Enabled: true
804
- VersionAdded: 0.49
804
+ VersionAdded: '0.49'
805
805
  EnforcedStyle: symmetrical
806
806
  SupportedStyles:
807
807
  # symmetrical: closing brace is positioned in same way as opening brace
@@ -817,7 +817,7 @@ Layout/MultilineMethodCallBraceLayout:
817
817
  either on the same line as the last method argument, or
818
818
  a new line.
819
819
  Enabled: true
820
- VersionAdded: 0.49
820
+ VersionAdded: '0.49'
821
821
  EnforcedStyle: symmetrical
822
822
  SupportedStyles:
823
823
  # symmetrical: closing brace is positioned in same way as opening brace
@@ -832,7 +832,7 @@ Layout/MultilineMethodCallIndentation:
832
832
  Checks indentation of method calls with the dot operator
833
833
  that span more than one line.
834
834
  Enabled: true
835
- VersionAdded: 0.49
835
+ VersionAdded: '0.49'
836
836
  EnforcedStyle: aligned
837
837
  SupportedStyles:
838
838
  - aligned
@@ -848,7 +848,7 @@ Layout/MultilineMethodDefinitionBraceLayout:
848
848
  either on the same line as the last method parameter, or
849
849
  a new line.
850
850
  Enabled: true
851
- VersionAdded: 0.49
851
+ VersionAdded: '0.49'
852
852
  EnforcedStyle: symmetrical
853
853
  SupportedStyles:
854
854
  # symmetrical: closing brace is positioned in same way as opening brace
@@ -863,7 +863,7 @@ Layout/MultilineOperationIndentation:
863
863
  Checks indentation of binary operations that span more than
864
864
  one line.
865
865
  Enabled: true
866
- VersionAdded: 0.49
866
+ VersionAdded: '0.49'
867
867
  EnforcedStyle: aligned
868
868
  SupportedStyles:
869
869
  - aligned
@@ -875,19 +875,19 @@ Layout/MultilineOperationIndentation:
875
875
  Layout/RescueEnsureAlignment:
876
876
  Description: 'Align rescues and ensures correctly.'
877
877
  Enabled: true
878
- VersionAdded: 0.49
878
+ VersionAdded: '0.49'
879
879
 
880
880
  Layout/SpaceAfterColon:
881
881
  Description: 'Use spaces after colons.'
882
882
  StyleGuide: '#spaces-operators'
883
883
  Enabled: true
884
- VersionAdded: 0.49
884
+ VersionAdded: '0.49'
885
885
 
886
886
  Layout/SpaceAfterComma:
887
887
  Description: 'Use spaces after commas.'
888
888
  StyleGuide: '#spaces-operators'
889
889
  Enabled: true
890
- VersionAdded: 0.49
890
+ VersionAdded: '0.49'
891
891
 
892
892
  Layout/SpaceAfterMethodName:
893
893
  Description: >-
@@ -895,24 +895,24 @@ Layout/SpaceAfterMethodName:
895
895
  parenthesis in a method definition.
896
896
  StyleGuide: '#parens-no-spaces'
897
897
  Enabled: true
898
- VersionAdded: 0.49
898
+ VersionAdded: '0.49'
899
899
 
900
900
  Layout/SpaceAfterNot:
901
901
  Description: Tracks redundant space after the ! operator.
902
902
  StyleGuide: '#no-space-bang'
903
903
  Enabled: true
904
- VersionAdded: 0.49
904
+ VersionAdded: '0.49'
905
905
 
906
906
  Layout/SpaceAfterSemicolon:
907
907
  Description: 'Use spaces after semicolons.'
908
908
  StyleGuide: '#spaces-operators'
909
909
  Enabled: true
910
- VersionAdded: 0.49
910
+ VersionAdded: '0.49'
911
911
 
912
912
  Layout/SpaceAroundBlockParameters:
913
913
  Description: 'Checks the spacing inside and after block parameters pipes.'
914
914
  Enabled: true
915
- VersionAdded: 0.49
915
+ VersionAdded: '0.49'
916
916
  EnforcedStyleInsidePipes: no_space
917
917
  SupportedStylesInsidePipes:
918
918
  - space
@@ -925,7 +925,7 @@ Layout/SpaceAroundEqualsInParameterDefault:
925
925
  configuration.
926
926
  StyleGuide: '#spaces-around-equals'
927
927
  Enabled: true
928
- VersionAdded: 0.49
928
+ VersionAdded: '0.49'
929
929
  EnforcedStyle: space
930
930
  SupportedStyles:
931
931
  - space
@@ -934,13 +934,13 @@ Layout/SpaceAroundEqualsInParameterDefault:
934
934
  Layout/SpaceAroundKeyword:
935
935
  Description: 'Use a space around keywords if appropriate.'
936
936
  Enabled: true
937
- VersionAdded: 0.49
937
+ VersionAdded: '0.49'
938
938
 
939
939
  Layout/SpaceAroundOperators:
940
940
  Description: 'Use a single space around operators.'
941
941
  StyleGuide: '#spaces-operators'
942
942
  Enabled: true
943
- VersionAdded: 0.49
943
+ VersionAdded: '0.49'
944
944
  # When `true`, allows most uses of extra spacing if the intent is to align
945
945
  # with an operator on the previous or next line, not counting empty lines
946
946
  # or comment lines.
@@ -951,7 +951,7 @@ Layout/SpaceBeforeBlockBraces:
951
951
  Checks that the left block brace has or doesn't have space
952
952
  before it.
953
953
  Enabled: true
954
- VersionAdded: 0.49
954
+ VersionAdded: '0.49'
955
955
  EnforcedStyle: space
956
956
  SupportedStyles:
957
957
  - space
@@ -960,26 +960,26 @@ Layout/SpaceBeforeBlockBraces:
960
960
  SupportedStylesForEmptyBraces:
961
961
  - space
962
962
  - no_space
963
- VersionChanged: 0.52.1
963
+ VersionChanged: '0.52.1'
964
964
 
965
965
  Layout/SpaceBeforeComma:
966
966
  Description: 'No spaces before commas.'
967
967
  Enabled: true
968
- VersionAdded: 0.49
968
+ VersionAdded: '0.49'
969
969
 
970
970
  Layout/SpaceBeforeComment:
971
971
  Description: >-
972
972
  Checks for missing space between code and a comment on the
973
973
  same line.
974
974
  Enabled: true
975
- VersionAdded: 0.49
975
+ VersionAdded: '0.49'
976
976
 
977
977
  Layout/SpaceBeforeFirstArg:
978
978
  Description: >-
979
979
  Checks that exactly one space is used between a method name
980
980
  and the first argument for method calls without parentheses.
981
981
  Enabled: true
982
- VersionAdded: 0.49
982
+ VersionAdded: '0.49'
983
983
  # When `true`, allows most uses of extra spacing if the intent is to align
984
984
  # things with the previous or next line, not counting empty lines or comment
985
985
  # lines.
@@ -988,12 +988,12 @@ Layout/SpaceBeforeFirstArg:
988
988
  Layout/SpaceBeforeSemicolon:
989
989
  Description: 'No spaces before semicolons.'
990
990
  Enabled: true
991
- VersionAdded: 0.49
991
+ VersionAdded: '0.49'
992
992
 
993
993
  Layout/SpaceInLambdaLiteral:
994
994
  Description: 'Checks for spaces in lambda literals.'
995
995
  Enabled: true
996
- VersionAdded: 0.49
996
+ VersionAdded: '0.49'
997
997
  EnforcedStyle: require_no_space
998
998
  SupportedStyles:
999
999
  - require_no_space
@@ -1002,7 +1002,7 @@ Layout/SpaceInLambdaLiteral:
1002
1002
  Layout/SpaceInsideArrayLiteralBrackets:
1003
1003
  Description: 'Checks the spacing inside array literal brackets.'
1004
1004
  Enabled: true
1005
- VersionAdded: 0.52
1005
+ VersionAdded: '0.52'
1006
1006
  EnforcedStyle: no_space
1007
1007
  SupportedStyles:
1008
1008
  - space
@@ -1018,7 +1018,7 @@ Layout/SpaceInsideArrayLiteralBrackets:
1018
1018
  Layout/SpaceInsideArrayPercentLiteral:
1019
1019
  Description: 'No unnecessary additional spaces between elements in %i/%w literals.'
1020
1020
  Enabled: true
1021
- VersionAdded: 0.49
1021
+ VersionAdded: '0.49'
1022
1022
 
1023
1023
  Layout/SpaceInsideBlockBraces:
1024
1024
  Description: >-
@@ -1026,7 +1026,7 @@ Layout/SpaceInsideBlockBraces:
1026
1026
  For blocks taking parameters, checks that the left brace has
1027
1027
  or doesn't have trailing space.
1028
1028
  Enabled: true
1029
- VersionAdded: 0.49
1029
+ VersionAdded: '0.49'
1030
1030
  EnforcedStyle: space
1031
1031
  SupportedStyles:
1032
1032
  - space
@@ -1042,7 +1042,7 @@ Layout/SpaceInsideHashLiteralBraces:
1042
1042
  Description: "Use spaces inside hash literal braces - or don't."
1043
1043
  StyleGuide: '#spaces-operators'
1044
1044
  Enabled: true
1045
- VersionAdded: 0.49
1045
+ VersionAdded: '0.49'
1046
1046
  EnforcedStyle: space
1047
1047
  SupportedStyles:
1048
1048
  - space
@@ -1060,8 +1060,8 @@ Layout/SpaceInsideParens:
1060
1060
  Description: 'No spaces after ( or before ).'
1061
1061
  StyleGuide: '#spaces-braces'
1062
1062
  Enabled: true
1063
- VersionAdded: 0.49
1064
- VersionChanged: 0.55
1063
+ VersionAdded: '0.49'
1064
+ VersionChanged: '0.55'
1065
1065
  EnforcedStyle: no_space
1066
1066
  SupportedStyles:
1067
1067
  - space
@@ -1070,19 +1070,19 @@ Layout/SpaceInsideParens:
1070
1070
  Layout/SpaceInsidePercentLiteralDelimiters:
1071
1071
  Description: 'No unnecessary spaces inside delimiters of %i/%w/%x literals.'
1072
1072
  Enabled: true
1073
- VersionAdded: 0.49
1073
+ VersionAdded: '0.49'
1074
1074
 
1075
1075
  Layout/SpaceInsideRangeLiteral:
1076
1076
  Description: 'No spaces inside range literals.'
1077
1077
  StyleGuide: '#no-space-inside-range-literals'
1078
1078
  Enabled: true
1079
- VersionAdded: 0.49
1079
+ VersionAdded: '0.49'
1080
1080
 
1081
1081
  Layout/SpaceInsideReferenceBrackets:
1082
1082
  Description: 'Checks the spacing inside referential brackets.'
1083
1083
  Enabled: true
1084
- VersionAdded: 0.52
1085
- VersionChanged: 0.53
1084
+ VersionAdded: '0.52'
1085
+ VersionChanged: '0.53'
1086
1086
  EnforcedStyle: no_space
1087
1087
  SupportedStyles:
1088
1088
  - space
@@ -1096,7 +1096,7 @@ Layout/SpaceInsideStringInterpolation:
1096
1096
  Description: 'Checks for padding/surrounding spaces inside string interpolation.'
1097
1097
  StyleGuide: '#string-interpolation'
1098
1098
  Enabled: true
1099
- VersionAdded: 0.49
1099
+ VersionAdded: '0.49'
1100
1100
  EnforcedStyle: no_space
1101
1101
  SupportedStyles:
1102
1102
  - space
@@ -1106,8 +1106,8 @@ Layout/Tab:
1106
1106
  Description: 'No hard tabs.'
1107
1107
  StyleGuide: '#spaces-indentation'
1108
1108
  Enabled: true
1109
- VersionAdded: 0.49
1110
- VersionChanged: 0.51
1109
+ VersionAdded: '0.49'
1110
+ VersionChanged: '0.51'
1111
1111
  # By default, the indentation width from Layout/IndentationWidth is used
1112
1112
  # But it can be overridden by setting this parameter
1113
1113
  # It is used during auto-correction to determine how many spaces should
@@ -1118,7 +1118,7 @@ Layout/TrailingBlankLines:
1118
1118
  Description: 'Checks trailing blank lines and final newline.'
1119
1119
  StyleGuide: '#newline-eof'
1120
1120
  Enabled: true
1121
- VersionAdded: 0.49
1121
+ VersionAdded: '0.49'
1122
1122
  EnforcedStyle: final_newline
1123
1123
  SupportedStyles:
1124
1124
  - final_newline
@@ -1128,8 +1128,8 @@ Layout/TrailingWhitespace:
1128
1128
  Description: 'Avoid trailing whitespace.'
1129
1129
  StyleGuide: '#no-trailing-whitespace'
1130
1130
  Enabled: true
1131
- VersionAdded: 0.49
1132
- VersionChanged: 0.55
1131
+ VersionAdded: '0.49'
1132
+ VersionChanged: '0.55'
1133
1133
  AllowInHeredoc: false
1134
1134
 
1135
1135
  #################### Lint ##################################
@@ -1141,7 +1141,7 @@ Lint/AmbiguousBlockAssociation:
1141
1141
  parentheses.
1142
1142
  StyleGuide: '#syntax'
1143
1143
  Enabled: true
1144
- VersionAdded: 0.48
1144
+ VersionAdded: '0.48'
1145
1145
 
1146
1146
  Lint/AmbiguousOperator:
1147
1147
  Description: >-
@@ -1149,148 +1149,148 @@ Lint/AmbiguousOperator:
1149
1149
  method invocation without parentheses.
1150
1150
  StyleGuide: '#method-invocation-parens'
1151
1151
  Enabled: true
1152
- VersionAdded: 0.17
1152
+ VersionAdded: '0.17'
1153
1153
 
1154
1154
  Lint/AmbiguousRegexpLiteral:
1155
1155
  Description: >-
1156
1156
  Checks for ambiguous regexp literals in the first argument of
1157
1157
  a method invocation without parentheses.
1158
1158
  Enabled: true
1159
- VersionAdded: 0.17
1159
+ VersionAdded: '0.17'
1160
1160
 
1161
1161
  Lint/AssignmentInCondition:
1162
1162
  Description: "Don't use assignment in conditions."
1163
1163
  StyleGuide: '#safe-assignment-in-condition'
1164
1164
  Enabled: true
1165
- VersionAdded: 0.9
1165
+ VersionAdded: '0.9'
1166
1166
  AllowSafeAssignment: true
1167
1167
 
1168
1168
  Lint/BigDecimalNew:
1169
1169
  Description: '`BigDecimal.new()` is deprecated. Use `BigDecimal()` instead.'
1170
1170
  Enabled: true
1171
- VersionAdded: 0.53
1171
+ VersionAdded: '0.53'
1172
1172
 
1173
1173
  Lint/BooleanSymbol:
1174
1174
  Description: 'Check for `:true` and `:false` symbols.'
1175
1175
  Enabled: true
1176
- VersionAdded: 0.50
1176
+ VersionAdded: '0.50'
1177
1177
 
1178
1178
  Lint/CircularArgumentReference:
1179
1179
  Description: "Default values in optional keyword arguments and optional ordinal arguments should not refer back to the name of the argument."
1180
1180
  Enabled: true
1181
- VersionAdded: 0.33
1181
+ VersionAdded: '0.33'
1182
1182
 
1183
1183
  Lint/Debugger:
1184
1184
  Description: 'Check for debugger calls.'
1185
1185
  Enabled: true
1186
- VersionAdded: 0.14
1187
- VersionChanged: 0.49
1186
+ VersionAdded: '0.14'
1187
+ VersionChanged: '0.49'
1188
1188
 
1189
1189
  Lint/DeprecatedClassMethods:
1190
1190
  Description: 'Check for deprecated class method calls.'
1191
1191
  Enabled: true
1192
- VersionAdded: 0.19
1192
+ VersionAdded: '0.19'
1193
1193
 
1194
1194
  Lint/DuplicateCaseCondition:
1195
1195
  Description: 'Do not repeat values in case conditionals.'
1196
1196
  Enabled: true
1197
- VersionAdded: 0.45
1197
+ VersionAdded: '0.45'
1198
1198
 
1199
1199
  Lint/DuplicateMethods:
1200
1200
  Description: 'Check for duplicate method definitions.'
1201
1201
  Enabled: true
1202
- VersionAdded: 0.29
1202
+ VersionAdded: '0.29'
1203
1203
 
1204
1204
  Lint/DuplicatedKey:
1205
1205
  Description: 'Check for duplicate keys in hash literals.'
1206
1206
  Enabled: true
1207
- VersionAdded: 0.34
1207
+ VersionAdded: '0.34'
1208
1208
 
1209
1209
  Lint/EachWithObjectArgument:
1210
1210
  Description: 'Check for immutable argument given to each_with_object.'
1211
1211
  Enabled: true
1212
- VersionAdded: 0.31
1212
+ VersionAdded: '0.31'
1213
1213
 
1214
1214
  Lint/ElseLayout:
1215
1215
  Description: 'Check for odd code arrangement in an else block.'
1216
1216
  Enabled: true
1217
- VersionAdded: 0.17
1217
+ VersionAdded: '0.17'
1218
1218
 
1219
1219
  Lint/EmptyEnsure:
1220
1220
  Description: 'Checks for empty ensure block.'
1221
1221
  Enabled: true
1222
- VersionAdded: 0.10
1223
- VersionChanged: 0.48
1222
+ VersionAdded: '0.10'
1223
+ VersionChanged: '0.48'
1224
1224
  AutoCorrect: false
1225
1225
 
1226
1226
  Lint/EmptyExpression:
1227
1227
  Description: 'Checks for empty expressions.'
1228
1228
  Enabled: true
1229
- VersionAdded: 0.45
1229
+ VersionAdded: '0.45'
1230
1230
 
1231
1231
  Lint/EmptyInterpolation:
1232
1232
  Description: 'Checks for empty string interpolation.'
1233
1233
  Enabled: true
1234
- VersionAdded: 0.20
1235
- VersionChanged: 0.45
1234
+ VersionAdded: '0.20'
1235
+ VersionChanged: '0.45'
1236
1236
 
1237
1237
  Lint/EmptyWhen:
1238
1238
  Description: 'Checks for `when` branches with empty bodies.'
1239
1239
  Enabled: true
1240
- VersionAdded: 0.45
1240
+ VersionAdded: '0.45'
1241
1241
 
1242
1242
  Lint/EndInMethod:
1243
1243
  Description: 'END blocks should not be placed inside method definitions.'
1244
1244
  Enabled: true
1245
- VersionAdded: 0.9
1245
+ VersionAdded: '0.9'
1246
1246
 
1247
1247
  Lint/EnsureReturn:
1248
1248
  Description: 'Do not use return in an ensure block.'
1249
1249
  StyleGuide: '#no-return-ensure'
1250
1250
  Enabled: true
1251
- VersionAdded: 0.9
1251
+ VersionAdded: '0.9'
1252
1252
 
1253
1253
  Lint/ErbNewArguments:
1254
1254
  Description: 'Use `:trim_mode` and `:eoutvar` keyword arguments to `ERB.new`.'
1255
1255
  Enabled: true
1256
- VersionAdded: 0.56
1256
+ VersionAdded: '0.56'
1257
1257
 
1258
1258
  Lint/FloatOutOfRange:
1259
1259
  Description: >-
1260
1260
  Catches floating-point literals too large or small for Ruby to
1261
1261
  represent.
1262
1262
  Enabled: true
1263
- VersionAdded: 0.36
1263
+ VersionAdded: '0.36'
1264
1264
 
1265
1265
  Lint/FormatParameterMismatch:
1266
1266
  Description: 'The number of parameters to format/sprint must match the fields.'
1267
1267
  Enabled: true
1268
- VersionAdded: 0.33
1268
+ VersionAdded: '0.33'
1269
1269
 
1270
1270
  Lint/HandleExceptions:
1271
1271
  Description: "Don't suppress exception."
1272
1272
  StyleGuide: '#dont-hide-exceptions'
1273
1273
  Enabled: true
1274
- VersionAdded: 0.9
1274
+ VersionAdded: '0.9'
1275
1275
 
1276
1276
  Lint/ImplicitStringConcatenation:
1277
1277
  Description: >-
1278
1278
  Checks for adjacent string literals on the same line, which
1279
1279
  could better be represented as a single string literal.
1280
1280
  Enabled: true
1281
- VersionAdded: 0.36
1281
+ VersionAdded: '0.36'
1282
1282
 
1283
1283
  Lint/IneffectiveAccessModifier:
1284
1284
  Description: >-
1285
1285
  Checks for attempts to use `private` or `protected` to set
1286
1286
  the visibility of a class method, which does not work.
1287
1287
  Enabled: true
1288
- VersionAdded: 0.36
1288
+ VersionAdded: '0.36'
1289
1289
 
1290
1290
  Lint/InheritException:
1291
1291
  Description: 'Avoid inheriting from the `Exception` class.'
1292
1292
  Enabled: true
1293
- VersionAdded: 0.41
1293
+ VersionAdded: '0.41'
1294
1294
  # The default base class in favour of `Exception`.
1295
1295
  EnforcedStyle: runtime_error
1296
1296
  SupportedStyles:
@@ -1300,18 +1300,18 @@ Lint/InheritException:
1300
1300
  Lint/InterpolationCheck:
1301
1301
  Description: 'Raise warning for interpolation in single q strs'
1302
1302
  Enabled: true
1303
- VersionAdded: 0.50
1303
+ VersionAdded: '0.50'
1304
1304
 
1305
1305
  Lint/LiteralAsCondition:
1306
1306
  Description: 'Checks of literals used in conditions.'
1307
1307
  Enabled: true
1308
- VersionAdded: 0.51
1308
+ VersionAdded: '0.51'
1309
1309
 
1310
1310
  Lint/LiteralInInterpolation:
1311
1311
  Description: 'Checks for literals used in interpolation.'
1312
1312
  Enabled: true
1313
- VersionAdded: 0.19
1314
- VersionChanged: 0.32
1313
+ VersionAdded: '0.19'
1314
+ VersionChanged: '0.32'
1315
1315
 
1316
1316
  Lint/Loop:
1317
1317
  Description: >-
@@ -1319,12 +1319,12 @@ Lint/Loop:
1319
1319
  begin/end/while for post-loop tests.
1320
1320
  StyleGuide: '#loop-with-break'
1321
1321
  Enabled: true
1322
- VersionAdded: 0.9
1322
+ VersionAdded: '0.9'
1323
1323
 
1324
1324
  Lint/MissingCopEnableDirective:
1325
1325
  Description: 'Checks for a `# rubocop:enable` after `# rubocop:disable`'
1326
1326
  Enabled: true
1327
- VersionAdded: 0.52
1327
+ VersionAdded: '0.52'
1328
1328
  # Maximum number of consecutive lines the cop can be disabled for.
1329
1329
  # 0 allows only single-line disables
1330
1330
  # 1 would mean the maximum allowed is the following:
@@ -1337,40 +1337,40 @@ Lint/MissingCopEnableDirective:
1337
1337
  Lint/MultipleCompare:
1338
1338
  Description: "Use `&&` operator to compare multiple value."
1339
1339
  Enabled: true
1340
- VersionAdded: 0.47
1340
+ VersionAdded: '0.47'
1341
1341
 
1342
1342
  Lint/NestedMethodDefinition:
1343
1343
  Description: 'Do not use nested method definitions.'
1344
1344
  StyleGuide: '#no-nested-methods'
1345
1345
  Enabled: true
1346
- VersionAdded: 0.32
1346
+ VersionAdded: '0.32'
1347
1347
 
1348
1348
  Lint/NestedPercentLiteral:
1349
1349
  Description: 'Checks for nested percent literals.'
1350
1350
  Enabled: true
1351
- VersionAdded: 0.52
1351
+ VersionAdded: '0.52'
1352
1352
 
1353
1353
  Lint/NextWithoutAccumulator:
1354
1354
  Description: >-
1355
1355
  Do not omit the accumulator when calling `next`
1356
1356
  in a `reduce`/`inject` block.
1357
1357
  Enabled: true
1358
- VersionAdded: 0.36
1358
+ VersionAdded: '0.36'
1359
1359
 
1360
1360
  Lint/NonLocalExitFromIterator:
1361
1361
  Description: 'Do not use return in iterator to cause non-local exit.'
1362
1362
  Enabled: true
1363
- VersionAdded: 0.30
1363
+ VersionAdded: '0.30'
1364
1364
 
1365
1365
  Lint/NumberConversion:
1366
1366
  Description: 'Checks unsafe usage of number conversion methods.'
1367
1367
  Enabled: false
1368
- VersionAdded: 0.53
1368
+ VersionAdded: '0.53'
1369
1369
 
1370
1370
  Lint/OrderedMagicComments:
1371
1371
  Description: 'Checks the proper ordering of magic comments and whether a magic comment is not placed before a shebang.'
1372
1372
  Enabled: true
1373
- VersionAdded: 0.53
1373
+ VersionAdded: '0.53'
1374
1374
 
1375
1375
  Lint/ParenthesesAsGroupedExpression:
1376
1376
  Description: >-
@@ -1378,73 +1378,73 @@ Lint/ParenthesesAsGroupedExpression:
1378
1378
  parenthesis.
1379
1379
  StyleGuide: '#parens-no-spaces'
1380
1380
  Enabled: true
1381
- VersionAdded: 0.12
1381
+ VersionAdded: '0.12'
1382
1382
 
1383
1383
  Lint/PercentStringArray:
1384
1384
  Description: >-
1385
1385
  Checks for unwanted commas and quotes in %w/%W literals.
1386
1386
  Enabled: true
1387
- VersionAdded: 0.41
1387
+ VersionAdded: '0.41'
1388
1388
 
1389
1389
  Lint/PercentSymbolArray:
1390
1390
  Description: >-
1391
1391
  Checks for unwanted commas and colons in %i/%I literals.
1392
1392
  Enabled: true
1393
- VersionAdded: 0.41
1393
+ VersionAdded: '0.41'
1394
1394
 
1395
1395
  Lint/RandOne:
1396
1396
  Description: >-
1397
1397
  Checks for `rand(1)` calls. Such calls always return `0`
1398
1398
  and most likely a mistake.
1399
1399
  Enabled: true
1400
- VersionAdded: 0.36
1400
+ VersionAdded: '0.36'
1401
1401
 
1402
1402
  Lint/RedundantWithIndex:
1403
1403
  Description: 'Checks for redundant `with_index`.'
1404
1404
  Enabled: true
1405
- VersionAdded: 0.50
1405
+ VersionAdded: '0.50'
1406
1406
 
1407
1407
  Lint/RedundantWithObject:
1408
1408
  Description: 'Checks for redundant `with_object`.'
1409
1409
  Enabled: true
1410
- VersionAdded: 0.51
1410
+ VersionAdded: '0.51'
1411
1411
 
1412
1412
  Lint/RegexpAsCondition:
1413
1413
  Description: >-
1414
1414
  Do not use regexp literal as a condition.
1415
1415
  The regexp literal matches `$_` implicitly.
1416
1416
  Enabled: true
1417
- VersionAdded: 0.51
1417
+ VersionAdded: '0.51'
1418
1418
 
1419
1419
  Lint/RequireParentheses:
1420
1420
  Description: >-
1421
1421
  Use parentheses in the method call to avoid confusion
1422
1422
  about precedence.
1423
1423
  Enabled: true
1424
- VersionAdded: 0.18
1424
+ VersionAdded: '0.18'
1425
1425
 
1426
1426
  Lint/RescueException:
1427
1427
  Description: 'Avoid rescuing the Exception class.'
1428
1428
  StyleGuide: '#no-blind-rescues'
1429
1429
  Enabled: true
1430
- VersionAdded: 0.9
1431
- VersionChanged: 0.27.1
1430
+ VersionAdded: '0.9'
1431
+ VersionChanged: '0.27.1'
1432
1432
 
1433
1433
  Lint/RescueType:
1434
1434
  Description: 'Avoid rescuing from non constants that could result in a `TypeError`.'
1435
1435
  Enabled: true
1436
- VersionAdded: 0.49
1436
+ VersionAdded: '0.49'
1437
1437
 
1438
1438
  Lint/ReturnInVoidContext:
1439
1439
  Description: 'Checks for return in void context.'
1440
1440
  Enabled: true
1441
- VersionAdded: 0.50
1441
+ VersionAdded: '0.50'
1442
1442
 
1443
1443
  Lint/SafeNavigationChain:
1444
1444
  Description: 'Do not chain ordinary method call after safe navigation operator.'
1445
1445
  Enabled: true
1446
- VersionAdded: 0.47
1447
- VersionChanged: 0.56
1446
+ VersionAdded: '0.47'
1447
+ VersionChanged: '0.56'
1448
1448
  Whitelist:
1449
1449
  - present?
1450
1450
  - blank?
@@ -1458,7 +1458,7 @@ Lint/SafeNavigationConsistency:
1458
1458
  call in an `&&` or `||` condition that safe navigation is used
1459
1459
  for all method calls on that same object.
1460
1460
  Enabled: true
1461
- VersionAdded: 0.55
1461
+ VersionAdded: '0.55'
1462
1462
  Whitelist:
1463
1463
  - present?
1464
1464
  - blank?
@@ -1470,13 +1470,13 @@ Lint/SafeNavigationConsistency:
1470
1470
  Lint/ScriptPermission:
1471
1471
  Description: 'Grant script file execute permission.'
1472
1472
  Enabled: true
1473
- VersionAdded: 0.49
1474
- VersionChanged: 0.50
1473
+ VersionAdded: '0.49'
1474
+ VersionChanged: '0.50'
1475
1475
 
1476
1476
  Lint/ShadowedArgument:
1477
1477
  Description: 'Avoid reassigning arguments before they were used.'
1478
1478
  Enabled: true
1479
- VersionAdded: 0.52
1479
+ VersionAdded: '0.52'
1480
1480
  IgnoreImplicitReferences: false
1481
1481
 
1482
1482
 
@@ -1485,37 +1485,37 @@ Lint/ShadowedException:
1485
1485
  Avoid rescuing a higher level exception
1486
1486
  before a lower level exception.
1487
1487
  Enabled: true
1488
- VersionAdded: 0.41
1488
+ VersionAdded: '0.41'
1489
1489
 
1490
1490
  Lint/ShadowingOuterLocalVariable:
1491
1491
  Description: >-
1492
1492
  Do not use the same name as outer local variable
1493
1493
  for block arguments or block local variables.
1494
1494
  Enabled: true
1495
- VersionAdded: 0.9
1495
+ VersionAdded: '0.9'
1496
1496
 
1497
1497
  Lint/StringConversionInInterpolation:
1498
1498
  Description: 'Checks for Object#to_s usage in string interpolation.'
1499
1499
  StyleGuide: '#no-to-s'
1500
1500
  Enabled: true
1501
- VersionAdded: 0.19
1502
- VersionChanged: 0.20
1501
+ VersionAdded: '0.19'
1502
+ VersionChanged: '0.20'
1503
1503
 
1504
1504
  Lint/Syntax:
1505
1505
  Description: 'Checks syntax error'
1506
1506
  Enabled: true
1507
- VersionAdded: 0.9
1507
+ VersionAdded: '0.9'
1508
1508
 
1509
1509
 
1510
1510
  Lint/UnderscorePrefixedVariableName:
1511
1511
  Description: 'Do not use prefix `_` for a variable that is used.'
1512
1512
  Enabled: true
1513
- VersionAdded: 0.21
1513
+ VersionAdded: '0.21'
1514
1514
 
1515
1515
  Lint/UnifiedInteger:
1516
1516
  Description: 'Use Integer instead of Fixnum or Bignum'
1517
1517
  Enabled: true
1518
- VersionAdded: 0.43
1518
+ VersionAdded: '0.43'
1519
1519
 
1520
1520
  Lint/UnneededCopDisableDirective:
1521
1521
  Description: >-
@@ -1523,34 +1523,34 @@ Lint/UnneededCopDisableDirective:
1523
1523
  Note: this cop is not disabled when disabling all cops.
1524
1524
  It must be explicitly disabled.
1525
1525
  Enabled: true
1526
- VersionAdded: 0.53
1526
+ VersionAdded: '0.53'
1527
1527
 
1528
1528
  Lint/UnneededCopEnableDirective:
1529
1529
  Description: Checks for rubocop:enable comments that can be removed.
1530
1530
  Enabled: true
1531
- VersionAdded: 0.53
1531
+ VersionAdded: '0.53'
1532
1532
 
1533
1533
  Lint/UnneededRequireStatement:
1534
1534
  Description: 'Checks for unnecessary `require` statement.'
1535
1535
  Enabled: true
1536
- VersionAdded: 0.51
1536
+ VersionAdded: '0.51'
1537
1537
 
1538
1538
  Lint/UnneededSplatExpansion:
1539
1539
  Description: 'Checks for splat unnecessarily being called on literals'
1540
1540
  Enabled: true
1541
- VersionAdded: 0.43
1541
+ VersionAdded: '0.43'
1542
1542
 
1543
1543
  Lint/UnreachableCode:
1544
1544
  Description: 'Unreachable code.'
1545
1545
  Enabled: true
1546
- VersionAdded: 0.9
1546
+ VersionAdded: '0.9'
1547
1547
 
1548
1548
  Lint/UnusedBlockArgument:
1549
1549
  Description: 'Checks for unused block arguments.'
1550
1550
  StyleGuide: '#underscore-unused-vars'
1551
1551
  Enabled: true
1552
- VersionAdded: 0.21
1553
- VersionChanged: 0.22
1552
+ VersionAdded: '0.21'
1553
+ VersionChanged: '0.22'
1554
1554
  IgnoreEmptyBlocks: true
1555
1555
  AllowUnusedKeywordArguments: false
1556
1556
 
@@ -1558,8 +1558,8 @@ Lint/UnusedMethodArgument:
1558
1558
  Description: 'Checks for unused method arguments.'
1559
1559
  StyleGuide: '#underscore-unused-vars'
1560
1560
  Enabled: true
1561
- VersionAdded: 0.21
1562
- VersionChanged: 0.35
1561
+ VersionAdded: '0.21'
1562
+ VersionChanged: '0.35'
1563
1563
  AllowUnusedKeywordArguments: false
1564
1564
  IgnoreEmptyMethods: true
1565
1565
 
@@ -1572,18 +1572,18 @@ Lint/UriEscapeUnescape:
1572
1572
  `CGI.unescape`, `URI.decode_www_form` or `URI.decode_www_form_component`
1573
1573
  depending on your specific use case.
1574
1574
  Enabled: true
1575
- VersionAdded: 0.50
1575
+ VersionAdded: '0.50'
1576
1576
 
1577
1577
  Lint/UriRegexp:
1578
1578
  Description: 'Use `URI::DEFAULT_PARSER.make_regexp` instead of `URI.regexp`.'
1579
1579
  Enabled: true
1580
- VersionAdded: 0.50
1580
+ VersionAdded: '0.50'
1581
1581
 
1582
1582
  Lint/UselessAccessModifier:
1583
1583
  Description: 'Checks for useless access modifiers.'
1584
1584
  Enabled: true
1585
- VersionAdded: 0.20
1586
- VersionChanged: 0.47
1585
+ VersionAdded: '0.20'
1586
+ VersionChanged: '0.47'
1587
1587
  ContextCreatingMethods: []
1588
1588
  MethodCreatingMethods: []
1589
1589
 
@@ -1591,27 +1591,27 @@ Lint/UselessAssignment:
1591
1591
  Description: 'Checks for useless assignment to a local variable.'
1592
1592
  StyleGuide: '#underscore-unused-vars'
1593
1593
  Enabled: true
1594
- VersionAdded: 0.11
1594
+ VersionAdded: '0.11'
1595
1595
 
1596
1596
  Lint/UselessComparison:
1597
1597
  Description: 'Checks for comparison of something with itself.'
1598
1598
  Enabled: true
1599
- VersionAdded: 0.11
1599
+ VersionAdded: '0.11'
1600
1600
 
1601
1601
  Lint/UselessElseWithoutRescue:
1602
1602
  Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
1603
1603
  Enabled: true
1604
- VersionAdded: 0.17
1604
+ VersionAdded: '0.17'
1605
1605
 
1606
1606
  Lint/UselessSetterCall:
1607
1607
  Description: 'Checks for useless setter call to a local variable.'
1608
1608
  Enabled: true
1609
- VersionAdded: 0.13
1609
+ VersionAdded: '0.13'
1610
1610
 
1611
1611
  Lint/Void:
1612
1612
  Description: 'Possible use of operator/literal/variable in void context.'
1613
1613
  Enabled: true
1614
- VersionAdded: 0.9
1614
+ VersionAdded: '0.9'
1615
1615
  CheckForMethodsWithNoSideEffects: false
1616
1616
 
1617
1617
  #################### Metrics ###############################
@@ -1622,7 +1622,7 @@ Metrics/AbcSize:
1622
1622
  branches, and conditions.
1623
1623
  Reference: 'http://c2.com/cgi/wiki?AbcMetric'
1624
1624
  Enabled: true
1625
- VersionAdded: 0.27
1625
+ VersionAdded: '0.27'
1626
1626
  # The ABC size is a calculated magnitude, so this number can be an Integer or
1627
1627
  # a Float.
1628
1628
  Max: 15
@@ -1630,8 +1630,8 @@ Metrics/AbcSize:
1630
1630
  Metrics/BlockLength:
1631
1631
  Description: 'Avoid long blocks with many lines.'
1632
1632
  Enabled: true
1633
- VersionAdded: 0.44
1634
- VersionChanged: 0.58
1633
+ VersionAdded: '0.44'
1634
+ VersionChanged: '0.58'
1635
1635
  CountComments: false # count full line comments?
1636
1636
  Max: 25
1637
1637
  ExcludedMethods:
@@ -1643,15 +1643,15 @@ Metrics/BlockNesting:
1643
1643
  Description: 'Avoid excessive block nesting'
1644
1644
  StyleGuide: '#three-is-the-number-thou-shalt-count'
1645
1645
  Enabled: true
1646
- VersionAdded: 0.25
1647
- VersionChanged: 0.47
1646
+ VersionAdded: '0.25'
1647
+ VersionChanged: '0.47'
1648
1648
  CountBlocks: false
1649
1649
  Max: 3
1650
1650
 
1651
1651
  Metrics/ClassLength:
1652
1652
  Description: 'Avoid classes longer than 100 lines of code.'
1653
1653
  Enabled: true
1654
- VersionAdded: 0.25
1654
+ VersionAdded: '0.25'
1655
1655
  CountComments: false # count full line comments?
1656
1656
  Max: 100
1657
1657
 
@@ -1661,15 +1661,15 @@ Metrics/CyclomaticComplexity:
1661
1661
  A complexity metric that is strongly correlated to the number
1662
1662
  of test cases needed to validate a method.
1663
1663
  Enabled: true
1664
- VersionAdded: 0.25
1664
+ VersionAdded: '0.25'
1665
1665
  Max: 6
1666
1666
 
1667
1667
  Metrics/LineLength:
1668
1668
  Description: 'Limit lines to 80 characters.'
1669
1669
  StyleGuide: '#80-character-limits'
1670
1670
  Enabled: true
1671
- VersionAdded: 0.25
1672
- VersionChanged: 0.46
1671
+ VersionAdded: '0.25'
1672
+ VersionChanged: '0.46'
1673
1673
  Max: 80
1674
1674
  # To make it possible to copy or click on URIs in the code, we allow lines
1675
1675
  # containing a URI to be longer than Max.
@@ -1690,8 +1690,8 @@ Metrics/MethodLength:
1690
1690
  Description: 'Avoid methods longer than 10 lines of code.'
1691
1691
  StyleGuide: '#short-methods'
1692
1692
  Enabled: true
1693
- VersionAdded: 0.25
1694
- VersionChanged: 0.59.2
1693
+ VersionAdded: '0.25'
1694
+ VersionChanged: '0.59.2'
1695
1695
  CountComments: false # count full line comments?
1696
1696
  Max: 10
1697
1697
  ExcludedMethods: []
@@ -1699,7 +1699,7 @@ Metrics/MethodLength:
1699
1699
  Metrics/ModuleLength:
1700
1700
  Description: 'Avoid modules longer than 100 lines of code.'
1701
1701
  Enabled: true
1702
- VersionAdded: 0.31
1702
+ VersionAdded: '0.31'
1703
1703
  CountComments: false # count full line comments?
1704
1704
  Max: 100
1705
1705
 
@@ -1707,7 +1707,7 @@ Metrics/ParameterLists:
1707
1707
  Description: 'Avoid parameter lists longer than three or four parameters.'
1708
1708
  StyleGuide: '#too-many-params'
1709
1709
  Enabled: true
1710
- VersionAdded: 0.25
1710
+ VersionAdded: '0.25'
1711
1711
  Max: 5
1712
1712
  CountKeywordArgs: true
1713
1713
 
@@ -1716,7 +1716,7 @@ Metrics/PerceivedComplexity:
1716
1716
  A complexity metric geared towards measuring complexity for a
1717
1717
  human reader.
1718
1718
  Enabled: true
1719
- VersionAdded: 0.25
1719
+ VersionAdded: '0.25'
1720
1720
  Max: 7
1721
1721
 
1722
1722
  #################### Naming ##############################
@@ -1725,37 +1725,37 @@ Naming/AccessorMethodName:
1725
1725
  Description: Check the naming of accessor methods for get_/set_.
1726
1726
  StyleGuide: '#accessor_mutator_method_names'
1727
1727
  Enabled: true
1728
- VersionAdded: 0.50
1728
+ VersionAdded: '0.50'
1729
1729
 
1730
1730
  Naming/AsciiIdentifiers:
1731
1731
  Description: 'Use only ascii symbols in identifiers.'
1732
1732
  StyleGuide: '#english-identifiers'
1733
1733
  Enabled: true
1734
- VersionAdded: 0.50
1734
+ VersionAdded: '0.50'
1735
1735
 
1736
1736
  Naming/BinaryOperatorParameterName:
1737
1737
  Description: 'When defining binary operators, name the argument other.'
1738
1738
  StyleGuide: '#other-arg'
1739
1739
  Enabled: true
1740
- VersionAdded: 0.50
1740
+ VersionAdded: '0.50'
1741
1741
 
1742
1742
  Naming/ClassAndModuleCamelCase:
1743
1743
  Description: 'Use CamelCase for classes and modules.'
1744
1744
  StyleGuide: '#camelcase-classes'
1745
1745
  Enabled: true
1746
- VersionAdded: 0.50
1746
+ VersionAdded: '0.50'
1747
1747
 
1748
1748
  Naming/ConstantName:
1749
1749
  Description: 'Constants should use SCREAMING_SNAKE_CASE.'
1750
1750
  StyleGuide: '#screaming-snake-case'
1751
1751
  Enabled: true
1752
- VersionAdded: 0.50
1752
+ VersionAdded: '0.50'
1753
1753
 
1754
1754
  Naming/FileName:
1755
1755
  Description: 'Use snake_case for source file names.'
1756
1756
  StyleGuide: '#snake-case-files'
1757
1757
  Enabled: true
1758
- VersionAdded: 0.50
1758
+ VersionAdded: '0.50'
1759
1759
  # Camel case file names listed in `AllCops:Include` and all file names listed
1760
1760
  # in `AllCops:Exclude` are excluded by default. Add extra excludes here.
1761
1761
  Exclude: []
@@ -1819,7 +1819,7 @@ Naming/HeredocDelimiterCase:
1819
1819
  Description: 'Use configured case for heredoc delimiters.'
1820
1820
  StyleGuide: '#heredoc-delimiters'
1821
1821
  Enabled: true
1822
- VersionAdded: 0.50
1822
+ VersionAdded: '0.50'
1823
1823
  EnforcedStyle: uppercase
1824
1824
  SupportedStyles:
1825
1825
  - lowercase
@@ -1829,7 +1829,7 @@ Naming/HeredocDelimiterNaming:
1829
1829
  Description: 'Use descriptive heredoc delimiters.'
1830
1830
  StyleGuide: '#heredoc-delimiters'
1831
1831
  Enabled: true
1832
- VersionAdded: 0.50
1832
+ VersionAdded: '0.50'
1833
1833
  Blacklist:
1834
1834
  - !ruby/regexp '/(^|\s)(EO[A-Z]{1}|END)(\s|$)/'
1835
1835
 
@@ -1837,8 +1837,8 @@ Naming/MemoizedInstanceVariableName:
1837
1837
  Description: >-
1838
1838
  Memoized method name should match memo instance variable name.
1839
1839
  Enabled: true
1840
- VersionAdded: 0.53
1841
- VersionChanged: 0.58
1840
+ VersionAdded: '0.53'
1841
+ VersionChanged: '0.58'
1842
1842
  EnforcedStyleForLeadingUnderscores: disallowed
1843
1843
  SupportedStylesForLeadingUnderscores:
1844
1844
  - disallowed
@@ -1849,7 +1849,7 @@ Naming/MethodName:
1849
1849
  Description: 'Use the configured style when naming methods.'
1850
1850
  StyleGuide: '#snake-case-symbols-methods-vars'
1851
1851
  Enabled: true
1852
- VersionAdded: 0.50
1852
+ VersionAdded: '0.50'
1853
1853
  EnforcedStyle: snake_case
1854
1854
  SupportedStyles:
1855
1855
  - snake_case
@@ -1859,8 +1859,8 @@ Naming/PredicateName:
1859
1859
  Description: 'Check the names of predicate methods.'
1860
1860
  StyleGuide: '#bool-methods-qmark'
1861
1861
  Enabled: true
1862
- VersionAdded: 0.50
1863
- VersionChanged: 0.51
1862
+ VersionAdded: '0.50'
1863
+ VersionChanged: '0.51'
1864
1864
  # Predicate name prefixes.
1865
1865
  NamePrefix:
1866
1866
  - is_
@@ -1889,7 +1889,7 @@ Naming/UncommunicativeBlockParamName:
1889
1889
  Checks for block parameter names that contain capital letters,
1890
1890
  end in numbers, or do not meet a minimal length.
1891
1891
  Enabled: true
1892
- VersionAdded: 0.53
1892
+ VersionAdded: '0.53'
1893
1893
  # Parameter names may be equal to or greater than this value
1894
1894
  MinNameLength: 1
1895
1895
  AllowNamesEndingInNumbers: true
@@ -1903,8 +1903,8 @@ Naming/UncommunicativeMethodParamName:
1903
1903
  Checks for method parameter names that contain capital letters,
1904
1904
  end in numbers, or do not meet a minimal length.
1905
1905
  Enabled: true
1906
- VersionAdded: 0.53
1907
- VersionChanged: 0.59
1906
+ VersionAdded: '0.53'
1907
+ VersionChanged: '0.59'
1908
1908
  # Parameter names may be equal to or greater than this value
1909
1909
  MinNameLength: 3
1910
1910
  AllowNamesEndingInNumbers: true
@@ -1927,7 +1927,7 @@ Naming/VariableName:
1927
1927
  Description: 'Use the configured style when naming variables.'
1928
1928
  StyleGuide: '#snake-case-symbols-methods-vars'
1929
1929
  Enabled: true
1930
- VersionAdded: 0.50
1930
+ VersionAdded: '0.50'
1931
1931
  EnforcedStyle: snake_case
1932
1932
  SupportedStyles:
1933
1933
  - snake_case
@@ -1936,7 +1936,7 @@ Naming/VariableName:
1936
1936
  Naming/VariableNumber:
1937
1937
  Description: 'Use the configured style when numbering variables.'
1938
1938
  Enabled: true
1939
- VersionAdded: 0.50
1939
+ VersionAdded: '0.50'
1940
1940
  EnforcedStyle: normalcase
1941
1941
  SupportedStyles:
1942
1942
  - snake_case
@@ -1949,7 +1949,7 @@ Performance/Caller:
1949
1949
  Description: >-
1950
1950
  Use `caller(n..n)` instead of `caller`.
1951
1951
  Enabled: true
1952
- VersionAdded: 0.49
1952
+ VersionAdded: '0.49'
1953
1953
 
1954
1954
  Performance/CaseWhenSplat:
1955
1955
  Description: >-
@@ -1958,15 +1958,15 @@ Performance/CaseWhenSplat:
1958
1958
  Enabled: false
1959
1959
  AutoCorrect: false
1960
1960
  SafeAutoCorrect: false
1961
- VersionAdded: 0.34
1962
- VersionChanged: 0.59
1961
+ VersionAdded: '0.34'
1962
+ VersionChanged: '0.59'
1963
1963
 
1964
1964
  Performance/Casecmp:
1965
1965
  Description: >-
1966
1966
  Use `casecmp` rather than `downcase ==`, `upcase ==`, `== downcase`, or `== upcase`..
1967
1967
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code'
1968
1968
  Enabled: true
1969
- VersionAdded: 0.36
1969
+ VersionAdded: '0.36'
1970
1970
 
1971
1971
  Performance/ChainArrayAllocation:
1972
1972
  Description: >-
@@ -1974,12 +1974,12 @@ Performance/ChainArrayAllocation:
1974
1974
  existing array.
1975
1975
  Reference: 'https://twitter.com/schneems/status/1034123879978029057'
1976
1976
  Enabled: false
1977
- VersionAdded: 0.59
1977
+ VersionAdded: '0.59'
1978
1978
 
1979
1979
  Performance/CompareWithBlock:
1980
1980
  Description: 'Use `sort_by(&:foo)` instead of `sort { |a, b| a.foo <=> b.foo }`.'
1981
1981
  Enabled: true
1982
- VersionAdded: 0.46
1982
+ VersionAdded: '0.46'
1983
1983
 
1984
1984
  Performance/Count:
1985
1985
  Description: >-
@@ -1992,8 +1992,8 @@ Performance/Count:
1992
1992
  # If you understand the known risk, you can disable `SafeMode`.
1993
1993
  SafeMode: true
1994
1994
  Enabled: true
1995
- VersionAdded: 0.31
1996
- VersionChanged: 0.39
1995
+ VersionAdded: '0.31'
1996
+ VersionChanged: '0.39'
1997
1997
 
1998
1998
  Performance/Detect:
1999
1999
  Description: >-
@@ -2006,16 +2006,16 @@ Performance/Detect:
2006
2006
  # should be considered unsafe.
2007
2007
  SafeMode: true
2008
2008
  Enabled: true
2009
- VersionAdded: 0.30
2010
- VersionChanged: 0.39
2009
+ VersionAdded: '0.30'
2010
+ VersionChanged: '0.39'
2011
2011
 
2012
2012
  Performance/DoubleStartEndWith:
2013
2013
  Description: >-
2014
2014
  Use `str.{start,end}_with?(x, ..., y, ...)`
2015
2015
  instead of `str.{start,end}_with?(x, ...) || str.{start,end}_with?(y, ...)`.
2016
2016
  Enabled: true
2017
- VersionAdded: 0.36
2018
- VersionChanged: 0.48
2017
+ VersionAdded: '0.36'
2018
+ VersionChanged: '0.48'
2019
2019
  # Used to check for `starts_with?` and `ends_with?`.
2020
2020
  # These methods are defined by `ActiveSupport`.
2021
2021
  IncludeActiveSupportAliases: false
@@ -2029,13 +2029,13 @@ Performance/EndWith:
2029
2029
  SafeAutoCorrect: false
2030
2030
  AutoCorrect: false
2031
2031
  Enabled: true
2032
- VersionAdded: 0.36
2033
- VersionChanged: 0.44
2032
+ VersionAdded: '0.36'
2033
+ VersionChanged: '0.44'
2034
2034
 
2035
2035
  Performance/FixedSize:
2036
2036
  Description: 'Do not compute the size of statically sized objects except in constants'
2037
2037
  Enabled: true
2038
- VersionAdded: 0.35
2038
+ VersionAdded: '0.35'
2039
2039
 
2040
2040
  Performance/FlatMap:
2041
2041
  Description: >-
@@ -2044,7 +2044,7 @@ Performance/FlatMap:
2044
2044
  or `Enumberable#collect..Array#flatten(1)`
2045
2045
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
2046
2046
  Enabled: true
2047
- VersionAdded: 0.30
2047
+ VersionAdded: '0.30'
2048
2048
  EnabledForFlattenWithoutParams: false
2049
2049
  # If enabled, this cop will warn about usages of
2050
2050
  # `flatten` being called without any parameters.
@@ -2055,45 +2055,51 @@ Performance/InefficientHashSearch:
2055
2055
  Description: 'Use `key?` or `value?` instead of `keys.include?` or `values.include?`'
2056
2056
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#hashkey-instead-of-hashkeysinclude-code'
2057
2057
  Enabled: true
2058
- VersionAdded: 0.56
2058
+ VersionAdded: '0.56'
2059
2059
  Safe: false
2060
2060
 
2061
2061
  Performance/LstripRstrip:
2062
2062
  Description: 'Use `strip` instead of `lstrip.rstrip`.'
2063
2063
  Enabled: true
2064
- VersionAdded: 0.36
2064
+ VersionAdded: '0.36'
2065
+
2066
+ Performance/OpenStruct:
2067
+ Description: 'Use `Struct` instead of `OpenStruct`.'
2068
+ Enabled: false
2069
+ VersionAdded: '0.61'
2070
+ Safe: false
2065
2071
 
2066
2072
  Performance/RangeInclude:
2067
2073
  Description: 'Use `Range#cover?` instead of `Range#include?`.'
2068
2074
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#cover-vs-include-code'
2069
2075
  Enabled: true
2070
- VersionAdded: 0.36
2076
+ VersionAdded: '0.36'
2071
2077
 
2072
2078
  Performance/RedundantBlockCall:
2073
2079
  Description: 'Use `yield` instead of `block.call`.'
2074
2080
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#proccall-and-block-arguments-vs-yieldcode'
2075
2081
  Enabled: true
2076
- VersionAdded: 0.36
2082
+ VersionAdded: '0.36'
2077
2083
 
2078
2084
  Performance/RedundantMatch:
2079
2085
  Description: >-
2080
2086
  Use `=~` instead of `String#match` or `Regexp#match` in a context where the
2081
2087
  returned `MatchData` is not needed.
2082
2088
  Enabled: true
2083
- VersionAdded: 0.36
2089
+ VersionAdded: '0.36'
2084
2090
 
2085
2091
  Performance/RedundantMerge:
2086
2092
  Description: 'Use Hash#[]=, rather than Hash#merge! with a single key-value pair.'
2087
2093
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#hashmerge-vs-hash-code'
2088
2094
  Enabled: true
2089
- VersionAdded: 0.36
2095
+ VersionAdded: '0.36'
2090
2096
  # Max number of key-value pairs to consider an offense
2091
2097
  MaxKeyValuePairs: 2
2092
2098
 
2093
2099
  Performance/RedundantSortBy:
2094
2100
  Description: 'Use `sort` instead of `sort_by { |x| x }`.'
2095
2101
  Enabled: true
2096
- VersionAdded: 0.36
2102
+ VersionAdded: '0.36'
2097
2103
 
2098
2104
  Performance/RegexpMatch:
2099
2105
  Description: >-
@@ -2101,13 +2107,13 @@ Performance/RegexpMatch:
2101
2107
  `Regexp#===`, or `=~` when `MatchData` is not used.
2102
2108
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#regexp-vs-stringmatch-vs-string-vs-stringmatch-code-'
2103
2109
  Enabled: true
2104
- VersionAdded: 0.47
2110
+ VersionAdded: '0.47'
2105
2111
 
2106
2112
  Performance/ReverseEach:
2107
2113
  Description: 'Use `reverse_each` instead of `reverse.each`.'
2108
2114
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
2109
2115
  Enabled: true
2110
- VersionAdded: 0.30
2116
+ VersionAdded: '0.30'
2111
2117
 
2112
2118
  Performance/Sample:
2113
2119
  Description: >-
@@ -2115,7 +2121,7 @@ Performance/Sample:
2115
2121
  `shuffle.last`, and `shuffle[Integer]`.
2116
2122
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
2117
2123
  Enabled: true
2118
- VersionAdded: 0.30
2124
+ VersionAdded: '0.30'
2119
2125
 
2120
2126
  Performance/Size:
2121
2127
  Description: >-
@@ -2123,7 +2129,7 @@ Performance/Size:
2123
2129
  the number of elements in `Array` and `Hash`.
2124
2130
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraylength-vs-arraysize-vs-arraycount-code'
2125
2131
  Enabled: true
2126
- VersionAdded: 0.30
2132
+ VersionAdded: '0.30'
2127
2133
 
2128
2134
  Performance/StartWith:
2129
2135
  Description: 'Use `start_with?` instead of a regex match anchored to the beginning of a string.'
@@ -2134,8 +2140,8 @@ Performance/StartWith:
2134
2140
  SafeAutoCorrect: false
2135
2141
  AutoCorrect: false
2136
2142
  Enabled: true
2137
- VersionAdded: 0.36
2138
- VersionChanged: 0.44
2143
+ VersionAdded: '0.36'
2144
+ VersionChanged: '0.44'
2139
2145
 
2140
2146
  Performance/StringReplacement:
2141
2147
  Description: >-
@@ -2144,32 +2150,32 @@ Performance/StringReplacement:
2144
2150
  you are deleting characters.
2145
2151
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
2146
2152
  Enabled: true
2147
- VersionAdded: 0.33
2153
+ VersionAdded: '0.33'
2148
2154
 
2149
2155
  Performance/TimesMap:
2150
2156
  Description: 'Checks for .times.map calls.'
2151
2157
  AutoCorrect: false
2152
2158
  Enabled: true
2153
- VersionAdded: 0.36
2154
- VersionChanged: 0.50
2159
+ VersionAdded: '0.36'
2160
+ VersionChanged: '0.50'
2155
2161
  SafeAutoCorrect: false # see https://github.com/rubocop-hq/rubocop/issues/4658
2156
2162
 
2157
2163
  Performance/UnfreezeString:
2158
2164
  Description: 'Use unary plus to get an unfrozen string literal.'
2159
2165
  Enabled: true
2160
- VersionAdded: 0.50
2166
+ VersionAdded: '0.50'
2161
2167
 
2162
2168
  Performance/UnneededSort:
2163
2169
  Description: >-
2164
2170
  Use `min` instead of `sort.first`,
2165
2171
  `max_by` instead of `sort_by...last`, etc.
2166
2172
  Enabled: true
2167
- VersionAdded: 0.55
2173
+ VersionAdded: '0.55'
2168
2174
 
2169
2175
  Performance/UriDefaultParser:
2170
2176
  Description: 'Use `URI::DEFAULT_PARSER` instead of `URI::Parser.new`.'
2171
2177
  Enabled: true
2172
- VersionAdded: 0.50
2178
+ VersionAdded: '0.50'
2173
2179
 
2174
2180
  #################### Rails #################################
2175
2181
 
@@ -2181,7 +2187,7 @@ Rails:
2181
2187
  Rails/ActionFilter:
2182
2188
  Description: 'Enforces consistent use of action filter methods.'
2183
2189
  Enabled: true
2184
- VersionAdded: 0.19
2190
+ VersionAdded: '0.19'
2185
2191
  EnforcedStyle: action
2186
2192
  SupportedStyles:
2187
2193
  - action
@@ -2195,7 +2201,7 @@ Rails/ActiveRecordAliases:
2195
2201
  Use `update` instead of `update_attributes`.
2196
2202
  Use `update!` instead of `update_attributes!`.
2197
2203
  Enabled: true
2198
- VersionAdded: 0.53
2204
+ VersionAdded: '0.53'
2199
2205
 
2200
2206
  Rails/ActiveSupportAliases:
2201
2207
  Description: >-
@@ -2203,29 +2209,29 @@ Rails/ActiveSupportAliases:
2203
2209
  `String#starts_with?`, `String#ends_with?`,
2204
2210
  `Array#append`, `Array#prepend`.
2205
2211
  Enabled: true
2206
- VersionAdded: 0.48
2212
+ VersionAdded: '0.48'
2207
2213
 
2208
2214
  Rails/ApplicationJob:
2209
2215
  Description: 'Check that jobs subclass ApplicationJob.'
2210
2216
  Enabled: true
2211
- VersionAdded: 0.49
2217
+ VersionAdded: '0.49'
2212
2218
 
2213
2219
  Rails/ApplicationRecord:
2214
2220
  Description: 'Check that models subclass ApplicationRecord.'
2215
2221
  Enabled: true
2216
- VersionAdded: 0.49
2222
+ VersionAdded: '0.49'
2217
2223
 
2218
2224
  Rails/AssertNot:
2219
2225
  Description: 'Use `assert_not` instead of `assert !`.'
2220
2226
  Enabled: true
2221
- VersionAdded: 0.56
2227
+ VersionAdded: '0.56'
2222
2228
  Include:
2223
2229
  - '**/test/**/*'
2224
2230
 
2225
2231
  Rails/Blank:
2226
2232
  Description: 'Enforces use of `blank?`.'
2227
2233
  Enabled: true
2228
- VersionAdded: 0.48
2234
+ VersionAdded: '0.48'
2229
2235
  # Convert usages of `nil? || empty?` to `blank?`
2230
2236
  NilOrEmpty: true
2231
2237
  # Convert usages of `!present?` to `blank?`
@@ -2236,7 +2242,7 @@ Rails/Blank:
2236
2242
  Rails/BulkChangeTable:
2237
2243
  Description: 'Check whether alter queries are combinable.'
2238
2244
  Enabled: true
2239
- VersionAdded: 0.57
2245
+ VersionAdded: '0.57'
2240
2246
  Database: null
2241
2247
  SupportedDatabases:
2242
2248
  - mysql
@@ -2249,7 +2255,7 @@ Rails/CreateTableWithTimestamps:
2249
2255
  Checks the migration for which timestamps are not included
2250
2256
  when creating a new table.
2251
2257
  Enabled: true
2252
- VersionAdded: 0.52
2258
+ VersionAdded: '0.52'
2253
2259
  Include:
2254
2260
  - db/migrate/*.rb
2255
2261
 
@@ -2258,8 +2264,8 @@ Rails/Date:
2258
2264
  Checks the correct usage of date aware methods,
2259
2265
  such as Date.today, Date.current etc.
2260
2266
  Enabled: true
2261
- VersionAdded: 0.30
2262
- VersionChanged: 0.33
2267
+ VersionAdded: '0.30'
2268
+ VersionChanged: '0.33'
2263
2269
  # The value `strict` disallows usage of `Date.today`, `Date.current`,
2264
2270
  # `Date#to_time` etc.
2265
2271
  # The value `flexible` allows usage of `Date.current`, `Date.yesterday`, etc
@@ -2273,8 +2279,8 @@ Rails/Date:
2273
2279
  Rails/Delegate:
2274
2280
  Description: 'Prefer delegate method for delegations.'
2275
2281
  Enabled: true
2276
- VersionAdded: 0.21
2277
- VersionChanged: 0.50
2282
+ VersionAdded: '0.21'
2283
+ VersionChanged: '0.50'
2278
2284
  # When set to true, using the target object as a prefix of the
2279
2285
  # method name without using the `delegate` method will be a
2280
2286
  # violation. When set to false, this case is legal.
@@ -2283,27 +2289,27 @@ Rails/Delegate:
2283
2289
  Rails/DelegateAllowBlank:
2284
2290
  Description: 'Do not use allow_blank as an option to delegate.'
2285
2291
  Enabled: true
2286
- VersionAdded: 0.44
2292
+ VersionAdded: '0.44'
2287
2293
 
2288
2294
  Rails/DynamicFindBy:
2289
2295
  Description: 'Use `find_by` instead of dynamic `find_by_*`.'
2290
2296
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#find_by'
2291
2297
  Enabled: true
2292
- VersionAdded: 0.44
2298
+ VersionAdded: '0.44'
2293
2299
  Whitelist:
2294
2300
  - find_by_sql
2295
2301
 
2296
2302
  Rails/EnumUniqueness:
2297
2303
  Description: 'Avoid duplicate integers in hash-syntax `enum` declaration.'
2298
2304
  Enabled: true
2299
- VersionAdded: 0.46
2305
+ VersionAdded: '0.46'
2300
2306
  Include:
2301
2307
  - app/models/**/*.rb
2302
2308
 
2303
2309
  Rails/EnvironmentComparison:
2304
2310
  Description: "Favor `Rails.env.production?` over `Rails.env == 'production'`"
2305
2311
  Enabled: true
2306
- VersionAdded: 0.52
2312
+ VersionAdded: '0.52'
2307
2313
 
2308
2314
  Rails/Exit:
2309
2315
  Description: >-
@@ -2311,7 +2317,7 @@ Rails/Exit:
2311
2317
  application or library code outside of Rake files to avoid
2312
2318
  exits during unit testing or running in production.
2313
2319
  Enabled: true
2314
- VersionAdded: 0.41
2320
+ VersionAdded: '0.41'
2315
2321
  Include:
2316
2322
  - app/**/*.rb
2317
2323
  - config/**/*.rb
@@ -2322,8 +2328,8 @@ Rails/Exit:
2322
2328
  Rails/FilePath:
2323
2329
  Description: 'Use `Rails.root.join` for file path joining.'
2324
2330
  Enabled: true
2325
- VersionAdded: 0.47
2326
- VersionChanged: 0.57
2331
+ VersionAdded: '0.47'
2332
+ VersionChanged: '0.57'
2327
2333
  EnforcedStyle: arguments
2328
2334
  SupportedStyles:
2329
2335
  - slashes
@@ -2333,7 +2339,7 @@ Rails/FindBy:
2333
2339
  Description: 'Prefer find_by over where.first.'
2334
2340
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#find_by'
2335
2341
  Enabled: true
2336
- VersionAdded: 0.30
2342
+ VersionAdded: '0.30'
2337
2343
  Include:
2338
2344
  - app/models/**/*.rb
2339
2345
 
@@ -2341,7 +2347,7 @@ Rails/FindEach:
2341
2347
  Description: 'Prefer all.find_each over all.find.'
2342
2348
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#find-each'
2343
2349
  Enabled: true
2344
- VersionAdded: 0.30
2350
+ VersionAdded: '0.30'
2345
2351
  Include:
2346
2352
  - app/models/**/*.rb
2347
2353
 
@@ -2349,7 +2355,7 @@ Rails/HasAndBelongsToMany:
2349
2355
  Description: 'Prefer has_many :through to has_and_belongs_to_many.'
2350
2356
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#has-many-through'
2351
2357
  Enabled: true
2352
- VersionAdded: 0.12
2358
+ VersionAdded: '0.12'
2353
2359
  Include:
2354
2360
  - app/models/**/*.rb
2355
2361
 
@@ -2357,14 +2363,14 @@ Rails/HasManyOrHasOneDependent:
2357
2363
  Description: 'Define the dependent option to the has_many and has_one associations.'
2358
2364
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#has_many-has_one-dependent-option'
2359
2365
  Enabled: true
2360
- VersionAdded: 0.50
2366
+ VersionAdded: '0.50'
2361
2367
  Include:
2362
2368
  - app/models/**/*.rb
2363
2369
 
2364
2370
  Rails/HttpPositionalArguments:
2365
2371
  Description: 'Use keyword arguments instead of positional arguments in http method calls.'
2366
2372
  Enabled: true
2367
- VersionAdded: 0.44
2373
+ VersionAdded: '0.44'
2368
2374
  Include:
2369
2375
  - 'spec/**/*'
2370
2376
  - 'test/**/*'
@@ -2372,7 +2378,7 @@ Rails/HttpPositionalArguments:
2372
2378
  Rails/HttpStatus:
2373
2379
  Description: 'Enforces use of symbolic or numeric value to define HTTP status.'
2374
2380
  Enabled: true
2375
- VersionAdded: 0.54
2381
+ VersionAdded: '0.54'
2376
2382
  EnforcedStyle: symbolic
2377
2383
  SupportedStyles:
2378
2384
  - numeric
@@ -2381,7 +2387,7 @@ Rails/HttpStatus:
2381
2387
  Rails/InverseOf:
2382
2388
  Description: 'Checks for associations where the inverse cannot be determined automatically.'
2383
2389
  Enabled: true
2384
- VersionAdded: 0.52
2390
+ VersionAdded: '0.52'
2385
2391
  Include:
2386
2392
  - app/models/**/*.rb
2387
2393
 
@@ -2389,22 +2395,22 @@ Rails/LexicallyScopedActionFilter:
2389
2395
  Description: "Checks that methods specified in the filter's `only` or `except` options are explicitly defined in the controller."
2390
2396
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#lexically-scoped-action-filter'
2391
2397
  Enabled: true
2392
- VersionAdded: 0.52
2398
+ VersionAdded: '0.52'
2393
2399
  Include:
2394
2400
  - app/controllers/**/*.rb
2395
2401
 
2396
2402
  Rails/NotNullColumn:
2397
2403
  Description: 'Do not add a NOT NULL column without a default value'
2398
2404
  Enabled: true
2399
- VersionAdded: 0.43
2405
+ VersionAdded: '0.43'
2400
2406
  Include:
2401
2407
  - db/migrate/*.rb
2402
2408
 
2403
2409
  Rails/Output:
2404
2410
  Description: 'Checks for calls to puts, print, etc.'
2405
2411
  Enabled: true
2406
- VersionAdded: 0.15
2407
- VersionChanged: 0.19
2412
+ VersionAdded: '0.15'
2413
+ VersionChanged: '0.19'
2408
2414
  Include:
2409
2415
  - app/**/*.rb
2410
2416
  - config/**/*.rb
@@ -2414,22 +2420,22 @@ Rails/Output:
2414
2420
  Rails/OutputSafety:
2415
2421
  Description: 'The use of `html_safe` or `raw` may be a security risk.'
2416
2422
  Enabled: true
2417
- VersionAdded: 0.41
2423
+ VersionAdded: '0.41'
2418
2424
 
2419
2425
  Rails/PluralizationGrammar:
2420
2426
  Description: 'Checks for incorrect grammar when using methods like `3.day.ago`.'
2421
2427
  Enabled: true
2422
- VersionAdded: 0.35
2428
+ VersionAdded: '0.35'
2423
2429
 
2424
2430
  Rails/Presence:
2425
2431
  Description: 'Checks code that can be written more easily using `Object#presence` defined by Active Support.'
2426
2432
  Enabled: true
2427
- VersionAdded: 0.52
2433
+ VersionAdded: '0.52'
2428
2434
 
2429
2435
  Rails/Present:
2430
2436
  Description: 'Enforces use of `present?`.'
2431
2437
  Enabled: true
2432
- VersionAdded: 0.48
2438
+ VersionAdded: '0.48'
2433
2439
  # Convert usages of `!nil? && !empty?` to `present?`
2434
2440
  NotNilAndNotEmpty: true
2435
2441
  # Convert usages of `!blank?` to `present?`
@@ -2443,34 +2449,34 @@ Rails/ReadWriteAttribute:
2443
2449
  write_attribute(:attr, val).
2444
2450
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#read-attribute'
2445
2451
  Enabled: true
2446
- VersionAdded: 0.20
2447
- VersionChanged: 0.29
2452
+ VersionAdded: '0.20'
2453
+ VersionChanged: '0.29'
2448
2454
  Include:
2449
2455
  - app/models/**/*.rb
2450
2456
 
2451
2457
  Rails/RedundantReceiverInWithOptions:
2452
2458
  Description: 'Checks for redundant receiver in `with_options`.'
2453
2459
  Enabled: true
2454
- VersionAdded: 0.52
2460
+ VersionAdded: '0.52'
2455
2461
 
2456
2462
  Rails/RefuteMethods:
2457
2463
  Description: 'Use `assert_not` methods instead of `refute` methods.'
2458
2464
  Enabled: true
2459
- VersionAdded: 0.56
2465
+ VersionAdded: '0.56'
2460
2466
  Include:
2461
2467
  - '**/test/**/*'
2462
2468
 
2463
2469
  Rails/RelativeDateConstant:
2464
2470
  Description: 'Do not assign relative date to constants.'
2465
2471
  Enabled: true
2466
- VersionAdded: 0.48
2467
- VersionChanged: 0.59
2472
+ VersionAdded: '0.48'
2473
+ VersionChanged: '0.59'
2468
2474
  AutoCorrect: false
2469
2475
 
2470
2476
  Rails/RequestReferer:
2471
2477
  Description: 'Use consistent syntax for request.referer.'
2472
2478
  Enabled: true
2473
- VersionAdded: 0.41
2479
+ VersionAdded: '0.41'
2474
2480
  EnforcedStyle: referer
2475
2481
  SupportedStyles:
2476
2482
  - referer
@@ -2479,16 +2485,16 @@ Rails/RequestReferer:
2479
2485
  Rails/ReversibleMigration:
2480
2486
  Description: 'Checks whether the change method of the migration file is reversible.'
2481
2487
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#reversible-migration'
2482
- Reference: 'http://api.rubyonrails.org/classes/ActiveRecord/Migration/CommandRecorder.html'
2488
+ Reference: 'https://api.rubyonrails.org/classes/ActiveRecord/Migration/CommandRecorder.html'
2483
2489
  Enabled: true
2484
- VersionAdded: 0.47
2490
+ VersionAdded: '0.47'
2485
2491
  Include:
2486
2492
  - db/migrate/*.rb
2487
2493
 
2488
2494
  Rails/SafeNavigation:
2489
2495
  Description: "Use Ruby's safe navigation operator (`&.`) instead of `try!`"
2490
2496
  Enabled: true
2491
- VersionAdded: 0.43
2497
+ VersionAdded: '0.43'
2492
2498
  # This will convert usages of `try` to use safe navigation as well as `try!`.
2493
2499
  # `try` and `try!` work slightly differently. `try!` and safe navigation will
2494
2500
  # both raise a `NoMethodError` if the receiver of the method call does not
@@ -2499,15 +2505,15 @@ Rails/SaveBang:
2499
2505
  Description: 'Identifies possible cases where Active Record save! or related should be used.'
2500
2506
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#save-bang'
2501
2507
  Enabled: false
2502
- VersionAdded: 0.42
2503
- VersionChanged: 0.59
2508
+ VersionAdded: '0.42'
2509
+ VersionChanged: '0.59'
2504
2510
  AllowImplicitReturn: true
2505
2511
  AllowedReceivers: []
2506
2512
 
2507
2513
  Rails/ScopeArgs:
2508
2514
  Description: 'Checks the arguments of ActiveRecord scopes.'
2509
2515
  Enabled: true
2510
- VersionAdded: 0.19
2516
+ VersionAdded: '0.19'
2511
2517
  Include:
2512
2518
  - app/models/**/*.rb
2513
2519
 
@@ -2515,10 +2521,10 @@ Rails/SkipsModelValidations:
2515
2521
  Description: >-
2516
2522
  Use methods that skips model validations with caution.
2517
2523
  See reference for more information.
2518
- Reference: 'http://guides.rubyonrails.org/active_record_validations.html#skipping-validations'
2524
+ Reference: 'https://guides.rubyonrails.org/active_record_validations.html#skipping-validations'
2519
2525
  Enabled: true
2520
- VersionAdded: 0.47
2521
- VersionChanged: 0.59
2526
+ VersionAdded: '0.47'
2527
+ VersionChanged: '0.60'
2522
2528
  Blacklist:
2523
2529
  - decrement!
2524
2530
  - decrement_counter
@@ -2538,8 +2544,8 @@ Rails/TimeZone:
2538
2544
  StyleGuide: 'https://github.com/rubocop-hq/rails-style-guide#time'
2539
2545
  Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
2540
2546
  Enabled: true
2541
- VersionAdded: 0.30
2542
- VersionChanged: 0.33
2547
+ VersionAdded: '0.30'
2548
+ VersionChanged: '0.33'
2543
2549
  # The value `strict` means that `Time` should be used with `zone`.
2544
2550
  # The value `flexible` allows usage of `in_time_zone` instead of `zone`.
2545
2551
  EnforcedStyle: flexible
@@ -2550,8 +2556,8 @@ Rails/TimeZone:
2550
2556
  Rails/UniqBeforePluck:
2551
2557
  Description: 'Prefer the use of uniq or distinct before pluck.'
2552
2558
  Enabled: true
2553
- VersionAdded: 0.40
2554
- VersionChanged: 0.47
2559
+ VersionAdded: '0.40'
2560
+ VersionChanged: '0.47'
2555
2561
  EnforcedStyle: conservative
2556
2562
  SupportedStyles:
2557
2563
  - conservative
@@ -2561,7 +2567,7 @@ Rails/UniqBeforePluck:
2561
2567
  Rails/UnknownEnv:
2562
2568
  Description: 'Use correct environment name.'
2563
2569
  Enabled: true
2564
- VersionAdded: 0.51
2570
+ VersionAdded: '0.51'
2565
2571
  Environments:
2566
2572
  - development
2567
2573
  - test
@@ -2570,8 +2576,8 @@ Rails/UnknownEnv:
2570
2576
  Rails/Validation:
2571
2577
  Description: 'Use validates :attribute, hash of validations.'
2572
2578
  Enabled: true
2573
- VersionAdded: 0.9
2574
- VersionChanged: 0.41
2579
+ VersionAdded: '0.9'
2580
+ VersionChanged: '0.41'
2575
2581
  Include:
2576
2582
  - app/models/**/*.rb
2577
2583
 
@@ -2580,16 +2586,16 @@ Rails/Validation:
2580
2586
  Security/Eval:
2581
2587
  Description: 'The use of eval represents a serious security risk.'
2582
2588
  Enabled: true
2583
- VersionAdded: 0.47
2589
+ VersionAdded: '0.47'
2584
2590
 
2585
2591
  Security/JSONLoad:
2586
2592
  Description: >-
2587
2593
  Prefer usage of `JSON.parse` over `JSON.load` due to potential
2588
2594
  security issues. See reference for more information.
2589
- Reference: 'http://ruby-doc.org/stdlib-2.3.0/libdoc/json/rdoc/JSON.html#method-i-load'
2595
+ Reference: 'https://ruby-doc.org/stdlib-2.3.0/libdoc/json/rdoc/JSON.html#method-i-load'
2590
2596
  Enabled: true
2591
- VersionAdded: 0.43
2592
- VersionChanged: 0.44
2597
+ VersionAdded: '0.43'
2598
+ VersionChanged: '0.44'
2593
2599
  # Autocorrect here will change to a method that may cause crashes depending
2594
2600
  # on the value of the argument.
2595
2601
  AutoCorrect: false
@@ -2599,14 +2605,14 @@ Security/MarshalLoad:
2599
2605
  Description: >-
2600
2606
  Avoid using of `Marshal.load` or `Marshal.restore` due to potential
2601
2607
  security issues. See reference for more information.
2602
- Reference: 'http://ruby-doc.org/core-2.3.3/Marshal.html#module-Marshal-label-Security+considerations'
2608
+ Reference: 'https://ruby-doc.org/core-2.3.3/Marshal.html#module-Marshal-label-Security+considerations'
2603
2609
  Enabled: true
2604
- VersionAdded: 0.47
2610
+ VersionAdded: '0.47'
2605
2611
 
2606
2612
  Security/Open:
2607
2613
  Description: 'The use of Kernel#open represents a serious security risk.'
2608
2614
  Enabled: true
2609
- VersionAdded: 0.53
2615
+ VersionAdded: '0.53'
2610
2616
  Safe: false
2611
2617
 
2612
2618
  Security/YAMLLoad:
@@ -2615,7 +2621,7 @@ Security/YAMLLoad:
2615
2621
  security issues. See reference for more information.
2616
2622
  Reference: 'https://ruby-doc.org/stdlib-2.3.3/libdoc/yaml/rdoc/YAML.html#module-YAML-label-Security'
2617
2623
  Enabled: true
2618
- VersionAdded: 0.47
2624
+ VersionAdded: '0.47'
2619
2625
  SafeAutoCorrect: false
2620
2626
 
2621
2627
  #################### Style ###############################
@@ -2623,7 +2629,7 @@ Security/YAMLLoad:
2623
2629
  Style/AccessModifierDeclarations:
2624
2630
  Description: 'Checks style of how access modifiers are used.'
2625
2631
  Enabled: true
2626
- VersionAdded: 0.57
2632
+ VersionAdded: '0.57'
2627
2633
  EnforcedStyle: group
2628
2634
  SupportedStyles:
2629
2635
  - inline
@@ -2633,8 +2639,8 @@ Style/Alias:
2633
2639
  Description: 'Use alias instead of alias_method.'
2634
2640
  StyleGuide: '#alias-method'
2635
2641
  Enabled: true
2636
- VersionAdded: 0.9
2637
- VersionChanged: 0.36
2642
+ VersionAdded: '0.9'
2643
+ VersionChanged: '0.36'
2638
2644
  EnforcedStyle: prefer_alias
2639
2645
  SupportedStyles:
2640
2646
  - prefer_alias
@@ -2644,8 +2650,8 @@ Style/AndOr:
2644
2650
  Description: 'Use &&/|| instead of and/or.'
2645
2651
  StyleGuide: '#no-and-or-or'
2646
2652
  Enabled: true
2647
- VersionAdded: 0.9
2648
- VersionChanged: 0.25
2653
+ VersionAdded: '0.9'
2654
+ VersionChanged: '0.25'
2649
2655
  # Whether `and` and `or` are banned only in conditionals (conditionals)
2650
2656
  # or completely (always).
2651
2657
  EnforcedStyle: always
@@ -2657,34 +2663,34 @@ Style/ArrayJoin:
2657
2663
  Description: 'Use Array#join instead of Array#*.'
2658
2664
  StyleGuide: '#array-join'
2659
2665
  Enabled: true
2660
- VersionAdded: 0.20
2661
- VersionChanged: 0.31
2666
+ VersionAdded: '0.20'
2667
+ VersionChanged: '0.31'
2662
2668
 
2663
2669
  Style/AsciiComments:
2664
2670
  Description: 'Use only ascii symbols in comments.'
2665
2671
  StyleGuide: '#english-comments'
2666
2672
  Enabled: true
2667
- VersionAdded: 0.9
2668
- VersionChanged: 0.52
2673
+ VersionAdded: '0.9'
2674
+ VersionChanged: '0.52'
2669
2675
  AllowedChars: []
2670
2676
 
2671
2677
  Style/Attr:
2672
2678
  Description: 'Checks for uses of Module#attr.'
2673
2679
  StyleGuide: '#attr'
2674
2680
  Enabled: true
2675
- VersionAdded: 0.9
2676
- VersionChanged: 0.12
2681
+ VersionAdded: '0.9'
2682
+ VersionChanged: '0.12'
2677
2683
 
2678
2684
  Style/AutoResourceCleanup:
2679
2685
  Description: 'Suggests the usage of an auto resource cleanup version of a method (if available).'
2680
2686
  Enabled: false
2681
- VersionAdded: 0.30
2687
+ VersionAdded: '0.30'
2682
2688
 
2683
2689
  Style/BarePercentLiterals:
2684
2690
  Description: 'Checks if usage of %() or %Q() matches configuration.'
2685
2691
  StyleGuide: '#percent-q-shorthand'
2686
2692
  Enabled: true
2687
- VersionAdded: 0.25
2693
+ VersionAdded: '0.25'
2688
2694
  EnforcedStyle: bare_percent
2689
2695
  SupportedStyles:
2690
2696
  - percent_q
@@ -2694,14 +2700,14 @@ Style/BeginBlock:
2694
2700
  Description: 'Avoid the use of BEGIN blocks.'
2695
2701
  StyleGuide: '#no-BEGIN-blocks'
2696
2702
  Enabled: true
2697
- VersionAdded: 0.9
2703
+ VersionAdded: '0.9'
2698
2704
 
2699
2705
  Style/BlockComments:
2700
2706
  Description: 'Do not use block comments.'
2701
2707
  StyleGuide: '#no-block-comments'
2702
2708
  Enabled: true
2703
- VersionAdded: 0.9
2704
- VersionChanged: 0.23
2709
+ VersionAdded: '0.9'
2710
+ VersionChanged: '0.23'
2705
2711
 
2706
2712
  Style/BlockDelimiters:
2707
2713
  Description: >-
@@ -2710,8 +2716,8 @@ Style/BlockDelimiters:
2710
2716
  Prefer {...} over do...end for single-line blocks.
2711
2717
  StyleGuide: '#single-line-blocks'
2712
2718
  Enabled: true
2713
- VersionAdded: 0.30
2714
- VersionChanged: 0.35
2719
+ VersionAdded: '0.30'
2720
+ VersionChanged: '0.35'
2715
2721
  EnforcedStyle: line_count_based
2716
2722
  SupportedStyles:
2717
2723
  # The `line_count_based` style enforces braces around single line blocks and
@@ -2785,8 +2791,8 @@ Style/BlockDelimiters:
2785
2791
  Style/BracesAroundHashParameters:
2786
2792
  Description: 'Enforce braces style around hash parameters.'
2787
2793
  Enabled: true
2788
- VersionAdded: 0.14.1
2789
- VersionChanged: 0.28
2794
+ VersionAdded: '0.14.1'
2795
+ VersionChanged: '0.28'
2790
2796
  EnforcedStyle: no_braces
2791
2797
  SupportedStyles:
2792
2798
  # The `braces` style enforces braces around all method parameters that are
@@ -2804,13 +2810,13 @@ Style/CaseEquality:
2804
2810
  Description: 'Avoid explicit use of the case equality operator(===).'
2805
2811
  StyleGuide: '#no-case-equality'
2806
2812
  Enabled: true
2807
- VersionAdded: 0.9
2813
+ VersionAdded: '0.9'
2808
2814
 
2809
2815
  Style/CharacterLiteral:
2810
2816
  Description: 'Checks for uses of character literals.'
2811
2817
  StyleGuide: '#no-character-literals'
2812
2818
  Enabled: true
2813
- VersionAdded: 0.9
2819
+ VersionAdded: '0.9'
2814
2820
 
2815
2821
  Style/ClassAndModuleChildren:
2816
2822
  Description: 'Checks style of children classes and modules.'
@@ -2823,7 +2829,7 @@ Style/ClassAndModuleChildren:
2823
2829
  SafeAutoCorrect: false
2824
2830
  AutoCorrect: false
2825
2831
  Enabled: true
2826
- VersionAdded: 0.19
2832
+ VersionAdded: '0.19'
2827
2833
  #
2828
2834
  # Basically there are two different styles:
2829
2835
  #
@@ -2846,7 +2852,7 @@ Style/ClassAndModuleChildren:
2846
2852
  Style/ClassCheck:
2847
2853
  Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
2848
2854
  Enabled: true
2849
- VersionAdded: 0.24
2855
+ VersionAdded: '0.24'
2850
2856
  EnforcedStyle: is_a?
2851
2857
  SupportedStyles:
2852
2858
  - is_a?
@@ -2856,22 +2862,22 @@ Style/ClassMethods:
2856
2862
  Description: 'Use self when defining module/class methods.'
2857
2863
  StyleGuide: '#def-self-class-methods'
2858
2864
  Enabled: true
2859
- VersionAdded: 0.9
2860
- VersionChanged: 0.20
2865
+ VersionAdded: '0.9'
2866
+ VersionChanged: '0.20'
2861
2867
 
2862
2868
  Style/ClassVars:
2863
2869
  Description: 'Avoid the use of class variables.'
2864
2870
  StyleGuide: '#no-class-vars'
2865
2871
  Enabled: true
2866
- VersionAdded: 0.13
2872
+ VersionAdded: '0.13'
2867
2873
 
2868
2874
  # Align with the style guide.
2869
2875
  Style/CollectionMethods:
2870
2876
  Description: 'Preferred collection methods.'
2871
2877
  StyleGuide: '#map-find-select-reduce-size'
2872
2878
  Enabled: false
2873
- VersionAdded: 0.9
2874
- VersionChanged: 0.27
2879
+ VersionAdded: '0.9'
2880
+ VersionChanged: '0.27'
2875
2881
  Safe: false
2876
2882
  # Mapping from undesired method to desired method
2877
2883
  # e.g. to use `detect` over `find`:
@@ -2890,19 +2896,19 @@ Style/ColonMethodCall:
2890
2896
  Description: 'Do not use :: for method call.'
2891
2897
  StyleGuide: '#double-colons'
2892
2898
  Enabled: true
2893
- VersionAdded: 0.9
2899
+ VersionAdded: '0.9'
2894
2900
 
2895
2901
  Style/ColonMethodDefinition:
2896
2902
  Description: 'Do not use :: for defining class methods.'
2897
2903
  StyleGuide: '#colon-method-definition'
2898
2904
  Enabled: true
2899
- VersionAdded: 0.52
2905
+ VersionAdded: '0.52'
2900
2906
 
2901
2907
  Style/CommandLiteral:
2902
2908
  Description: 'Use `` or %x around command literals.'
2903
2909
  StyleGuide: '#percent-x'
2904
2910
  Enabled: true
2905
- VersionAdded: 0.30
2911
+ VersionAdded: '0.30'
2906
2912
  EnforcedStyle: backticks
2907
2913
  # backticks: Always use backticks.
2908
2914
  # percent_x: Always use `%x`.
@@ -2922,8 +2928,8 @@ Style/CommentAnnotation:
2922
2928
  (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
2923
2929
  StyleGuide: '#annotate-keywords'
2924
2930
  Enabled: true
2925
- VersionAdded: 0.10
2926
- VersionChanged: 0.31
2931
+ VersionAdded: '0.10'
2932
+ VersionChanged: '0.31'
2927
2933
  Keywords:
2928
2934
  - TODO
2929
2935
  - FIXME
@@ -2934,7 +2940,7 @@ Style/CommentAnnotation:
2934
2940
  Style/CommentedKeyword:
2935
2941
  Description: 'Do not place comments on the same line as certain keywords.'
2936
2942
  Enabled: true
2937
- VersionAdded: 0.51
2943
+ VersionAdded: '0.51'
2938
2944
 
2939
2945
  Style/ConditionalAssignment:
2940
2946
  Description: >-
@@ -2942,8 +2948,8 @@ Style/ConditionalAssignment:
2942
2948
  assignment to a variable and variable comparison instead
2943
2949
  of assigning that variable inside of each branch.
2944
2950
  Enabled: true
2945
- VersionAdded: 0.36
2946
- VersionChanged: 0.47
2951
+ VersionAdded: '0.36'
2952
+ VersionChanged: '0.47'
2947
2953
  EnforcedStyle: assign_to_condition
2948
2954
  SupportedStyles:
2949
2955
  - assign_to_condition
@@ -2978,36 +2984,36 @@ Style/ConditionalAssignment:
2978
2984
  Style/Copyright:
2979
2985
  Description: 'Include a copyright notice in each file before any code.'
2980
2986
  Enabled: false
2981
- VersionAdded: 0.30
2987
+ VersionAdded: '0.30'
2982
2988
  Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
2983
2989
  AutocorrectNotice: ''
2984
2990
 
2985
2991
  Style/DateTime:
2986
- Description: 'Use Date or Time over DateTime.'
2992
+ Description: 'Use Time over DateTime.'
2987
2993
  StyleGuide: '#date--time'
2988
- Enabled: true
2989
- VersionAdded: 0.51
2990
- VersionChanged: 0.59
2994
+ Enabled: false
2995
+ VersionAdded: '0.51'
2996
+ VersionChanged: '0.59'
2991
2997
  AllowCoercion: false
2992
2998
 
2993
2999
  Style/DefWithParentheses:
2994
3000
  Description: 'Use def with parentheses when there are arguments.'
2995
3001
  StyleGuide: '#method-parens'
2996
3002
  Enabled: true
2997
- VersionAdded: 0.9
2998
- VersionChanged: 0.12
3003
+ VersionAdded: '0.9'
3004
+ VersionChanged: '0.12'
2999
3005
 
3000
3006
  Style/Dir:
3001
3007
  Description: >-
3002
3008
  Use the `__dir__` method to retrieve the canonicalized
3003
3009
  absolute path to the current file.
3004
3010
  Enabled: true
3005
- VersionAdded: 0.50
3011
+ VersionAdded: '0.50'
3006
3012
 
3007
3013
  Style/Documentation:
3008
3014
  Description: 'Document classes and non-namespace modules.'
3009
3015
  Enabled: true
3010
- VersionAdded: 0.9
3016
+ VersionAdded: '0.9'
3011
3017
  Exclude:
3012
3018
  - 'spec/**/*'
3013
3019
  - 'test/**/*'
@@ -3015,7 +3021,7 @@ Style/Documentation:
3015
3021
  Style/DocumentationMethod:
3016
3022
  Description: 'Checks for missing documentation comment for public methods.'
3017
3023
  Enabled: false
3018
- VersionAdded: 0.43
3024
+ VersionAdded: '0.43'
3019
3025
  Exclude:
3020
3026
  - 'spec/**/*'
3021
3027
  - 'test/**/*'
@@ -3025,36 +3031,36 @@ Style/DoubleNegation:
3025
3031
  Description: 'Checks for uses of double negation (!!).'
3026
3032
  StyleGuide: '#no-bang-bang'
3027
3033
  Enabled: true
3028
- VersionAdded: 0.19
3034
+ VersionAdded: '0.19'
3029
3035
 
3030
3036
  Style/EachForSimpleLoop:
3031
3037
  Description: >-
3032
3038
  Use `Integer#times` for a simple loop which iterates a fixed
3033
3039
  number of times.
3034
3040
  Enabled: true
3035
- VersionAdded: 0.41
3041
+ VersionAdded: '0.41'
3036
3042
 
3037
3043
  Style/EachWithObject:
3038
3044
  Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
3039
3045
  Enabled: true
3040
- VersionAdded: 0.22
3041
- VersionChanged: 0.42
3046
+ VersionAdded: '0.22'
3047
+ VersionChanged: '0.42'
3042
3048
 
3043
3049
  Style/EmptyBlockParameter:
3044
3050
  Description: 'Omit pipes for empty block parameters.'
3045
3051
  Enabled: true
3046
- VersionAdded: 0.52
3052
+ VersionAdded: '0.52'
3047
3053
 
3048
3054
  Style/EmptyCaseCondition:
3049
3055
  Description: 'Avoid empty condition in case statements.'
3050
3056
  Enabled: true
3051
- VersionAdded: 0.40
3057
+ VersionAdded: '0.40'
3052
3058
 
3053
3059
  Style/EmptyElse:
3054
3060
  Description: 'Avoid empty else-clauses.'
3055
3061
  Enabled: true
3056
- VersionAdded: 0.28
3057
- VersionChanged: 0.32
3062
+ VersionAdded: '0.28'
3063
+ VersionChanged: '0.32'
3058
3064
  EnforcedStyle: both
3059
3065
  # empty - warn only on empty `else`
3060
3066
  # nil - warn on `else` with nil in it
@@ -3067,20 +3073,20 @@ Style/EmptyElse:
3067
3073
  Style/EmptyLambdaParameter:
3068
3074
  Description: 'Omit parens for empty lambda parameters.'
3069
3075
  Enabled: true
3070
- VersionAdded: 0.52
3076
+ VersionAdded: '0.52'
3071
3077
 
3072
3078
  Style/EmptyLiteral:
3073
3079
  Description: 'Prefer literals to Array.new/Hash.new/String.new.'
3074
3080
  StyleGuide: '#literal-array-hash'
3075
3081
  Enabled: true
3076
- VersionAdded: 0.9
3077
- VersionChanged: 0.12
3082
+ VersionAdded: '0.9'
3083
+ VersionChanged: '0.12'
3078
3084
 
3079
3085
  Style/EmptyMethod:
3080
3086
  Description: 'Checks the formatting of empty method definitions.'
3081
3087
  StyleGuide: '#no-single-line-methods'
3082
3088
  Enabled: true
3083
- VersionAdded: 0.46
3089
+ VersionAdded: '0.46'
3084
3090
  EnforcedStyle: compact
3085
3091
  SupportedStyles:
3086
3092
  - compact
@@ -3090,44 +3096,44 @@ Style/Encoding:
3090
3096
  Description: 'Use UTF-8 as the source file encoding.'
3091
3097
  StyleGuide: '#utf-8'
3092
3098
  Enabled: true
3093
- VersionAdded: 0.9
3094
- VersionChanged: 0.50
3099
+ VersionAdded: '0.9'
3100
+ VersionChanged: '0.50'
3095
3101
 
3096
3102
  Style/EndBlock:
3097
3103
  Description: 'Avoid the use of END blocks.'
3098
3104
  StyleGuide: '#no-END-blocks'
3099
3105
  Enabled: true
3100
- VersionAdded: 0.9
3106
+ VersionAdded: '0.9'
3101
3107
 
3102
3108
  Style/EvalWithLocation:
3103
3109
  Description: 'Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces.'
3104
3110
  Enabled: true
3105
- VersionAdded: 0.52
3111
+ VersionAdded: '0.52'
3106
3112
 
3107
3113
  Style/EvenOdd:
3108
3114
  Description: 'Favor the use of Integer#even? && Integer#odd?'
3109
3115
  StyleGuide: '#predicate-methods'
3110
3116
  Enabled: true
3111
- VersionAdded: 0.12
3112
- VersionChanged: 0.29
3117
+ VersionAdded: '0.12'
3118
+ VersionChanged: '0.29'
3113
3119
 
3114
3120
  Style/ExpandPathArguments:
3115
3121
  Description: "Use `expand_path(__dir__)` instead of `expand_path('..', __FILE__)`."
3116
3122
  Enabled: true
3117
- VersionAdded: 0.53
3123
+ VersionAdded: '0.53'
3118
3124
 
3119
3125
  Style/FlipFlop:
3120
3126
  Description: 'Checks for flip flops'
3121
3127
  StyleGuide: '#no-flip-flops'
3122
3128
  Enabled: true
3123
- VersionAdded: 0.16
3129
+ VersionAdded: '0.16'
3124
3130
 
3125
3131
  Style/For:
3126
3132
  Description: 'Checks use of for or each in multiline loops.'
3127
3133
  StyleGuide: '#no-for-loops'
3128
3134
  Enabled: true
3129
- VersionAdded: 0.13
3130
- VersionChanged: 0.59
3135
+ VersionAdded: '0.13'
3136
+ VersionChanged: '0.59'
3131
3137
  EnforcedStyle: each
3132
3138
  SupportedStyles:
3133
3139
  - each
@@ -3137,8 +3143,8 @@ Style/FormatString:
3137
3143
  Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
3138
3144
  StyleGuide: '#sprintf'
3139
3145
  Enabled: true
3140
- VersionAdded: 0.19
3141
- VersionChanged: 0.49
3146
+ VersionAdded: '0.19'
3147
+ VersionChanged: '0.49'
3142
3148
  EnforcedStyle: format
3143
3149
  SupportedStyles:
3144
3150
  - format
@@ -3156,16 +3162,16 @@ Style/FormatStringToken:
3156
3162
  # Prefer simple looking "template" style tokens like `%{name}`, `%{age}`
3157
3163
  - template
3158
3164
  - unannotated
3159
- VersionAdded: 0.49
3160
- VersionChanged: 0.52
3165
+ VersionAdded: '0.49'
3166
+ VersionChanged: '0.52'
3161
3167
 
3162
3168
  Style/FrozenStringLiteralComment:
3163
3169
  Description: >-
3164
3170
  Add the frozen_string_literal comment to the top of files
3165
3171
  to help transition from Ruby 2.3.0 to Ruby 3.0.
3166
3172
  Enabled: true
3167
- VersionAdded: 0.36
3168
- VersionChanged: 0.47
3173
+ VersionAdded: '0.36'
3174
+ VersionChanged: '0.47'
3169
3175
  EnforcedStyle: when_needed
3170
3176
  SupportedStyles:
3171
3177
  # `when_needed` will add the frozen string literal comment to files
@@ -3183,9 +3189,9 @@ Style/FrozenStringLiteralComment:
3183
3189
  Style/GlobalVars:
3184
3190
  Description: 'Do not introduce global variables.'
3185
3191
  StyleGuide: '#instance-vars'
3186
- Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
3192
+ Reference: 'https://www.zenspider.com/ruby/quickref.html'
3187
3193
  Enabled: true
3188
- VersionAdded: 0.13
3194
+ VersionAdded: '0.13'
3189
3195
  # Built-in global variables are allowed by default.
3190
3196
  AllowedVariables: []
3191
3197
 
@@ -3193,8 +3199,8 @@ Style/GuardClause:
3193
3199
  Description: 'Check for conditionals that can be replaced with guard clauses'
3194
3200
  StyleGuide: '#no-nested-conditionals'
3195
3201
  Enabled: true
3196
- VersionAdded: 0.20
3197
- VersionChanged: 0.22
3202
+ VersionAdded: '0.20'
3203
+ VersionChanged: '0.22'
3198
3204
  # `MinBodyLength` defines the number of lines of the a body of an `if` or `unless`
3199
3205
  # needs to have to trigger this cop
3200
3206
  MinBodyLength: 1
@@ -3205,8 +3211,8 @@ Style/HashSyntax:
3205
3211
  { :a => 1, :b => 2 }.
3206
3212
  StyleGuide: '#hash-literals'
3207
3213
  Enabled: true
3208
- VersionAdded: 0.9
3209
- VersionChanged: 0.43
3214
+ VersionAdded: '0.9'
3215
+ VersionChanged: '0.43'
3210
3216
  EnforcedStyle: ruby19
3211
3217
  SupportedStyles:
3212
3218
  # checks for 1.9 syntax (e.g. {a: 1}) for all symbol keys
@@ -3228,12 +3234,12 @@ Style/IdenticalConditionalBranches:
3228
3234
  line at the end of each branch, which can validly be moved
3229
3235
  out of the conditional.
3230
3236
  Enabled: true
3231
- VersionAdded: 0.36
3237
+ VersionAdded: '0.36'
3232
3238
 
3233
3239
  Style/IfInsideElse:
3234
3240
  Description: 'Finds if nodes inside else, which can be converted to elsif.'
3235
3241
  Enabled: true
3236
- VersionAdded: 0.36
3242
+ VersionAdded: '0.36'
3237
3243
 
3238
3244
  Style/IfUnlessModifier:
3239
3245
  Description: >-
@@ -3241,39 +3247,40 @@ Style/IfUnlessModifier:
3241
3247
  single-line body.
3242
3248
  StyleGuide: '#if-as-a-modifier'
3243
3249
  Enabled: true
3244
- VersionAdded: 0.9
3245
- VersionChanged: 0.30
3250
+ VersionAdded: '0.9'
3251
+ VersionChanged: '0.30'
3246
3252
 
3247
3253
  Style/IfUnlessModifierOfIfUnless:
3248
3254
  Description: >-
3249
3255
  Avoid modifier if/unless usage on conditionals.
3250
3256
  Enabled: true
3251
- VersionAdded: 0.39
3257
+ VersionAdded: '0.39'
3252
3258
 
3253
3259
  Style/IfWithSemicolon:
3254
3260
  Description: 'Do not use if x; .... Use the ternary operator instead.'
3255
3261
  StyleGuide: '#no-semicolon-ifs'
3256
3262
  Enabled: true
3257
- VersionAdded: 0.9
3263
+ VersionAdded: '0.9'
3258
3264
 
3259
3265
  Style/ImplicitRuntimeError:
3260
3266
  Description: >-
3261
3267
  Use `raise` or `fail` with an explicit exception class and
3262
3268
  message, rather than just a message.
3263
3269
  Enabled: false
3264
- VersionAdded: 0.41
3270
+ VersionAdded: '0.41'
3265
3271
 
3266
3272
  Style/InfiniteLoop:
3267
3273
  Description: 'Use Kernel#loop for infinite loops.'
3268
3274
  StyleGuide: '#infinite-loop'
3269
3275
  Enabled: true
3270
- VersionAdded: 0.26
3271
- SafeAutoCorrect: false
3276
+ VersionAdded: '0.26'
3277
+ VersionChanged: '0.61'
3278
+ SafeAutoCorrect: true
3272
3279
 
3273
3280
  Style/InlineComment:
3274
3281
  Description: 'Avoid trailing inline comments.'
3275
3282
  Enabled: false
3276
- VersionAdded: 0.23
3283
+ VersionAdded: '0.23'
3277
3284
 
3278
3285
  Style/InverseMethods:
3279
3286
  Description: >-
@@ -3281,7 +3288,7 @@ Style/InverseMethods:
3281
3288
  if an inverse method is defined.
3282
3289
  Enabled: true
3283
3290
  Safe: false
3284
- VersionAdded: 0.48
3291
+ VersionAdded: '0.48'
3285
3292
  # `InverseMethods` are methods that can be inverted by a not (`not` or `!`)
3286
3293
  # The relationship of inverse methods only needs to be defined in one direction.
3287
3294
  # Keys and values both need to be defined as symbols.
@@ -3305,7 +3312,7 @@ Style/InverseMethods:
3305
3312
  Style/IpAddresses:
3306
3313
  Description: "Don't include literal IP addresses in code."
3307
3314
  Enabled: false
3308
- VersionAdded: 0.58
3315
+ VersionAdded: '0.58'
3309
3316
  # Allow strings to be whitelisted
3310
3317
  Whitelist:
3311
3318
  - "::"
@@ -3315,8 +3322,8 @@ Style/Lambda:
3315
3322
  Description: 'Use the new lambda literal syntax for single-line blocks.'
3316
3323
  StyleGuide: '#lambda-multi-line'
3317
3324
  Enabled: true
3318
- VersionAdded: 0.9
3319
- VersionChanged: 0.40
3325
+ VersionAdded: '0.9'
3326
+ VersionChanged: '0.40'
3320
3327
  EnforcedStyle: line_count_dependent
3321
3328
  SupportedStyles:
3322
3329
  - line_count_dependent
@@ -3327,8 +3334,8 @@ Style/LambdaCall:
3327
3334
  Description: 'Use lambda.call(...) instead of lambda.(...).'
3328
3335
  StyleGuide: '#proc-call'
3329
3336
  Enabled: true
3330
- VersionAdded: 0.13.1
3331
- VersionChanged: 0.14
3337
+ VersionAdded: '0.13.1'
3338
+ VersionChanged: '0.14'
3332
3339
  EnforcedStyle: call
3333
3340
  SupportedStyles:
3334
3341
  - call
@@ -3339,30 +3346,36 @@ Style/LineEndConcatenation:
3339
3346
  Use \ instead of + or << to concatenate two string literals at
3340
3347
  line end.
3341
3348
  Enabled: true
3342
- VersionAdded: 0.18
3349
+ VersionAdded: '0.18'
3343
3350
 
3344
3351
  Style/MethodCallWithArgsParentheses:
3345
3352
  Description: 'Use parentheses for method calls with arguments.'
3346
3353
  StyleGuide: '#method-invocation-parens'
3347
3354
  Enabled: false
3348
- VersionAdded: 0.47
3349
- VersionChanged: 0.48
3355
+ VersionAdded: '0.47'
3356
+ VersionChanged: '0.61'
3350
3357
  IgnoreMacros: true
3351
3358
  IgnoredMethods: []
3359
+ AllowParenthesesInMultilineCall: false
3360
+ AllowParenthesesInChaining: false
3361
+ EnforcedStyle: require_parentheses
3362
+ SupportedStyles:
3363
+ - require_parentheses
3364
+ - omit_parentheses
3352
3365
 
3353
3366
  Style/MethodCallWithoutArgsParentheses:
3354
3367
  Description: 'Do not use parentheses for method calls with no arguments.'
3355
3368
  StyleGuide: '#method-invocation-parens'
3356
3369
  Enabled: true
3357
3370
  IgnoredMethods: []
3358
- VersionAdded: 0.47
3359
- VersionChanged: 0.55
3371
+ VersionAdded: '0.47'
3372
+ VersionChanged: '0.55'
3360
3373
 
3361
3374
  Style/MethodCalledOnDoEndBlock:
3362
3375
  Description: 'Avoid chaining a method call on a do...end block.'
3363
3376
  StyleGuide: '#single-line-blocks'
3364
3377
  Enabled: false
3365
- VersionAdded: 0.14
3378
+ VersionAdded: '0.14'
3366
3379
 
3367
3380
  Style/MethodDefParentheses:
3368
3381
  Description: >-
@@ -3370,8 +3383,8 @@ Style/MethodDefParentheses:
3370
3383
  parentheses.
3371
3384
  StyleGuide: '#method-parens'
3372
3385
  Enabled: true
3373
- VersionAdded: 0.16
3374
- VersionChanged: 0.35
3386
+ VersionAdded: '0.16'
3387
+ VersionChanged: '0.35'
3375
3388
  EnforcedStyle: require_parentheses
3376
3389
  SupportedStyles:
3377
3390
  - require_parentheses
@@ -3382,14 +3395,14 @@ Style/MethodMissingSuper:
3382
3395
  Description: Checks for `method_missing` to call `super`.
3383
3396
  StyleGuide: '#no-method-missing'
3384
3397
  Enabled: true
3385
- VersionAdded: 0.56
3398
+ VersionAdded: '0.56'
3386
3399
 
3387
3400
  Style/MinMax:
3388
3401
  Description: >-
3389
3402
  Use `Enumerable#minmax` instead of `Enumerable#min`
3390
3403
  and `Enumerable#max` in conjunction.'
3391
3404
  Enabled: true
3392
- VersionAdded: 0.50
3405
+ VersionAdded: '0.50'
3393
3406
 
3394
3407
  Style/MissingElse:
3395
3408
  Description: >-
@@ -3399,8 +3412,8 @@ Style/MissingElse:
3399
3412
  This will conflict with Style/EmptyElse if
3400
3413
  Style/EmptyElse is configured to style "both"
3401
3414
  Enabled: false
3402
- VersionAdded: 0.30
3403
- VersionChanged: 0.38
3415
+ VersionAdded: '0.30'
3416
+ VersionChanged: '0.38'
3404
3417
  EnforcedStyle: both
3405
3418
  SupportedStyles:
3406
3419
  # if - warn when an if expression is missing an else branch
@@ -3416,14 +3429,14 @@ Style/MissingRespondToMissing:
3416
3429
  without implementing `respond_to_missing`.
3417
3430
  StyleGuide: '#no-method-missing'
3418
3431
  Enabled: true
3419
- VersionAdded: 0.56
3432
+ VersionAdded: '0.56'
3420
3433
 
3421
3434
  Style/MixinGrouping:
3422
3435
  Description: 'Checks for grouping of mixins in `class` and `module` bodies.'
3423
3436
  StyleGuide: '#mixin-grouping'
3424
3437
  Enabled: true
3425
- VersionAdded: 0.48
3426
- VersionChanged: 0.49
3438
+ VersionAdded: '0.48'
3439
+ VersionChanged: '0.49'
3427
3440
  EnforcedStyle: separated
3428
3441
  SupportedStyles:
3429
3442
  # separated: each mixed in module goes in a separate statement.
@@ -3434,14 +3447,14 @@ Style/MixinGrouping:
3434
3447
  Style/MixinUsage:
3435
3448
  Description: 'Checks that `include`, `extend` and `prepend` exists at the top level.'
3436
3449
  Enabled: true
3437
- VersionAdded: 0.51
3450
+ VersionAdded: '0.51'
3438
3451
 
3439
3452
  Style/ModuleFunction:
3440
3453
  Description: 'Checks for usage of `extend self` in modules.'
3441
3454
  StyleGuide: '#module-function'
3442
3455
  Enabled: true
3443
- VersionAdded: 0.11
3444
- VersionChanged: 0.53
3456
+ VersionAdded: '0.11'
3457
+ VersionChanged: '0.53'
3445
3458
  EnforcedStyle: module_function
3446
3459
  SupportedStyles:
3447
3460
  - module_function
@@ -3451,26 +3464,26 @@ Style/MultilineBlockChain:
3451
3464
  Description: 'Avoid multi-line chains of blocks.'
3452
3465
  StyleGuide: '#single-line-blocks'
3453
3466
  Enabled: true
3454
- VersionAdded: 0.13
3467
+ VersionAdded: '0.13'
3455
3468
 
3456
3469
  Style/MultilineIfModifier:
3457
3470
  Description: 'Only use if/unless modifiers on single line statements.'
3458
3471
  StyleGuide: '#no-multiline-if-modifiers'
3459
3472
  Enabled: true
3460
- VersionAdded: 0.45
3473
+ VersionAdded: '0.45'
3461
3474
 
3462
3475
  Style/MultilineIfThen:
3463
3476
  Description: 'Do not use then for multi-line if/unless.'
3464
3477
  StyleGuide: '#no-then'
3465
3478
  Enabled: true
3466
- VersionAdded: 0.9
3467
- VersionChanged: 0.26
3479
+ VersionAdded: '0.9'
3480
+ VersionChanged: '0.26'
3468
3481
 
3469
3482
  Style/MultilineMemoization:
3470
3483
  Description: 'Wrap multiline memoizations in a `begin` and `end` block.'
3471
3484
  Enabled: true
3472
- VersionAdded: 0.44
3473
- VersionChanged: 0.48
3485
+ VersionAdded: '0.44'
3486
+ VersionChanged: '0.48'
3474
3487
  EnforcedStyle: keyword
3475
3488
  SupportedStyles:
3476
3489
  - keyword
@@ -3479,7 +3492,7 @@ Style/MultilineMemoization:
3479
3492
  Style/MultilineMethodSignature:
3480
3493
  Description: 'Avoid multi-line method signatures.'
3481
3494
  Enabled: false
3482
- VersionAdded: 0.59
3495
+ VersionAdded: '0.59'
3483
3496
 
3484
3497
  Style/MultilineTernaryOperator:
3485
3498
  Description: >-
@@ -3487,19 +3500,19 @@ Style/MultilineTernaryOperator:
3487
3500
  use if/unless instead.
3488
3501
  StyleGuide: '#no-multiline-ternary'
3489
3502
  Enabled: true
3490
- VersionAdded: 0.9
3503
+ VersionAdded: '0.9'
3491
3504
 
3492
3505
  Style/MultipleComparison:
3493
3506
  Description: >-
3494
3507
  Avoid comparing a variable with multiple items in a conditional,
3495
3508
  use Array#include? instead.
3496
3509
  Enabled: true
3497
- VersionAdded: 0.49
3510
+ VersionAdded: '0.49'
3498
3511
 
3499
3512
  Style/MutableConstant:
3500
3513
  Description: 'Do not assign mutable objects to constants.'
3501
3514
  Enabled: true
3502
- VersionAdded: 0.34
3515
+ VersionAdded: '0.34'
3503
3516
 
3504
3517
  Style/NegatedIf:
3505
3518
  Description: >-
@@ -3507,8 +3520,8 @@ Style/NegatedIf:
3507
3520
  (or control flow or).
3508
3521
  StyleGuide: '#unless-for-negatives'
3509
3522
  Enabled: true
3510
- VersionAdded: 0.20
3511
- VersionChanged: 0.48
3523
+ VersionAdded: '0.20'
3524
+ VersionChanged: '0.48'
3512
3525
  EnforcedStyle: both
3513
3526
  SupportedStyles:
3514
3527
  # both: prefix and postfix negated `if` should both use `unless`
@@ -3522,21 +3535,21 @@ Style/NegatedWhile:
3522
3535
  Description: 'Favor until over while for negative conditions.'
3523
3536
  StyleGuide: '#until-for-negatives'
3524
3537
  Enabled: true
3525
- VersionAdded: 0.20
3538
+ VersionAdded: '0.20'
3526
3539
 
3527
3540
  Style/NestedModifier:
3528
3541
  Description: 'Avoid using nested modifiers.'
3529
3542
  StyleGuide: '#no-nested-modifiers'
3530
3543
  Enabled: true
3531
- VersionAdded: 0.35
3544
+ VersionAdded: '0.35'
3532
3545
 
3533
3546
  Style/NestedParenthesizedCalls:
3534
3547
  Description: >-
3535
3548
  Parenthesize method calls which are nested inside the
3536
3549
  argument list of another parenthesized method call.
3537
3550
  Enabled: true
3538
- VersionAdded: 0.36
3539
- VersionChanged: 0.50
3551
+ VersionAdded: '0.36'
3552
+ VersionChanged: '0.50'
3540
3553
  Whitelist:
3541
3554
  - be
3542
3555
  - be_a
@@ -3560,14 +3573,14 @@ Style/NestedTernaryOperator:
3560
3573
  Description: 'Use one expression per branch in a ternary operator.'
3561
3574
  StyleGuide: '#no-nested-ternary'
3562
3575
  Enabled: true
3563
- VersionAdded: 0.9
3576
+ VersionAdded: '0.9'
3564
3577
 
3565
3578
  Style/Next:
3566
3579
  Description: 'Use `next` to skip iteration instead of a condition at the end.'
3567
3580
  StyleGuide: '#no-nested-conditionals'
3568
3581
  Enabled: true
3569
- VersionAdded: 0.22
3570
- VersionChanged: 0.35
3582
+ VersionAdded: '0.22'
3583
+ VersionChanged: '0.35'
3571
3584
  # With `always` all conditions at the end of an iteration needs to be
3572
3585
  # replaced by next - with `skip_modifier_ifs` the modifier if like this one
3573
3586
  # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
@@ -3583,8 +3596,8 @@ Style/NilComparison:
3583
3596
  Description: 'Prefer x.nil? to x == nil.'
3584
3597
  StyleGuide: '#predicate-methods'
3585
3598
  Enabled: true
3586
- VersionAdded: 0.12
3587
- VersionChanged: 0.59
3599
+ VersionAdded: '0.12'
3600
+ VersionChanged: '0.59'
3588
3601
  EnforcedStyle: predicate
3589
3602
  SupportedStyles:
3590
3603
  - predicate
@@ -3594,8 +3607,8 @@ Style/NonNilCheck:
3594
3607
  Description: 'Checks for redundant nil checks.'
3595
3608
  StyleGuide: '#no-non-nil-checks'
3596
3609
  Enabled: true
3597
- VersionAdded: 0.20
3598
- VersionChanged: 0.22
3610
+ VersionAdded: '0.20'
3611
+ VersionChanged: '0.22'
3599
3612
  # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
3600
3613
  # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
3601
3614
  # **usually** OK, but might change behavior.
@@ -3608,14 +3621,14 @@ Style/Not:
3608
3621
  Description: 'Use ! instead of not.'
3609
3622
  StyleGuide: '#bang-not-not'
3610
3623
  Enabled: true
3611
- VersionAdded: 0.9
3612
- VersionChanged: 0.20
3624
+ VersionAdded: '0.9'
3625
+ VersionChanged: '0.20'
3613
3626
 
3614
3627
  Style/NumericLiteralPrefix:
3615
3628
  Description: 'Use smallcase prefixes for numeric literals.'
3616
3629
  StyleGuide: '#numeric-literal-prefixes'
3617
3630
  Enabled: true
3618
- VersionAdded: 0.41
3631
+ VersionAdded: '0.41'
3619
3632
  EnforcedOctalStyle: zero_with_o
3620
3633
  SupportedOctalStyles:
3621
3634
  - zero_with_o
@@ -3628,8 +3641,8 @@ Style/NumericLiterals:
3628
3641
  readability.
3629
3642
  StyleGuide: '#underscores-in-numerics'
3630
3643
  Enabled: true
3631
- VersionAdded: 0.9
3632
- VersionChanged: 0.48
3644
+ VersionAdded: '0.9'
3645
+ VersionChanged: '0.48'
3633
3646
  MinDigits: 5
3634
3647
  Strict: false
3635
3648
 
@@ -3645,8 +3658,8 @@ Style/NumericPredicate:
3645
3658
  SafeAutoCorrect: false
3646
3659
  AutoCorrect: false
3647
3660
  Enabled: true
3648
- VersionAdded: 0.42
3649
- VersionChanged: 0.59
3661
+ VersionAdded: '0.42'
3662
+ VersionChanged: '0.59'
3650
3663
  EnforcedStyle: predicate
3651
3664
  SupportedStyles:
3652
3665
  - predicate
@@ -3663,14 +3676,14 @@ Style/OneLineConditional:
3663
3676
  if/then/else/end constructs.
3664
3677
  StyleGuide: '#ternary-operator'
3665
3678
  Enabled: true
3666
- VersionAdded: 0.9
3667
- VersionChanged: 0.38
3679
+ VersionAdded: '0.9'
3680
+ VersionChanged: '0.38'
3668
3681
 
3669
3682
  Style/OptionHash:
3670
3683
  Description: "Don't use option hashes when you can use keyword arguments."
3671
3684
  Enabled: false
3672
- VersionAdded: 0.33
3673
- VersionChanged: 0.34
3685
+ VersionAdded: '0.33'
3686
+ VersionChanged: '0.34'
3674
3687
  # A list of parameter names that will be flagged by this cop.
3675
3688
  SuspiciousParamNames:
3676
3689
  - options
@@ -3685,13 +3698,13 @@ Style/OptionalArguments:
3685
3698
  of the argument list
3686
3699
  StyleGuide: '#optional-arguments'
3687
3700
  Enabled: true
3688
- VersionAdded: 0.33
3701
+ VersionAdded: '0.33'
3689
3702
 
3690
3703
  Style/OrAssignment:
3691
3704
  Description: 'Recommend usage of double pipe equals (||=) where applicable.'
3692
3705
  StyleGuide: '#double-pipe-for-uninit'
3693
3706
  Enabled: true
3694
- VersionAdded: 0.50
3707
+ VersionAdded: '0.50'
3695
3708
 
3696
3709
  Style/ParallelAssignment:
3697
3710
  Description: >-
@@ -3700,7 +3713,7 @@ Style/ParallelAssignment:
3700
3713
  matches on both sides of the assignment.
3701
3714
  StyleGuide: '#parallel-assignment'
3702
3715
  Enabled: true
3703
- VersionAdded: 0.32
3716
+ VersionAdded: '0.32'
3704
3717
 
3705
3718
  Style/ParenthesesAroundCondition:
3706
3719
  Description: >-
@@ -3708,8 +3721,8 @@ Style/ParenthesesAroundCondition:
3708
3721
  if/unless/while.
3709
3722
  StyleGuide: '#no-parens-around-condition'
3710
3723
  Enabled: true
3711
- VersionAdded: 0.9
3712
- VersionChanged: 0.56
3724
+ VersionAdded: '0.9'
3725
+ VersionChanged: '0.56'
3713
3726
  AllowSafeAssignment: true
3714
3727
  AllowInMultilineConditions: false
3715
3728
 
@@ -3717,7 +3730,7 @@ Style/PercentLiteralDelimiters:
3717
3730
  Description: 'Use `%`-literal delimiters consistently'
3718
3731
  StyleGuide: '#percent-literal-braces'
3719
3732
  Enabled: true
3720
- VersionAdded: 0.19
3733
+ VersionAdded: '0.19'
3721
3734
  # Specify the default preferred delimiter for all types with the 'default' key
3722
3735
  # Override individual delimiters (even with default specified) by specifying
3723
3736
  # an individual key
@@ -3728,12 +3741,12 @@ Style/PercentLiteralDelimiters:
3728
3741
  '%r': '{}'
3729
3742
  '%w': '[]'
3730
3743
  '%W': '[]'
3731
- VersionChanged: 0.48.1
3744
+ VersionChanged: '0.48.1'
3732
3745
 
3733
3746
  Style/PercentQLiterals:
3734
3747
  Description: 'Checks if uses of %Q/%q match the configured preference.'
3735
3748
  Enabled: true
3736
- VersionAdded: 0.25
3749
+ VersionAdded: '0.25'
3737
3750
  EnforcedStyle: lower_case_q
3738
3751
  SupportedStyles:
3739
3752
  - lower_case_q # Use `%q` when possible, `%Q` when necessary
@@ -3743,14 +3756,14 @@ Style/PerlBackrefs:
3743
3756
  Description: 'Avoid Perl-style regex back references.'
3744
3757
  StyleGuide: '#no-perl-regexp-last-matchers'
3745
3758
  Enabled: true
3746
- VersionAdded: 0.13
3759
+ VersionAdded: '0.13'
3747
3760
 
3748
3761
  Style/PreferredHashMethods:
3749
3762
  Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
3750
3763
  StyleGuide: '#hash-key'
3751
3764
  Enabled: true
3752
- VersionAdded: 0.41
3753
- VersionChanged: 0.44
3765
+ VersionAdded: '0.41'
3766
+ VersionChanged: '0.44'
3754
3767
  EnforcedStyle: short
3755
3768
  SupportedStyles:
3756
3769
  - short
@@ -3760,15 +3773,15 @@ Style/Proc:
3760
3773
  Description: 'Use proc instead of Proc.new.'
3761
3774
  StyleGuide: '#proc'
3762
3775
  Enabled: true
3763
- VersionAdded: 0.9
3764
- VersionChanged: 0.18
3776
+ VersionAdded: '0.9'
3777
+ VersionChanged: '0.18'
3765
3778
 
3766
3779
  Style/RaiseArgs:
3767
3780
  Description: 'Checks the arguments passed to raise/fail.'
3768
3781
  StyleGuide: '#exception-class-messages'
3769
3782
  Enabled: true
3770
- VersionAdded: 0.14
3771
- VersionChanged: 0.40
3783
+ VersionAdded: '0.14'
3784
+ VersionChanged: '0.40'
3772
3785
  EnforcedStyle: exploded
3773
3786
  SupportedStyles:
3774
3787
  - compact # raise Exception.new(msg)
@@ -3780,43 +3793,43 @@ Style/RandomWithOffset:
3780
3793
  integers with offsets.
3781
3794
  StyleGuide: '#random-numbers'
3782
3795
  Enabled: true
3783
- VersionAdded: 0.52
3796
+ VersionAdded: '0.52'
3784
3797
 
3785
3798
  Style/RedundantBegin:
3786
3799
  Description: "Don't use begin blocks when they are not needed."
3787
3800
  StyleGuide: '#begin-implicit'
3788
3801
  Enabled: true
3789
- VersionAdded: 0.10
3790
- VersionChanged: 0.21
3802
+ VersionAdded: '0.10'
3803
+ VersionChanged: '0.21'
3791
3804
 
3792
3805
  Style/RedundantConditional:
3793
3806
  Description: "Don't return true/false from a conditional."
3794
3807
  Enabled: true
3795
- VersionAdded: 0.50
3808
+ VersionAdded: '0.50'
3796
3809
 
3797
3810
  Style/RedundantException:
3798
3811
  Description: "Checks for an obsolete RuntimeException argument in raise/fail."
3799
3812
  StyleGuide: '#no-explicit-runtimeerror'
3800
3813
  Enabled: true
3801
- VersionAdded: 0.14
3802
- VersionChanged: 0.29
3814
+ VersionAdded: '0.14'
3815
+ VersionChanged: '0.29'
3803
3816
 
3804
3817
  Style/RedundantFreeze:
3805
3818
  Description: "Checks usages of Object#freeze on immutable objects."
3806
3819
  Enabled: true
3807
- VersionAdded: 0.34
3820
+ VersionAdded: '0.34'
3808
3821
 
3809
3822
  Style/RedundantParentheses:
3810
3823
  Description: "Checks for parentheses that seem not to serve any purpose."
3811
3824
  Enabled: true
3812
- VersionAdded: 0.36
3825
+ VersionAdded: '0.36'
3813
3826
 
3814
3827
  Style/RedundantReturn:
3815
3828
  Description: "Don't use return where it's not required."
3816
3829
  StyleGuide: '#no-explicit-return'
3817
3830
  Enabled: true
3818
- VersionAdded: 0.10
3819
- VersionChanged: 0.14
3831
+ VersionAdded: '0.10'
3832
+ VersionChanged: '0.14'
3820
3833
  # When `true` allows code like `return x, y`.
3821
3834
  AllowMultipleReturnValues: false
3822
3835
 
@@ -3824,15 +3837,15 @@ Style/RedundantSelf:
3824
3837
  Description: "Don't use self where it's not needed."
3825
3838
  StyleGuide: '#no-self-unless-required'
3826
3839
  Enabled: true
3827
- VersionAdded: 0.10
3828
- VersionChanged: 0.13
3840
+ VersionAdded: '0.10'
3841
+ VersionChanged: '0.13'
3829
3842
 
3830
3843
  Style/RegexpLiteral:
3831
3844
  Description: 'Use / or %r around regular expressions.'
3832
3845
  StyleGuide: '#percent-r'
3833
3846
  Enabled: true
3834
- VersionAdded: 0.9
3835
- VersionChanged: 0.30
3847
+ VersionAdded: '0.9'
3848
+ VersionChanged: '0.30'
3836
3849
  EnforcedStyle: slashes
3837
3850
  # slashes: Always use slashes.
3838
3851
  # percent_r: Always use `%r`.
@@ -3849,13 +3862,13 @@ Style/RescueModifier:
3849
3862
  Description: 'Avoid using rescue in its modifier form.'
3850
3863
  StyleGuide: '#no-rescue-modifiers'
3851
3864
  Enabled: true
3852
- VersionAdded: 0.9
3853
- VersionChanged: 0.34
3865
+ VersionAdded: '0.9'
3866
+ VersionChanged: '0.34'
3854
3867
 
3855
3868
  Style/RescueStandardError:
3856
3869
  Description: 'Avoid rescuing without specifying an error class.'
3857
3870
  Enabled: true
3858
- VersionAdded: 0.52
3871
+ VersionAdded: '0.52'
3859
3872
  EnforcedStyle: explicit
3860
3873
  # implicit: Do not include the error class, `rescue`
3861
3874
  # explicit: Require an error class `rescue StandardError`
@@ -3870,7 +3883,7 @@ Style/ReturnNil:
3870
3883
  SupportedStyles:
3871
3884
  - return
3872
3885
  - return_nil
3873
- VersionAdded: 0.50
3886
+ VersionAdded: '0.50'
3874
3887
 
3875
3888
  Style/SafeNavigation:
3876
3889
  Description: >-
@@ -3878,8 +3891,8 @@ Style/SafeNavigation:
3878
3891
  a check for the existence of the object to
3879
3892
  safe navigation (`&.`).
3880
3893
  Enabled: true
3881
- VersionAdded: 0.43
3882
- VersionChanged: 0.44
3894
+ VersionAdded: '0.43'
3895
+ VersionChanged: '0.44'
3883
3896
  # Safe navigation may cause a statement to start returning `nil` in addition
3884
3897
  # to whatever it used to return.
3885
3898
  ConvertCodeThatCanStartToReturnNil: false
@@ -3889,7 +3902,7 @@ Style/SafeNavigation:
3889
3902
  - presence
3890
3903
  - try
3891
3904
  - try!
3892
- VersionChanged: 0.56
3905
+ VersionChanged: '0.56'
3893
3906
 
3894
3907
  Style/SelfAssignment:
3895
3908
  Description: >-
@@ -3897,15 +3910,15 @@ Style/SelfAssignment:
3897
3910
  been used.
3898
3911
  StyleGuide: '#self-assignment'
3899
3912
  Enabled: true
3900
- VersionAdded: 0.19
3901
- VersionChanged: 0.29
3913
+ VersionAdded: '0.19'
3914
+ VersionChanged: '0.29'
3902
3915
 
3903
3916
  Style/Semicolon:
3904
3917
  Description: "Don't use semicolons to terminate expressions."
3905
3918
  StyleGuide: '#no-semicolon'
3906
3919
  Enabled: true
3907
- VersionAdded: 0.9
3908
- VersionChanged: 0.19
3920
+ VersionAdded: '0.9'
3921
+ VersionChanged: '0.19'
3909
3922
  # Allow `;` to separate several expressions on the same line.
3910
3923
  AllowAsExpressionSeparator: false
3911
3924
 
@@ -3913,14 +3926,14 @@ Style/Send:
3913
3926
  Description: 'Prefer `Object#__send__` or `Object#public_send` to `send`, as `send` may overlap with existing methods.'
3914
3927
  StyleGuide: '#prefer-public-send'
3915
3928
  Enabled: false
3916
- VersionAdded: 0.33
3929
+ VersionAdded: '0.33'
3917
3930
 
3918
3931
  Style/SignalException:
3919
3932
  Description: 'Checks for proper usage of fail and raise.'
3920
3933
  StyleGuide: '#prefer-raise-over-fail'
3921
3934
  Enabled: true
3922
- VersionAdded: 0.11
3923
- VersionChanged: 0.37
3935
+ VersionAdded: '0.11'
3936
+ VersionChanged: '0.37'
3924
3937
  EnforcedStyle: only_raise
3925
3938
  SupportedStyles:
3926
3939
  - only_raise
@@ -3930,8 +3943,8 @@ Style/SignalException:
3930
3943
  Style/SingleLineBlockParams:
3931
3944
  Description: 'Enforces the names of some block params.'
3932
3945
  Enabled: false
3933
- VersionAdded: 0.16
3934
- VersionChanged: 0.47
3946
+ VersionAdded: '0.16'
3947
+ VersionChanged: '0.47'
3935
3948
  Methods:
3936
3949
  - reduce:
3937
3950
  - acc
@@ -3944,16 +3957,16 @@ Style/SingleLineMethods:
3944
3957
  Description: 'Avoid single-line methods.'
3945
3958
  StyleGuide: '#no-single-line-methods'
3946
3959
  Enabled: true
3947
- VersionAdded: 0.9
3948
- VersionChanged: 0.19
3960
+ VersionAdded: '0.9'
3961
+ VersionChanged: '0.19'
3949
3962
  AllowIfMethodIsEmpty: true
3950
3963
 
3951
3964
  Style/SpecialGlobalVars:
3952
3965
  Description: 'Avoid Perl-style global variables.'
3953
3966
  StyleGuide: '#no-cryptic-perlisms'
3954
3967
  Enabled: true
3955
- VersionAdded: 0.13
3956
- VersionChanged: 0.36
3968
+ VersionAdded: '0.13'
3969
+ VersionChanged: '0.36'
3957
3970
  SafeAutoCorrect: false
3958
3971
  EnforcedStyle: use_english_names
3959
3972
  SupportedStyles:
@@ -3964,7 +3977,7 @@ Style/StabbyLambdaParentheses:
3964
3977
  Description: 'Check for the usage of parentheses around stabby lambda arguments.'
3965
3978
  StyleGuide: '#stabby-lambda-with-args'
3966
3979
  Enabled: true
3967
- VersionAdded: 0.35
3980
+ VersionAdded: '0.35'
3968
3981
  EnforcedStyle: require_parentheses
3969
3982
  SupportedStyles:
3970
3983
  - require_parentheses
@@ -3974,20 +3987,20 @@ Style/StderrPuts:
3974
3987
  Description: 'Use `warn` instead of `$stderr.puts`.'
3975
3988
  StyleGuide: '#warn'
3976
3989
  Enabled: true
3977
- VersionAdded: 0.51
3990
+ VersionAdded: '0.51'
3978
3991
 
3979
3992
  Style/StringHashKeys:
3980
3993
  Description: 'Prefer symbols instead of strings as hash keys.'
3981
3994
  StyleGuide: '#symbols-as-keys'
3982
3995
  Enabled: false
3983
- VersionAdded: 0.52
3996
+ VersionAdded: '0.52'
3984
3997
 
3985
3998
  Style/StringLiterals:
3986
3999
  Description: 'Checks if uses of quotes match the configured preference.'
3987
4000
  StyleGuide: '#consistent-string-literals'
3988
4001
  Enabled: true
3989
- VersionAdded: 0.9
3990
- VersionChanged: 0.36
4002
+ VersionAdded: '0.9'
4003
+ VersionChanged: '0.36'
3991
4004
  EnforcedStyle: single_quotes
3992
4005
  SupportedStyles:
3993
4006
  - single_quotes
@@ -4001,7 +4014,7 @@ Style/StringLiteralsInInterpolation:
4001
4014
  Checks if uses of quotes inside expressions in interpolated
4002
4015
  strings match the configured preference.
4003
4016
  Enabled: true
4004
- VersionAdded: 0.27
4017
+ VersionAdded: '0.27'
4005
4018
  EnforcedStyle: single_quotes
4006
4019
  SupportedStyles:
4007
4020
  - single_quotes
@@ -4010,8 +4023,8 @@ Style/StringLiteralsInInterpolation:
4010
4023
  Style/StringMethods:
4011
4024
  Description: 'Checks if configured preferred methods are used over non-preferred.'
4012
4025
  Enabled: false
4013
- VersionAdded: 0.34
4014
- VersionChanged: 0.34.2
4026
+ VersionAdded: '0.34'
4027
+ VersionChanged: '0.34.2'
4015
4028
  # Mapping from undesired method to desired_method
4016
4029
  # e.g. to use `to_sym` over `intern`:
4017
4030
  #
@@ -4025,14 +4038,14 @@ Style/StructInheritance:
4025
4038
  Description: 'Checks for inheritance from Struct.new.'
4026
4039
  StyleGuide: '#no-extend-struct-new'
4027
4040
  Enabled: true
4028
- VersionAdded: 0.29
4041
+ VersionAdded: '0.29'
4029
4042
 
4030
4043
  Style/SymbolArray:
4031
4044
  Description: 'Use %i or %I for arrays of symbols.'
4032
4045
  StyleGuide: '#percent-i'
4033
4046
  Enabled: true
4034
- VersionAdded: 0.9
4035
- VersionChanged: 0.49
4047
+ VersionAdded: '0.9'
4048
+ VersionChanged: '0.49'
4036
4049
  EnforcedStyle: percent
4037
4050
  MinSize: 2
4038
4051
  SupportedStyles:
@@ -4042,13 +4055,13 @@ Style/SymbolArray:
4042
4055
  Style/SymbolLiteral:
4043
4056
  Description: 'Use plain symbols instead of string symbols when possible.'
4044
4057
  Enabled: true
4045
- VersionAdded: 0.30
4058
+ VersionAdded: '0.30'
4046
4059
 
4047
4060
  Style/SymbolProc:
4048
4061
  Description: 'Use symbols as procs instead of blocks when possible.'
4049
4062
  Enabled: true
4050
- VersionAdded: 0.26
4051
- VersionChanged: 0.40
4063
+ VersionAdded: '0.26'
4064
+ VersionChanged: '0.40'
4052
4065
  # A list of method names to be ignored by the check.
4053
4066
  # The names should be fairly unique, otherwise you'll end up ignoring lots of code.
4054
4067
  IgnoredMethods:
@@ -4058,8 +4071,8 @@ Style/SymbolProc:
4058
4071
  Style/TernaryParentheses:
4059
4072
  Description: 'Checks for use of parentheses around ternary conditions.'
4060
4073
  Enabled: true
4061
- VersionAdded: 0.42
4062
- VersionChanged: 0.46
4074
+ VersionAdded: '0.42'
4075
+ VersionChanged: '0.46'
4063
4076
  EnforcedStyle: require_no_parentheses
4064
4077
  SupportedStyles:
4065
4078
  - require_parentheses
@@ -4070,23 +4083,23 @@ Style/TernaryParentheses:
4070
4083
  Style/TrailingBodyOnClass:
4071
4084
  Description: 'Class body goes below class statement.'
4072
4085
  Enabled: true
4073
- VersionAdded: 0.53
4086
+ VersionAdded: '0.53'
4074
4087
 
4075
4088
  Style/TrailingBodyOnMethodDefinition:
4076
4089
  Description: 'Method body goes below definition.'
4077
4090
  Enabled: true
4078
- VersionAdded: 0.52
4091
+ VersionAdded: '0.52'
4079
4092
 
4080
4093
  Style/TrailingBodyOnModule:
4081
4094
  Description: 'Module body goes below module statement.'
4082
4095
  Enabled: true
4083
- VersionAdded: 0.53
4096
+ VersionAdded: '0.53'
4084
4097
 
4085
4098
  Style/TrailingCommaInArguments:
4086
4099
  Description: 'Checks for trailing comma in argument lists.'
4087
4100
  StyleGuide: '#no-trailing-params-comma'
4088
4101
  Enabled: true
4089
- VersionAdded: 0.36
4102
+ VersionAdded: '0.36'
4090
4103
  # If `comma`, the cop requires a comma after the last argument, but only for
4091
4104
  # parenthesized method calls where each argument is on its own line.
4092
4105
  # If `consistent_comma`, the cop requires a comma after the last argument,
@@ -4101,7 +4114,7 @@ Style/TrailingCommaInArrayLiteral:
4101
4114
  Description: 'Checks for trailing comma in array literals.'
4102
4115
  StyleGuide: '#no-trailing-array-commas'
4103
4116
  Enabled: true
4104
- VersionAdded: 0.53
4117
+ VersionAdded: '0.53'
4105
4118
  # but only when each item is on its own line.
4106
4119
  # If `consistent_comma`, the cop requires a comma after the last item of all
4107
4120
  # non-empty array literals.
@@ -4123,12 +4136,12 @@ Style/TrailingCommaInHashLiteral:
4123
4136
  - comma
4124
4137
  - consistent_comma
4125
4138
  - no_comma
4126
- VersionAdded: 0.53
4139
+ VersionAdded: '0.53'
4127
4140
 
4128
4141
  Style/TrailingMethodEndStatement:
4129
4142
  Description: 'Checks for trailing end statement on line of method body.'
4130
4143
  Enabled: true
4131
- VersionAdded: 0.52
4144
+ VersionAdded: '0.52'
4132
4145
 
4133
4146
  Style/TrailingUnderscoreVariable:
4134
4147
  Description: >-
@@ -4136,8 +4149,8 @@ Style/TrailingUnderscoreVariable:
4136
4149
  end of parallel variable assignment.
4137
4150
  AllowNamedUnderscoreVariables: true
4138
4151
  Enabled: true
4139
- VersionAdded: 0.31
4140
- VersionChanged: 0.35
4152
+ VersionAdded: '0.31'
4153
+ VersionChanged: '0.35'
4141
4154
 
4142
4155
  # `TrivialAccessors` requires exact name matches and doesn't allow
4143
4156
  # predicated methods by default.
@@ -4145,8 +4158,8 @@ Style/TrivialAccessors:
4145
4158
  Description: 'Prefer attr_* methods to trivial readers/writers.'
4146
4159
  StyleGuide: '#attr_family'
4147
4160
  Enabled: true
4148
- VersionAdded: 0.9
4149
- VersionChanged: 0.38
4161
+ VersionAdded: '0.9'
4162
+ VersionChanged: '0.38'
4150
4163
  # When set to `false` the cop will suggest the use of accessor methods
4151
4164
  # in situations like:
4152
4165
  #
@@ -4192,36 +4205,36 @@ Style/UnlessElse:
4192
4205
  case first.
4193
4206
  StyleGuide: '#no-else-with-unless'
4194
4207
  Enabled: true
4195
- VersionAdded: 0.9
4208
+ VersionAdded: '0.9'
4196
4209
 
4197
4210
  Style/UnneededCapitalW:
4198
4211
  Description: 'Checks for %W when interpolation is not needed.'
4199
4212
  Enabled: true
4200
- VersionAdded: 0.21
4201
- VersionChanged: 0.24
4213
+ VersionAdded: '0.21'
4214
+ VersionChanged: '0.24'
4202
4215
 
4203
4216
  Style/UnneededCondition:
4204
4217
  Description: 'Checks for unnecessary conditional expressions.'
4205
4218
  Enabled: true
4206
- VersionAdded: 0.57
4219
+ VersionAdded: '0.57'
4207
4220
 
4208
4221
  Style/UnneededInterpolation:
4209
4222
  Description: 'Checks for strings that are just an interpolated expression.'
4210
4223
  Enabled: true
4211
- VersionAdded: 0.36
4224
+ VersionAdded: '0.36'
4212
4225
 
4213
4226
  Style/UnneededPercentQ:
4214
4227
  Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
4215
4228
  StyleGuide: '#percent-q'
4216
4229
  Enabled: true
4217
- VersionAdded: 0.24
4230
+ VersionAdded: '0.24'
4218
4231
 
4219
4232
  Style/UnpackFirst:
4220
4233
  Description: >-
4221
4234
  Checks for accessing the first element of `String#unpack`
4222
4235
  instead of using `unpack1`
4223
4236
  Enabled: true
4224
- VersionAdded: 0.54
4237
+ VersionAdded: '0.54'
4225
4238
 
4226
4239
  Style/VariableInterpolation:
4227
4240
  Description: >-
@@ -4229,20 +4242,20 @@ Style/VariableInterpolation:
4229
4242
  directly in strings.
4230
4243
  StyleGuide: '#curlies-interpolate'
4231
4244
  Enabled: true
4232
- VersionAdded: 0.9
4233
- VersionChanged: 0.20
4245
+ VersionAdded: '0.9'
4246
+ VersionChanged: '0.20'
4234
4247
 
4235
4248
  Style/WhenThen:
4236
4249
  Description: 'Use when x then ... for one-line cases.'
4237
4250
  StyleGuide: '#one-line-cases'
4238
4251
  Enabled: true
4239
- VersionAdded: 0.9
4252
+ VersionAdded: '0.9'
4240
4253
 
4241
4254
  Style/WhileUntilDo:
4242
4255
  Description: 'Checks for redundant do after while or until.'
4243
4256
  StyleGuide: '#no-multiline-while-do'
4244
4257
  Enabled: true
4245
- VersionAdded: 0.9
4258
+ VersionAdded: '0.9'
4246
4259
 
4247
4260
  Style/WhileUntilModifier:
4248
4261
  Description: >-
@@ -4250,15 +4263,15 @@ Style/WhileUntilModifier:
4250
4263
  single-line body.
4251
4264
  StyleGuide: '#while-as-a-modifier'
4252
4265
  Enabled: true
4253
- VersionAdded: 0.9
4254
- VersionChanged: 0.30
4266
+ VersionAdded: '0.9'
4267
+ VersionChanged: '0.30'
4255
4268
 
4256
4269
  Style/WordArray:
4257
4270
  Description: 'Use %w or %W for arrays of words.'
4258
4271
  StyleGuide: '#percent-w'
4259
4272
  Enabled: true
4260
- VersionAdded: 0.9
4261
- VersionChanged: 0.36
4273
+ VersionAdded: '0.9'
4274
+ VersionChanged: '0.36'
4262
4275
  EnforcedStyle: percent
4263
4276
  SupportedStyles:
4264
4277
  # percent style: %w(word1 word2)
@@ -4282,12 +4295,12 @@ Style/YodaCondition:
4282
4295
  - all_comparison_operators
4283
4296
  # check only equality operators: `!=` and `==`
4284
4297
  - equality_operators_only
4285
- VersionAdded: 0.49
4286
- VersionChanged: 0.50
4298
+ VersionAdded: '0.49'
4299
+ VersionChanged: '0.50'
4287
4300
 
4288
4301
  Style/ZeroLengthPredicate:
4289
4302
  Description: 'Use #empty? when testing for objects of length 0.'
4290
4303
  Enabled: true
4291
4304
  Safe: false
4292
- VersionAdded: 0.37
4293
- VersionChanged: 0.39
4305
+ VersionAdded: '0.37'
4306
+ VersionChanged: '0.39'