chefstyle 0.15.1 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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")