chefstyle 0.15.1 → 1.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99d5e030cf56d972cec2ddd865afb2ad54c4996b10c57110e95ef731ed945d2b
4
- data.tar.gz: 8d5de80b978f86034f4b270283dc0022b962772a6ea3e329cdf3672d036759db
3
+ metadata.gz: 15d98283fde06a4dc3bc19eda837b8409e6ada67584a4913c45690b33e12c298
4
+ data.tar.gz: bd6b312173272d080f5de1488699d77ce97e2eddef6947f80ac068f4149db7ec
5
5
  SHA512:
6
- metadata.gz: 47df4d9a7517c91cb0980cf5a7ec6b878aee36e879b91cb8574802021a5b081a8bcc5663b9325e8395e9aeee7033bf32fd94f206eeea250be2b06df38734dc85
7
- data.tar.gz: 8e70b770dcca1cd1437acd36d6e5647fa534851487c6a6ef72b28dd2fa5a8f6d1e0820846427a274452e4fba9ccc7afe2a7859ebb5e9c5de1b094516bf536a5a
6
+ metadata.gz: 78585ac2264d603553124462df2385fb6938d715f6b914445896929e6df20956d42ee9d050d058ccb2e3c0e973781c92187a3e4bc895ffa6f846846783389a7a
7
+ data.tar.gz: 72dec6e3839c934634171b7426c6efb57e6fc0847b8eec4587f9fd07efc4cf0fb63b01a6319fc0552a017c2b1f5f828fb53b50240aab74fe2e0a5b44f1071939
@@ -9,12 +9,12 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Chef Software, Inc."]
10
10
  spec.email = ["oss@chef.io"]
11
11
 
12
- spec.summary = %q{Rubocop configuration for Chef's ruby projects}
12
+ spec.summary = %q{RuboCop configuration for Chef's ruby projects}
13
13
  spec.homepage = "https://github.com/chef/chefstyle"
14
14
  spec.license = "Apache-2.0"
15
- spec.required_ruby_version = ">= 2.3"
15
+ spec.required_ruby_version = ">= 2.4"
16
16
 
17
- spec.files = %w{LICENSE chefstyle.gemspec Gemfile} + Dir.glob("{bin,config,lib}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
17
+ spec.files = %w{LICENSE chefstyle.gemspec} + Dir.glob("{bin,config,lib}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
18
18
  spec.executables = %w{chefstyle}
19
19
  spec.require_paths = ["lib"]
20
20
 
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.3
2
+ TargetRubyVersion: 2.4
3
3
 
4
4
  #
5
5
  # Bundler
@@ -123,6 +123,8 @@ Lint/UselessSetterCall:
123
123
  Enabled: true
124
124
  Lint/Void:
125
125
  Enabled: true
126
+ Layout/CommentIndentation:
127
+ Enabled: true
126
128
 
127
129
  #
128
130
  # Disabled Lint
@@ -444,7 +446,7 @@ Style/SymbolArray:
444
446
  Enabled: true
445
447
  Style/SymbolProc:
446
448
  Enabled: true
447
- Layout/Tab:
449
+ Layout/IndentationStyle:
448
450
  Enabled: true
449
451
  Layout/TrailingBlankLines:
450
452
  Enabled: true
@@ -626,3 +628,7 @@ Style/Alias:
626
628
  # anyone else's time either.
627
629
  Style/CommentedKeyword:
628
630
  Enabled: false
631
+
632
+ # make sure we catch this Ruby 3.0 breaking change now
633
+ Lint/DeprecatedOpenSSLConstant:
634
+ Enabled: true
@@ -59,6 +59,8 @@ Layout/EmptyLinesAroundAccessModifier:
59
59
  Enabled: false
60
60
  Layout/EmptyLinesAroundArguments:
61
61
  Enabled: false
62
+ Layout/EmptyLinesAroundAttributeAccessor:
63
+ Enabled: false
62
64
  Layout/EmptyLinesAroundBeginBody:
63
65
  Enabled: false
64
66
  Layout/EmptyLinesAroundBlockBody:
@@ -103,6 +105,8 @@ Layout/HeredocIndentation:
103
105
  Enabled: false
104
106
  Layout/IndentationConsistency:
105
107
  Enabled: false
108
+ Layout/IndentationStyle:
109
+ Enabled: false
106
110
  Layout/IndentationWidth:
107
111
  Enabled: false
108
112
  Layout/InitialIndentation:
@@ -155,6 +159,8 @@ Layout/SpaceAroundEqualsInParameterDefault:
155
159
  Enabled: false
156
160
  Layout/SpaceAroundKeyword:
157
161
  Enabled: false
162
+ Layout/SpaceAroundMethodCallOperator:
163
+ Enabled: false
158
164
  Layout/SpaceAroundOperators:
159
165
  Enabled: false
160
166
  Layout/SpaceBeforeBlockBraces:
@@ -187,8 +193,6 @@ Layout/SpaceInsideReferenceBrackets:
187
193
  Enabled: false
188
194
  Layout/SpaceInsideStringInterpolation:
189
195
  Enabled: false
190
- Layout/Tab:
191
- Enabled: false
192
196
  Layout/TrailingEmptyLines:
193
197
  Enabled: false
194
198
  Layout/TrailingWhitespace:
@@ -211,6 +215,8 @@ Lint/Debugger:
211
215
  Enabled: false
212
216
  Lint/DeprecatedClassMethods:
213
217
  Enabled: false
218
+ Lint/DeprecatedOpenSSLConstant:
219
+ Enabled: false
214
220
  Lint/DisjunctiveAssignmentInConstructor:
215
221
  Enabled: false
216
222
  Lint/DuplicateCaseCondition:
@@ -231,8 +237,6 @@ Lint/EmptyInterpolation:
231
237
  Enabled: false
232
238
  Lint/EmptyWhen:
233
239
  Enabled: false
234
- Lint/EndInMethod:
235
- Enabled: false
236
240
  Lint/EnsureReturn:
237
241
  Enabled: false
238
242
  Lint/ErbNewArguments:
@@ -261,6 +265,8 @@ Lint/Loop:
261
265
  Enabled: false
262
266
  Lint/MissingCopEnableDirective:
263
267
  Enabled: false
268
+ Lint/MixedRegexpCaptureTypes:
269
+ Enabled: false
264
270
  Lint/MultipleComparison:
265
271
  Enabled: false
266
272
  Lint/NestedMethodDefinition:
@@ -283,6 +289,8 @@ Lint/PercentStringArray:
283
289
  Enabled: false
284
290
  Lint/PercentSymbolArray:
285
291
  Enabled: false
292
+ Lint/RaiseException:
293
+ Enabled: false
286
294
  Lint/RandOne:
287
295
  Enabled: false
288
296
  Lint/RedundantCopDisableDirective:
@@ -325,6 +333,8 @@ Lint/ShadowedException:
325
333
  Enabled: false
326
334
  Lint/ShadowingOuterLocalVariable:
327
335
  Enabled: false
336
+ Lint/StructNewOverride:
337
+ Enabled: false
328
338
  Lint/SuppressedException:
329
339
  Enabled: false
330
340
  Lint/Syntax:
@@ -465,6 +475,8 @@ Style/DefWithParentheses:
465
475
  Enabled: false
466
476
  Style/Dir:
467
477
  Enabled: false
478
+ Style/DisableCopsWithinSourceCodeDirective:
479
+ Enabled: false
468
480
  Style/DocumentationMethod:
469
481
  Enabled: false
470
482
  Style/Documentation:
@@ -499,6 +511,8 @@ Style/EvenOdd:
499
511
  Enabled: false
500
512
  Style/ExpandPathArguments:
501
513
  Enabled: false
514
+ Style/ExponentialNotation:
515
+ Enabled: false
502
516
  Style/FloatDivision:
503
517
  Enabled: false
504
518
  Style/For:
@@ -657,6 +671,10 @@ Style/RedundantParentheses:
657
671
  Enabled: false
658
672
  Style/RedundantPercentQ:
659
673
  Enabled: false
674
+ Style/RedundantRegexpCharacterClass:
675
+ Enabled: false
676
+ Style/RedundantRegexpEscape:
677
+ Enabled: false
660
678
  Style/RedundantReturn:
661
679
  Enabled: false
662
680
  Style/RedundantSelf:
@@ -689,6 +707,8 @@ Style/SingleLineBlockParams:
689
707
  Enabled: false
690
708
  Style/SingleLineMethods:
691
709
  Enabled: false
710
+ Style/SlicingWithRange:
711
+ Enabled: false
692
712
  Style/SpecialGlobalVars:
693
713
  Enabled: false
694
714
  Style/StabbyLambdaParentheses:
@@ -725,6 +745,8 @@ Style/TrailingCommaInArguments:
725
745
  Enabled: false
726
746
  Style/TrailingCommaInArrayLiteral:
727
747
  Enabled: false
748
+ Style/TrailingCommaInBlockArgs:
749
+ Enabled: false
728
750
  Style/TrailingCommaInHashLiteral:
729
751
  Enabled: false
730
752
  Style/TrailingMethodEndStatement:
@@ -35,6 +35,7 @@ AllCops:
35
35
  - '**/*.watchr'
36
36
  - '**/.irbrc'
37
37
  - '**/.pryrc'
38
+ - '**/.simplecov'
38
39
  - '**/buildfile'
39
40
  - '**/Appraisals'
40
41
  - '**/Berksfile'
@@ -53,6 +54,7 @@ AllCops:
53
54
  - '**/Podfile'
54
55
  - '**/Puppetfile'
55
56
  - '**/Rakefile'
57
+ - '**/rakefile'
56
58
  - '**/Snapfile'
57
59
  - '**/Steepfile'
58
60
  - '**/Thorfile'
@@ -97,6 +99,14 @@ AllCops:
97
99
  # to true in the same configuration.
98
100
  EnabledByDefault: false
99
101
  DisabledByDefault: false
102
+ # New cops introduced between major versions are set to a special pending status
103
+ # and are not enabled by default with warning message.
104
+ # Change this behavior by overriding either `NewCops: enable` or `NewCops: disable`.
105
+ # When `NewCops` is `enable`, pending cops are enabled in bulk. Can be overridden by
106
+ # the `--enable-pending-cops` command-line option.
107
+ # When `NewCops` is `disable`, pending cops are disabled in bulk. Can be overridden by
108
+ # the `--disable-pending-cops` command-line option.
109
+ NewCops: pending
100
110
  # Enables the result cache if `true`. Can be overridden by the `--cache` command
101
111
  # line option.
102
112
  UseCache: true
@@ -125,7 +135,7 @@ AllCops:
125
135
  # followed by the Gemfile.lock or gems.locked file. (Although the Ruby version
126
136
  # is specified in the Gemfile or gems.rb file, RuboCop reads the final value
127
137
  # from the lock file.) If the Ruby version is still unresolved, RuboCop will
128
- # use the oldest officially supported Ruby version (currently Ruby 2.3).
138
+ # use the oldest officially supported Ruby version (currently Ruby 2.4).
129
139
  TargetRubyVersion: ~
130
140
 
131
141
  #################### Bundler ###############################
@@ -143,12 +153,13 @@ Bundler/GemComment:
143
153
  Description: 'Add a comment describing each gem.'
144
154
  Enabled: false
145
155
  VersionAdded: '0.59'
146
- VersionChanged: '0.77'
156
+ VersionChanged: '0.85'
147
157
  Include:
148
158
  - '**/*.gemfile'
149
159
  - '**/Gemfile'
150
160
  - '**/gems.rb'
151
161
  IgnoredGems: []
162
+ OnlyFor: []
152
163
 
153
164
  Bundler/InsecureProtocolSource:
154
165
  Description: >-
@@ -255,10 +266,30 @@ Layout/ArrayAlignment:
255
266
  Description: >-
256
267
  Align the elements of an array literal if they span more than
257
268
  one line.
258
- StyleGuide: '#align-multiline-arrays'
269
+ StyleGuide: '#no-double-indent'
259
270
  Enabled: true
260
271
  VersionAdded: '0.49'
261
272
  VersionChanged: '0.77'
273
+ # Alignment of elements of a multi-line array.
274
+ #
275
+ # The `with_first_parameter` style aligns the following lines along the same
276
+ # column as the first element.
277
+ #
278
+ # array = [1, 2, 3,
279
+ # 4, 5, 6]
280
+ #
281
+ # The `with_fixed_indentation` style aligns the following lines with one
282
+ # level of indentation relative to the start of the line with start of array.
283
+ #
284
+ # array = [1, 2, 3,
285
+ # 4, 5, 6]
286
+ EnforcedStyle: with_first_element
287
+ SupportedStyles:
288
+ - with_first_element
289
+ - with_fixed_indentation
290
+ # By default, the indentation width from Layout/IndentationWidth is used
291
+ # But it can be overridden by setting this parameter
292
+ IndentationWidth: ~
262
293
 
263
294
  Layout/AssignmentIndentation:
264
295
  Description: >-
@@ -347,6 +378,7 @@ Layout/ConditionPosition:
347
378
  StyleGuide: '#same-line-condition'
348
379
  Enabled: true
349
380
  VersionAdded: '0.53'
381
+ VersionChanged: '0.83'
350
382
 
351
383
  Layout/DefEndAlignment:
352
384
  Description: 'Align ends corresponding to defs correctly.'
@@ -432,6 +464,19 @@ Layout/EmptyLinesAroundArguments:
432
464
  Enabled: true
433
465
  VersionAdded: '0.52'
434
466
 
467
+ Layout/EmptyLinesAroundAttributeAccessor:
468
+ Description: "Keep blank lines around attribute accessors."
469
+ StyleGuide: '#empty-lines-around-attribute-accessor'
470
+ Enabled: pending
471
+ VersionAdded: '0.83'
472
+ VersionChanged: '0.84'
473
+ AllowAliasSyntax: true
474
+ AllowedMethods:
475
+ - alias_method
476
+ - public
477
+ - protected
478
+ - private
479
+
435
480
  Layout/EmptyLinesAroundBeginBody:
436
481
  Description: "Keeps track of empty lines around begin-end bodies."
437
482
  StyleGuide: '#empty-lines-around-bodies'
@@ -746,13 +791,7 @@ Layout/HeredocIndentation:
746
791
  StyleGuide: '#squiggly-heredocs'
747
792
  Enabled: true
748
793
  VersionAdded: '0.49'
749
- VersionChanged: '0.77'
750
- EnforcedStyle: squiggly
751
- SupportedStyles:
752
- - squiggly
753
- - active_support
754
- - powerpack
755
- - unindent
794
+ VersionChanged: '0.85'
756
795
 
757
796
  Layout/IndentationConsistency:
758
797
  Description: 'Keep indentation straight.'
@@ -773,6 +812,22 @@ Layout/IndentationConsistency:
773
812
  # A reference to `EnforcedStyle: indented_internal_methods`.
774
813
  - https://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#follow-the-coding-conventions
775
814
 
815
+ Layout/IndentationStyle:
816
+ Description: 'Consistent indentation either with tabs only or spaces only.'
817
+ StyleGuide: '#spaces-indentation'
818
+ Enabled: true
819
+ VersionAdded: '0.49'
820
+ VersionChanged: '0.82'
821
+ # By default, the indentation width from Layout/IndentationWidth is used
822
+ # But it can be overridden by setting this parameter
823
+ # It is used during auto-correction to determine how many spaces should
824
+ # replace each tab.
825
+ IndentationWidth: ~
826
+ EnforcedStyle: spaces
827
+ SupportedStyles:
828
+ - spaces
829
+ - tabs
830
+
776
831
  Layout/IndentationWidth:
777
832
  Description: 'Use 2 spaces for indentation.'
778
833
  StyleGuide: '#spaces-indentation'
@@ -804,13 +859,13 @@ Layout/LeadingEmptyLines:
804
859
  VersionChanged: '0.77'
805
860
 
806
861
  Layout/LineLength:
807
- Description: 'Limit lines to 80 characters.'
808
- StyleGuide: '#80-character-limits'
862
+ Description: 'Checks that line length does not exceed the configured limit.'
863
+ StyleGuide: '#max-line-length'
809
864
  Enabled: true
810
865
  VersionAdded: '0.25'
811
- VersionChanged: '0.78'
866
+ VersionChanged: '0.84'
812
867
  AutoCorrect: false
813
- Max: 80
868
+ Max: 120
814
869
  # To make it possible to copy or click on URIs in the code, we allow lines
815
870
  # containing a URI to be longer than Max.
816
871
  AllowHeredoc: true
@@ -1060,6 +1115,11 @@ Layout/SpaceAroundKeyword:
1060
1115
  Enabled: true
1061
1116
  VersionAdded: '0.49'
1062
1117
 
1118
+ Layout/SpaceAroundMethodCallOperator:
1119
+ Description: 'Checks method call operators to not have spaces around them.'
1120
+ Enabled: pending
1121
+ VersionAdded: '0.82'
1122
+
1063
1123
  Layout/SpaceAroundOperators:
1064
1124
  Description: 'Use a single space around operators.'
1065
1125
  StyleGuide: '#spaces-operators'
@@ -1230,18 +1290,6 @@ Layout/SpaceInsideStringInterpolation:
1230
1290
  - space
1231
1291
  - no_space
1232
1292
 
1233
- Layout/Tab:
1234
- Description: 'No hard tabs.'
1235
- StyleGuide: '#spaces-indentation'
1236
- Enabled: true
1237
- VersionAdded: '0.49'
1238
- VersionChanged: '0.51'
1239
- # By default, the indentation width from Layout/IndentationWidth is used
1240
- # But it can be overridden by setting this parameter
1241
- # It is used during auto-correction to determine how many spaces should
1242
- # replace each tab.
1243
- IndentationWidth: ~
1244
-
1245
1293
  Layout/TrailingEmptyLines:
1246
1294
  Description: 'Checks trailing blank lines and final newline.'
1247
1295
  StyleGuide: '#newline-eof'
@@ -1258,8 +1306,8 @@ Layout/TrailingWhitespace:
1258
1306
  StyleGuide: '#no-trailing-whitespace'
1259
1307
  Enabled: true
1260
1308
  VersionAdded: '0.49'
1261
- VersionChanged: '0.55'
1262
- AllowInHeredoc: false
1309
+ VersionChanged: '0.83'
1310
+ AllowInHeredoc: true
1263
1311
 
1264
1312
  #################### Lint ##################################
1265
1313
  ### Warnings
@@ -1279,6 +1327,7 @@ Lint/AmbiguousOperator:
1279
1327
  StyleGuide: '#method-invocation-parens'
1280
1328
  Enabled: true
1281
1329
  VersionAdded: '0.17'
1330
+ VersionChanged: '0.83'
1282
1331
 
1283
1332
  Lint/AmbiguousRegexpLiteral:
1284
1333
  Description: >-
@@ -1286,6 +1335,7 @@ Lint/AmbiguousRegexpLiteral:
1286
1335
  a method invocation without parentheses.
1287
1336
  Enabled: true
1288
1337
  VersionAdded: '0.17'
1338
+ VersionChanged: '0.83'
1289
1339
 
1290
1340
  Lint/AssignmentInCondition:
1291
1341
  Description: "Don't use assignment in conditions."
@@ -1302,7 +1352,9 @@ Lint/BigDecimalNew:
1302
1352
  Lint/BooleanSymbol:
1303
1353
  Description: 'Check for `:true` and `:false` symbols.'
1304
1354
  Enabled: true
1355
+ Safe: false
1305
1356
  VersionAdded: '0.50'
1357
+ VersionChanged: '0.83'
1306
1358
 
1307
1359
  Lint/CircularArgumentReference:
1308
1360
  Description: "Default values in optional keyword arguments and optional ordinal arguments should not refer back to the name of the argument."
@@ -1320,6 +1372,11 @@ Lint/DeprecatedClassMethods:
1320
1372
  Enabled: true
1321
1373
  VersionAdded: '0.19'
1322
1374
 
1375
+ Lint/DeprecatedOpenSSLConstant:
1376
+ Description: "Don't use algorithm constants for `OpenSSL::Cipher` and `OpenSSL::Digest`."
1377
+ Enabled: pending
1378
+ VersionAdded: '0.84'
1379
+
1323
1380
  Lint/DisjunctiveAssignmentInConstructor:
1324
1381
  Description: 'In constructor, plain assignment is preferred over disjunctive.'
1325
1382
  Enabled: true
@@ -1373,18 +1430,16 @@ Lint/EmptyInterpolation:
1373
1430
  Lint/EmptyWhen:
1374
1431
  Description: 'Checks for `when` branches with empty bodies.'
1375
1432
  Enabled: true
1433
+ AllowComments: true
1376
1434
  VersionAdded: '0.45'
1377
-
1378
- Lint/EndInMethod:
1379
- Description: 'END blocks should not be placed inside method definitions.'
1380
- Enabled: true
1381
- VersionAdded: '0.9'
1435
+ VersionChanged: '0.83'
1382
1436
 
1383
1437
  Lint/EnsureReturn:
1384
1438
  Description: 'Do not use return in an ensure block.'
1385
1439
  StyleGuide: '#no-return-ensure'
1386
1440
  Enabled: true
1387
1441
  VersionAdded: '0.9'
1442
+ VersionChanged: '0.83'
1388
1443
 
1389
1444
  Lint/ErbNewArguments:
1390
1445
  Description: 'Use `:trim_mode` and `:eoutvar` keyword arguments to `ERB.new`.'
@@ -1478,6 +1533,11 @@ Lint/MissingCopEnableDirective:
1478
1533
  # .inf for any size
1479
1534
  MaximumRangeSize: .inf
1480
1535
 
1536
+ Lint/MixedRegexpCaptureTypes:
1537
+ Description: 'Do not mix named captures and numbered captures in a Regexp literal.'
1538
+ Enabled: pending
1539
+ VersionAdded: '0.85'
1540
+
1481
1541
  Lint/MultipleComparison:
1482
1542
  Description: "Use `&&` operator to compare multiple values."
1483
1543
  Enabled: true
@@ -1532,6 +1592,7 @@ Lint/ParenthesesAsGroupedExpression:
1532
1592
  StyleGuide: '#parens-no-spaces'
1533
1593
  Enabled: true
1534
1594
  VersionAdded: '0.12'
1595
+ VersionChanged: '0.83'
1535
1596
 
1536
1597
  Lint/PercentStringArray:
1537
1598
  Description: >-
@@ -1546,6 +1607,14 @@ Lint/PercentSymbolArray:
1546
1607
  Enabled: true
1547
1608
  VersionAdded: '0.41'
1548
1609
 
1610
+ Lint/RaiseException:
1611
+ Description: Checks for `raise` or `fail` statements which are raising `Exception` class.
1612
+ StyleGuide: '#raise-exception'
1613
+ Enabled: pending
1614
+ VersionAdded: '0.81'
1615
+ AllowedImplicitNamespaces:
1616
+ - 'Gem'
1617
+
1549
1618
  Lint/RandOne:
1550
1619
  Description: >-
1551
1620
  Checks for `rand(1)` calls. Such calls always return `0`
@@ -1574,7 +1643,7 @@ Lint/RedundantRequireStatement:
1574
1643
  Lint/RedundantSplatExpansion:
1575
1644
  Description: 'Checks for splat unnecessarily being called on literals.'
1576
1645
  Enabled: true
1577
- VersionChanged: '0.76'
1646
+ VersionAdded: '0.76'
1578
1647
 
1579
1648
  Lint/RedundantStringCoercion:
1580
1649
  Description: 'Checks for Object#to_s usage in string interpolation.'
@@ -1688,13 +1757,18 @@ Lint/ShadowingOuterLocalVariable:
1688
1757
  Enabled: true
1689
1758
  VersionAdded: '0.9'
1690
1759
 
1760
+ Lint/StructNewOverride:
1761
+ Description: 'Disallow overriding the `Struct` built-in methods via `Struct.new`.'
1762
+ Enabled: pending
1763
+ VersionAdded: '0.81'
1764
+
1691
1765
  Lint/SuppressedException:
1692
1766
  Description: "Don't suppress exceptions."
1693
1767
  StyleGuide: '#dont-hide-exceptions'
1694
1768
  Enabled: true
1695
- AllowComments: false
1769
+ AllowComments: true
1696
1770
  VersionAdded: '0.9'
1697
- VersionChanged: '0.77'
1771
+ VersionChanged: '0.81'
1698
1772
 
1699
1773
  Lint/Syntax:
1700
1774
  Description: 'Checks syntax error.'
@@ -1705,6 +1779,7 @@ Lint/Syntax:
1705
1779
  Lint/ToJSON:
1706
1780
  Description: 'Ensure #to_json includes an optional argument.'
1707
1781
  Enabled: true
1782
+ VersionAdded: '0.66'
1708
1783
 
1709
1784
  Lint/UnderscorePrefixedVariableName:
1710
1785
  Description: 'Do not use prefix `_` for a variable that is used.'
@@ -1736,9 +1811,10 @@ Lint/UnusedMethodArgument:
1736
1811
  StyleGuide: '#underscore-unused-vars'
1737
1812
  Enabled: true
1738
1813
  VersionAdded: '0.21'
1739
- VersionChanged: '0.35'
1814
+ VersionChanged: '0.81'
1740
1815
  AllowUnusedKeywordArguments: false
1741
1816
  IgnoreEmptyMethods: true
1817
+ IgnoreNotImplementedMethods: true
1742
1818
 
1743
1819
  Lint/UriEscapeUnescape:
1744
1820
  Description: >-
@@ -1760,7 +1836,7 @@ Lint/UselessAccessModifier:
1760
1836
  Description: 'Checks for useless access modifiers.'
1761
1837
  Enabled: true
1762
1838
  VersionAdded: '0.20'
1763
- VersionChanged: '0.47'
1839
+ VersionChanged: '0.83'
1764
1840
  ContextCreatingMethods: []
1765
1841
  MethodCreatingMethods: []
1766
1842
 
@@ -1804,9 +1880,10 @@ Metrics/AbcSize:
1804
1880
  - https://en.wikipedia.org/wiki/ABC_Software_Metric
1805
1881
  Enabled: true
1806
1882
  VersionAdded: '0.27'
1807
- VersionChanged: '0.66'
1883
+ VersionChanged: '0.81'
1808
1884
  # The ABC size is a calculated magnitude, so this number can be an Integer or
1809
1885
  # a Float.
1886
+ IgnoredMethods: []
1810
1887
  Max: 15
1811
1888
 
1812
1889
  Metrics/BlockLength:
@@ -1846,6 +1923,8 @@ Metrics/CyclomaticComplexity:
1846
1923
  of test cases needed to validate a method.
1847
1924
  Enabled: true
1848
1925
  VersionAdded: '0.25'
1926
+ VersionChanged: '0.81'
1927
+ IgnoredMethods: []
1849
1928
  Max: 6
1850
1929
 
1851
1930
  Metrics/MethodLength:
@@ -1879,6 +1958,8 @@ Metrics/PerceivedComplexity:
1879
1958
  human reader.
1880
1959
  Enabled: true
1881
1960
  VersionAdded: '0.25'
1961
+ VersionChanged: '0.81'
1962
+ IgnoredMethods: []
1882
1963
  Max: 7
1883
1964
 
1884
1965
  ################## Migration #############################
@@ -1888,6 +1969,7 @@ Migration/DepartmentName:
1888
1969
  Check that cop names in rubocop:disable (etc) comments are
1889
1970
  given with department name.
1890
1971
  Enabled: true
1972
+ VersionAdded: '0.75'
1891
1973
 
1892
1974
  #################### Naming ##############################
1893
1975
 
@@ -1929,6 +2011,11 @@ Naming/ClassAndModuleCamelCase:
1929
2011
  StyleGuide: '#camelcase-classes'
1930
2012
  Enabled: true
1931
2013
  VersionAdded: '0.50'
2014
+ VersionChanged: '0.85'
2015
+ # Allowed class/module names can be specified here.
2016
+ # These can be full or part of the name.
2017
+ AllowedNames:
2018
+ - module_parent
1932
2019
 
1933
2020
  Naming/ConstantName:
1934
2021
  Description: 'Constants should use SCREAMING_SNAKE_CASE.'
@@ -1949,6 +2036,10 @@ Naming/FileName:
1949
2036
  # It further expects it to be nested inside modules which match the names
1950
2037
  # of subdirectories in its path.
1951
2038
  ExpectMatchingDefinition: false
2039
+ # When `false`, changes the behavior of ExpectMatchingDefinition to match only
2040
+ # whether each source file's class or module name matches the file name --
2041
+ # not whether the nested module hierarchy matches the subdirectory path.
2042
+ CheckDefinitionPathHierarchy: true
1952
2043
  # If non-`nil`, expect all source file names to match the following regex.
1953
2044
  # Only the file name itself is matched, not the entire file path.
1954
2045
  # Use anchors as necessary if you want to match the entire name rather than
@@ -2140,7 +2231,7 @@ Security/JSONLoad:
2140
2231
  Description: >-
2141
2232
  Prefer usage of `JSON.parse` over `JSON.load` due to potential
2142
2233
  security issues. See reference for more information.
2143
- Reference: 'https://ruby-doc.org/stdlib-2.3.0/libdoc/json/rdoc/JSON.html#method-i-load'
2234
+ Reference: 'https://ruby-doc.org/stdlib-2.7.0/libdoc/json/rdoc/JSON.html#method-i-load'
2144
2235
  Enabled: true
2145
2236
  VersionAdded: '0.43'
2146
2237
  VersionChanged: '0.44'
@@ -2153,7 +2244,7 @@ Security/MarshalLoad:
2153
2244
  Description: >-
2154
2245
  Avoid using of `Marshal.load` or `Marshal.restore` due to potential
2155
2246
  security issues. See reference for more information.
2156
- Reference: 'https://ruby-doc.org/core-2.3.3/Marshal.html#module-Marshal-label-Security+considerations'
2247
+ Reference: 'https://ruby-doc.org/core-2.7.0/Marshal.html#module-Marshal-label-Security+considerations'
2157
2248
  Enabled: true
2158
2249
  VersionAdded: '0.47'
2159
2250
 
@@ -2167,7 +2258,7 @@ Security/YAMLLoad:
2167
2258
  Description: >-
2168
2259
  Prefer usage of `YAML.safe_load` over `YAML.load` due to potential
2169
2260
  security issues. See reference for more information.
2170
- Reference: 'https://ruby-doc.org/stdlib-2.3.3/libdoc/yaml/rdoc/YAML.html#module-YAML-label-Security'
2261
+ Reference: 'https://ruby-doc.org/stdlib-2.7.0/libdoc/yaml/rdoc/YAML.html#module-YAML-label-Security'
2171
2262
  Enabled: true
2172
2263
  VersionAdded: '0.47'
2173
2264
  SafeAutoCorrect: false
@@ -2178,10 +2269,12 @@ Style/AccessModifierDeclarations:
2178
2269
  Description: 'Checks style of how access modifiers are used.'
2179
2270
  Enabled: true
2180
2271
  VersionAdded: '0.57'
2272
+ VersionChanged: '0.81'
2181
2273
  EnforcedStyle: group
2182
2274
  SupportedStyles:
2183
2275
  - inline
2184
2276
  - group
2277
+ AllowModifiersOnSymbols: true
2185
2278
 
2186
2279
  Style/Alias:
2187
2280
  Description: 'Use alias instead of alias_method.'
@@ -2202,7 +2295,7 @@ Style/AndOr:
2202
2295
  VersionChanged: '0.25'
2203
2296
  # Whether `and` and `or` are banned only in conditionals (conditionals)
2204
2297
  # or completely (always).
2205
- EnforcedStyle: always
2298
+ EnforcedStyle: conditionals
2206
2299
  SupportedStyles:
2207
2300
  - always
2208
2301
  - conditionals
@@ -2372,6 +2465,15 @@ Style/CaseEquality:
2372
2465
  StyleGuide: '#no-case-equality'
2373
2466
  Enabled: true
2374
2467
  VersionAdded: '0.9'
2468
+ # If AllowOnConstant is enabled, the cop will ignore violations when the receiver of
2469
+ # the case equality operator is a constant.
2470
+ #
2471
+ # # bad
2472
+ # /string/ === "string"
2473
+ #
2474
+ # # good
2475
+ # String === "string"
2476
+ AllowOnConstant: false
2375
2477
 
2376
2478
  Style/CharacterLiteral:
2377
2479
  Description: 'Checks for uses of character literals.'
@@ -2412,6 +2514,7 @@ Style/ClassAndModuleChildren:
2412
2514
 
2413
2515
  Style/ClassCheck:
2414
2516
  Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
2517
+ StyleGuide: '#is-a-vs-kind-of'
2415
2518
  Enabled: true
2416
2519
  VersionAdded: '0.24'
2417
2520
  EnforcedStyle: is_a?
@@ -2435,7 +2538,7 @@ Style/ClassVars:
2435
2538
  # Align with the style guide.
2436
2539
  Style/CollectionMethods:
2437
2540
  Description: 'Preferred collection methods.'
2438
- StyleGuide: '#map-find-select-reduce-size'
2541
+ StyleGuide: '#map-find-select-reduce-include-size'
2439
2542
  Enabled: false
2440
2543
  VersionAdded: '0.9'
2441
2544
  VersionChanged: '0.27'
@@ -2452,6 +2555,7 @@ Style/CollectionMethods:
2452
2555
  inject: 'reduce'
2453
2556
  detect: 'find'
2454
2557
  find_all: 'select'
2558
+ member?: 'include?'
2455
2559
 
2456
2560
  Style/ColonMethodCall:
2457
2561
  Description: 'Do not use :: for method call.'
@@ -2578,6 +2682,12 @@ Style/Dir:
2578
2682
  Enabled: true
2579
2683
  VersionAdded: '0.50'
2580
2684
 
2685
+ Style/DisableCopsWithinSourceCodeDirective:
2686
+ Description: >-
2687
+ Forbids disabling/enabling cops within source code.
2688
+ Enabled: false
2689
+ VersionAdded: '0.82'
2690
+
2581
2691
  Style/Documentation:
2582
2692
  Description: 'Document classes and non-namespace modules.'
2583
2693
  Enabled: true
@@ -2605,6 +2715,11 @@ Style/DoubleNegation:
2605
2715
  StyleGuide: '#no-bang-bang'
2606
2716
  Enabled: true
2607
2717
  VersionAdded: '0.19'
2718
+ VersionChanged: '0.84'
2719
+ EnforcedStyle: allowed_in_returns
2720
+ SupportedStyles:
2721
+ - allowed_in_returns
2722
+ - forbidden
2608
2723
 
2609
2724
  Style/EachForSimpleLoop:
2610
2725
  Description: >-
@@ -2677,6 +2792,7 @@ Style/EndBlock:
2677
2792
  StyleGuide: '#no-END-blocks'
2678
2793
  Enabled: true
2679
2794
  VersionAdded: '0.9'
2795
+ VersionChanged: '0.81'
2680
2796
 
2681
2797
  Style/EvalWithLocation:
2682
2798
  Description: 'Pass `__FILE__` and `__LINE__` to `eval` method, as they are used by backtraces.'
@@ -2695,6 +2811,17 @@ Style/ExpandPathArguments:
2695
2811
  Enabled: true
2696
2812
  VersionAdded: '0.53'
2697
2813
 
2814
+ Style/ExponentialNotation:
2815
+ Description: 'When using exponential notation, favor a mantissa between 1 (inclusive) and 10 (exclusive).'
2816
+ StyleGuide: '#exponential-notation'
2817
+ Enabled: pending
2818
+ VersionAdded: '0.82'
2819
+ EnforcedStyle: scientific
2820
+ SupportedStyles:
2821
+ - scientific
2822
+ - engineering
2823
+ - integral
2824
+
2698
2825
  Style/FloatDivision:
2699
2826
  Description: 'For performing float division, coerce one side only.'
2700
2827
  StyleGuide: '#float-division'
@@ -2756,8 +2883,7 @@ Style/FrozenStringLiteralComment:
2756
2883
  SupportedStyles:
2757
2884
  # `always` will always add the frozen string literal comment to a file
2758
2885
  # regardless of the Ruby version or if `freeze` or `<<` are called on a
2759
- # string literal. If you run code against multiple versions of Ruby, it is
2760
- # possible that this will create errors in Ruby 2.3.0+.
2886
+ # string literal. It is possible that this will create errors.
2761
2887
  - always
2762
2888
  # `always_true` will add the frozen string literal comment to a file,
2763
2889
  # similarly to the `always` style, but will also change any disabled
@@ -2863,6 +2989,7 @@ Style/IfWithSemicolon:
2863
2989
  StyleGuide: '#no-semicolon-ifs'
2864
2990
  Enabled: true
2865
2991
  VersionAdded: '0.9'
2992
+ VersionChanged: '0.83'
2866
2993
 
2867
2994
  Style/ImplicitRuntimeError:
2868
2995
  Description: >-
@@ -2937,7 +3064,7 @@ Style/LambdaCall:
2937
3064
  Description: 'Use lambda.call(...) instead of lambda.(...).'
2938
3065
  StyleGuide: '#proc-call'
2939
3066
  Enabled: true
2940
- VersionAdded: '0.13.1'
3067
+ VersionAdded: '0.13'
2941
3068
  VersionChanged: '0.14'
2942
3069
  EnforcedStyle: call
2943
3070
  SupportedStyles:
@@ -3067,6 +3194,7 @@ Style/ModuleFunction:
3067
3194
  SupportedStyles:
3068
3195
  - module_function
3069
3196
  - extend_self
3197
+ - forbidden
3070
3198
  Autocorrect: false
3071
3199
  SafeAutoCorrect: false
3072
3200
 
@@ -3339,7 +3467,9 @@ Style/OptionalArguments:
3339
3467
  of the argument list.
3340
3468
  StyleGuide: '#optional-arguments'
3341
3469
  Enabled: true
3470
+ Safe: false
3342
3471
  VersionAdded: '0.33'
3472
+ VersionChanged: '0.83'
3343
3473
 
3344
3474
  Style/OrAssignment:
3345
3475
  Description: 'Recommend usage of double pipe equals (||=) where applicable.'
@@ -3488,6 +3618,16 @@ Style/RedundantPercentQ:
3488
3618
  Enabled: true
3489
3619
  VersionAdded: '0.76'
3490
3620
 
3621
+ Style/RedundantRegexpCharacterClass:
3622
+ Description: 'Checks for unnecessary single-element Regexp character classes.'
3623
+ Enabled: pending
3624
+ VersionAdded: '0.85'
3625
+
3626
+ Style/RedundantRegexpEscape:
3627
+ Description: 'Checks for redundant escapes in Regexps.'
3628
+ Enabled: pending
3629
+ VersionAdded: '0.85'
3630
+
3491
3631
  Style/RedundantReturn:
3492
3632
  Description: "Don't use return where it's not required."
3493
3633
  StyleGuide: '#no-explicit-return'
@@ -3644,6 +3784,12 @@ Style/SingleLineMethods:
3644
3784
  VersionChanged: '0.19'
3645
3785
  AllowIfMethodIsEmpty: true
3646
3786
 
3787
+ Style/SlicingWithRange:
3788
+ Description: 'Checks array slicing is done with endless ranges when suitable.'
3789
+ Enabled: pending
3790
+ VersionAdded: '0.83'
3791
+ Safe: false
3792
+
3647
3793
  Style/SpecialGlobalVars:
3648
3794
  Description: 'Avoid Perl-style global variables.'
3649
3795
  StyleGuide: '#no-cryptic-perlisms'
@@ -3806,22 +3952,29 @@ Style/TrailingCommaInArrayLiteral:
3806
3952
  StyleGuide: '#no-trailing-array-commas'
3807
3953
  Enabled: true
3808
3954
  VersionAdded: '0.53'
3955
+ # If `comma`, the cop requires a comma after the last item in an array,
3809
3956
  # but only when each item is on its own line.
3810
3957
  # If `consistent_comma`, the cop requires a comma after the last item of all
3811
- # non-empty array literals.
3958
+ # non-empty, multiline array literals.
3812
3959
  EnforcedStyleForMultiline: no_comma
3813
3960
  SupportedStylesForMultiline:
3814
3961
  - comma
3815
3962
  - consistent_comma
3816
3963
  - no_comma
3817
3964
 
3965
+ Style/TrailingCommaInBlockArgs:
3966
+ Description: 'Checks for useless trailing commas in block arguments.'
3967
+ Enabled: false
3968
+ Safe: false
3969
+ VersionAdded: '0.81'
3970
+
3818
3971
  Style/TrailingCommaInHashLiteral:
3819
3972
  Description: 'Checks for trailing comma in hash literals.'
3820
3973
  Enabled: true
3821
3974
  # If `comma`, the cop requires a comma after the last item in a hash,
3822
3975
  # but only when each item is on its own line.
3823
3976
  # If `consistent_comma`, the cop requires a comma after the last item of all
3824
- # non-empty hash literals.
3977
+ # non-empty, multiline hash literals.
3825
3978
  EnforcedStyleForMultiline: no_comma
3826
3979
  SupportedStylesForMultiline:
3827
3980
  - comma
@@ -1,4 +1,4 @@
1
1
  module Chefstyle
2
- VERSION = "0.15.1".freeze
3
- RUBOCOP_VERSION = "0.80.1".freeze
2
+ VERSION = "1.1.1".freeze
3
+ RUBOCOP_VERSION = "0.85.1".freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chefstyle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-11 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.80.1
61
+ version: 0.85.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.80.1
68
+ version: 0.85.1
69
69
  description:
70
70
  email:
71
71
  - oss@chef.io
@@ -74,7 +74,6 @@ executables:
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - Gemfile
78
77
  - LICENSE
79
78
  - bin/chefstyle
80
79
  - chefstyle.gemspec
@@ -96,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
96
95
  requirements:
97
96
  - - ">="
98
97
  - !ruby/object:Gem::Version
99
- version: '2.3'
98
+ version: '2.4'
100
99
  required_rubygems_version: !ruby/object:Gem::Requirement
101
100
  requirements:
102
101
  - - ">="
@@ -106,5 +105,5 @@ requirements: []
106
105
  rubygems_version: 3.0.3
107
106
  signing_key:
108
107
  specification_version: 4
109
- summary: Rubocop configuration for Chef's ruby projects
108
+ summary: RuboCop configuration for Chef's ruby projects
110
109
  test_files: []
data/Gemfile DELETED
@@ -1,22 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- # Specify your gem's dependencies in chefstyle.gemspec
4
- gemspec
5
-
6
- group :debug do
7
- gem "pry"
8
- gem "pry-byebug"
9
- gem "pry-stack_explorer"
10
- end
11
-
12
- group :docs do
13
- gem "github-markup"
14
- gem "redcarpet"
15
- gem "yard"
16
- end
17
-
18
- instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"]
19
-
20
- # If you want to load debugging tools into the bundle exec sandbox,
21
- # add these additional dependencies into Gemfile.local
22
- eval_gemfile(__FILE__ + ".local") if File.exist?(__FILE__ + ".local")