cookstyle 7.13.0 → 7.15.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/cookstyle.yml +29 -0
- data/config/disable_all.yml +16 -0
- data/config/upstream.yml +106 -32
- data/lib/cookstyle.rb +1 -1
- data/lib/cookstyle/version.rb +2 -2
- data/lib/rubocop/cop/chef/deprecation/policyfile_community_source.rb +53 -0
- data/lib/rubocop/cop/inspec/deprecation/attribute_default.rb +53 -0
- data/lib/rubocop/cop/inspec/deprecation/attribute_helper.rb +47 -0
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dfc2c66f2febd5fbd7ee14e3fe798ae10f1dc8b7fa3df2a3ebfd068a024f845f
|
4
|
+
data.tar.gz: 9f6bef8fb1d57f40fd9a94900d5b0e4a95c98682124b79f7de85e83af244899c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78197b457795eff5976c4ed4bd6b8458be306b900142799027f4a5848bd0f722d5c9b3b3431349c4a2c48783038289b06a983dba383c13c05bc0391c4ab6c1aa
|
7
|
+
data.tar.gz: 6af82797747ea7eebc69a5f21e8a1d79858534ec318b620ee324bedb9a18530b5e897f087b58bfaa9d7d4e240041c3aa497cb42326725f827d62fd551f092dc4
|
data/config/cookstyle.yml
CHANGED
@@ -1208,6 +1208,14 @@ Chef/Deprecations/ResourceWithoutUnifiedTrue:
|
|
1208
1208
|
Exclude:
|
1209
1209
|
- '**/spec/**/*.rb'
|
1210
1210
|
|
1211
|
+
Chef/Deprecations/PolicyfileCommunitySource:
|
1212
|
+
Description: The Policyfile source of `:community` has been replaced with `:supermarket`
|
1213
|
+
StyleGuide: 'chef_deprecations_policyfilecommunitysource'
|
1214
|
+
Enabled: true
|
1215
|
+
VersionAdded: '7.15.0'
|
1216
|
+
Include:
|
1217
|
+
- '**/Policyfile.rb'
|
1218
|
+
|
1211
1219
|
###############################
|
1212
1220
|
# Chef/Modernize: Cleaning up legacy code and using new built-in resources
|
1213
1221
|
###############################
|
@@ -2080,6 +2088,27 @@ Chef/Effortless/Berksfile:
|
|
2080
2088
|
Include:
|
2081
2089
|
- '**/Berksfile'
|
2082
2090
|
|
2091
|
+
#### InSpec cops
|
2092
|
+
|
2093
|
+
InSpec/Deprecations:
|
2094
|
+
StyleGuideBaseURL: https://docs.chef.io/workstation/cookstyle/
|
2095
|
+
|
2096
|
+
InSpec/Deprecations/AttributeHelper:
|
2097
|
+
Description: InSpec attributes have been renamed to inputs. Use the `input` method not the deprecation `attribute` method to access these values.
|
2098
|
+
StyleGuide: 'inspec_deprecations_attributehelper'
|
2099
|
+
Enabled: true
|
2100
|
+
VersionAdded: '7.14.0'
|
2101
|
+
Include:
|
2102
|
+
- '**/controls/*.rb'
|
2103
|
+
|
2104
|
+
InSpec/Deprecations/AttributeDefault:
|
2105
|
+
Description: The InSpec inputs `default` option has been replaced with the `value` option.
|
2106
|
+
StyleGuide: 'inspec_deprecations_attributedefaults'
|
2107
|
+
Enabled: true
|
2108
|
+
VersionAdded: '7.14.0'
|
2109
|
+
Include:
|
2110
|
+
- '**/controls/*.rb'
|
2111
|
+
|
2083
2112
|
#### The base rubocop 0.37 enabled.yml file we started with ####
|
2084
2113
|
|
2085
2114
|
Layout/AccessModifierIndentation:
|
data/config/disable_all.yml
CHANGED
@@ -123,6 +123,8 @@ Layout/LeadingCommentSpace:
|
|
123
123
|
Enabled: false
|
124
124
|
Layout/LeadingEmptyLines:
|
125
125
|
Enabled: false
|
126
|
+
Layout/LineEndStringConcatenationIndentation:
|
127
|
+
Enabled: false
|
126
128
|
Layout/LineLength:
|
127
129
|
Enabled: false
|
128
130
|
Layout/MultilineArrayBraceLayout:
|
@@ -275,6 +277,8 @@ Lint/EmptyExpression:
|
|
275
277
|
Enabled: false
|
276
278
|
Lint/EmptyFile:
|
277
279
|
Enabled: false
|
280
|
+
Lint/EmptyInPattern:
|
281
|
+
Enabled: false
|
278
282
|
Lint/EmptyInterpolation:
|
279
283
|
Enabled: false
|
280
284
|
Lint/EmptyWhen:
|
@@ -485,6 +489,8 @@ Naming/HeredocDelimiterCase:
|
|
485
489
|
Enabled: false
|
486
490
|
Naming/HeredocDelimiterNaming:
|
487
491
|
Enabled: false
|
492
|
+
Naming/InclusiveLanguage:
|
493
|
+
Enabled: false
|
488
494
|
Naming/MemoizedInstanceVariableName:
|
489
495
|
Enabled: false
|
490
496
|
Naming/MethodName:
|
@@ -667,6 +673,8 @@ Style/IfWithSemicolon:
|
|
667
673
|
Enabled: false
|
668
674
|
Style/ImplicitRuntimeError:
|
669
675
|
Enabled: false
|
676
|
+
Style/InPatternThen:
|
677
|
+
Enabled: false
|
670
678
|
Style/InfiniteLoop:
|
671
679
|
Enabled: false
|
672
680
|
Style/InverseMethods:
|
@@ -687,6 +695,8 @@ Style/MethodCallWithoutArgsParentheses:
|
|
687
695
|
Enabled: false
|
688
696
|
Style/MethodCallWithArgsParentheses:
|
689
697
|
Enabled: false
|
698
|
+
Style/MultilineInPatternThen:
|
699
|
+
Enabled: false
|
690
700
|
Style/RedundantAssignment:
|
691
701
|
Enabled: false
|
692
702
|
Style/RedundantFetchBlock:
|
@@ -787,6 +797,8 @@ Style/PreferredHashMethods:
|
|
787
797
|
Enabled: false
|
788
798
|
Style/Proc:
|
789
799
|
Enabled: false
|
800
|
+
Style/QuotedSymbols:
|
801
|
+
Enabled: false
|
790
802
|
Style/RaiseArgs:
|
791
803
|
Enabled: false
|
792
804
|
Style/RandomWithOffset:
|
@@ -935,3 +947,7 @@ Security/Open:
|
|
935
947
|
Enabled: false
|
936
948
|
Security/YAMLLoad:
|
937
949
|
Enabled: false
|
950
|
+
InSpec/Deprecations/AttributeDefault:
|
951
|
+
Enabled: false
|
952
|
+
InSpec/Deprecations/AttributeHelper:
|
953
|
+
Enabled: false
|
data/config/upstream.yml
CHANGED
@@ -270,8 +270,8 @@ Layout/AccessModifierIndentation:
|
|
270
270
|
SupportedStyles:
|
271
271
|
- outdent
|
272
272
|
- indent
|
273
|
-
# By default
|
274
|
-
#
|
273
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
274
|
+
# but it can be overridden by setting this parameter.
|
275
275
|
IndentationWidth: ~
|
276
276
|
|
277
277
|
Layout/ArgumentAlignment:
|
@@ -299,8 +299,8 @@ Layout/ArgumentAlignment:
|
|
299
299
|
SupportedStyles:
|
300
300
|
- with_first_argument
|
301
301
|
- with_fixed_indentation
|
302
|
-
# By default
|
303
|
-
#
|
302
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
303
|
+
# but it can be overridden by setting this parameter.
|
304
304
|
IndentationWidth: ~
|
305
305
|
|
306
306
|
Layout/ArrayAlignment:
|
@@ -328,8 +328,8 @@ Layout/ArrayAlignment:
|
|
328
328
|
SupportedStyles:
|
329
329
|
- with_first_element
|
330
330
|
- with_fixed_indentation
|
331
|
-
# By default
|
332
|
-
#
|
331
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
332
|
+
# but it can be overridden by setting this parameter.
|
333
333
|
IndentationWidth: ~
|
334
334
|
|
335
335
|
Layout/AssignmentIndentation:
|
@@ -339,8 +339,8 @@ Layout/AssignmentIndentation:
|
|
339
339
|
Enabled: true
|
340
340
|
VersionAdded: '0.49'
|
341
341
|
VersionChanged: '0.77'
|
342
|
-
# By default
|
343
|
-
#
|
342
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
343
|
+
# but it can be overridden by setting this parameter.
|
344
344
|
IndentationWidth: ~
|
345
345
|
|
346
346
|
Layout/BeginEndAlignment:
|
@@ -377,18 +377,19 @@ Layout/BlockEndNewline:
|
|
377
377
|
VersionAdded: '0.49'
|
378
378
|
|
379
379
|
Layout/CaseIndentation:
|
380
|
-
Description: 'Indentation of when in a case/when/[else/]end.'
|
380
|
+
Description: 'Indentation of when in a case/(when|in)/[else/]end.'
|
381
381
|
StyleGuide: '#indent-when-to-case'
|
382
382
|
Enabled: true
|
383
383
|
VersionAdded: '0.49'
|
384
|
+
VersionChanged: '1.16'
|
384
385
|
EnforcedStyle: case
|
385
386
|
SupportedStyles:
|
386
387
|
- case
|
387
388
|
- end
|
388
389
|
IndentOneStep: false
|
389
|
-
# By default
|
390
|
-
#
|
391
|
-
# This only matters if `IndentOneStep` is `true
|
390
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
391
|
+
# but it can be overridden by setting this parameter.
|
392
|
+
# This only matters if `IndentOneStep` is `true`.
|
392
393
|
IndentationWidth: ~
|
393
394
|
|
394
395
|
Layout/ClassStructure:
|
@@ -665,8 +666,8 @@ Layout/FirstArgumentIndentation:
|
|
665
666
|
# Same as `special_for_inner_method_call` except that the special rule only
|
666
667
|
# applies if the outer method call encloses its arguments in parentheses.
|
667
668
|
- special_for_inner_method_call_in_parentheses
|
668
|
-
# By default
|
669
|
-
#
|
669
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
670
|
+
# but it can be overridden by setting this parameter.
|
670
671
|
IndentationWidth: ~
|
671
672
|
|
672
673
|
Layout/FirstArrayElementIndentation:
|
@@ -692,8 +693,8 @@ Layout/FirstArrayElementIndentation:
|
|
692
693
|
- special_inside_parentheses
|
693
694
|
- consistent
|
694
695
|
- align_brackets
|
695
|
-
# By default
|
696
|
-
#
|
696
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
697
|
+
# but it can be overridden by setting this parameter.
|
697
698
|
IndentationWidth: ~
|
698
699
|
|
699
700
|
Layout/FirstArrayElementLineBreak:
|
@@ -724,8 +725,8 @@ Layout/FirstHashElementIndentation:
|
|
724
725
|
- special_inside_parentheses
|
725
726
|
- consistent
|
726
727
|
- align_braces
|
727
|
-
# By default
|
728
|
-
#
|
728
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
729
|
+
# but it can be overridden by setting this parameter.
|
729
730
|
IndentationWidth: ~
|
730
731
|
|
731
732
|
Layout/FirstHashElementLineBreak:
|
@@ -760,8 +761,8 @@ Layout/FirstParameterIndentation:
|
|
760
761
|
SupportedStyles:
|
761
762
|
- consistent
|
762
763
|
- align_parentheses
|
763
|
-
# By default
|
764
|
-
#
|
764
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
765
|
+
# but it can be overridden by setting this parameter.
|
765
766
|
IndentationWidth: ~
|
766
767
|
|
767
768
|
Layout/HashAlignment:
|
@@ -771,7 +772,7 @@ Layout/HashAlignment:
|
|
771
772
|
Enabled: true
|
772
773
|
AllowMultipleStyles: true
|
773
774
|
VersionAdded: '0.49'
|
774
|
-
VersionChanged: '
|
775
|
+
VersionChanged: '1.16'
|
775
776
|
# Alignment of entries using hash rocket as separator. Valid values are:
|
776
777
|
#
|
777
778
|
# key - left alignment of keys
|
@@ -882,8 +883,8 @@ Layout/IndentationStyle:
|
|
882
883
|
Enabled: true
|
883
884
|
VersionAdded: '0.49'
|
884
885
|
VersionChanged: '0.82'
|
885
|
-
# By default
|
886
|
-
#
|
886
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
887
|
+
# but it can be overridden by setting this parameter.
|
887
888
|
# It is used during auto-correction to determine how many spaces should
|
888
889
|
# replace each tab.
|
889
890
|
IndentationWidth: ~
|
@@ -922,6 +923,20 @@ Layout/LeadingEmptyLines:
|
|
922
923
|
VersionAdded: '0.57'
|
923
924
|
VersionChanged: '0.77'
|
924
925
|
|
926
|
+
Layout/LineEndStringConcatenationIndentation:
|
927
|
+
Description: >-
|
928
|
+
Checks the indentation of the next line after a line that
|
929
|
+
ends with a string literal and a backslash.
|
930
|
+
Enabled: pending
|
931
|
+
VersionAdded: '1.18'
|
932
|
+
EnforcedStyle: aligned
|
933
|
+
SupportedStyles:
|
934
|
+
- aligned
|
935
|
+
- indented
|
936
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
937
|
+
# but it can be overridden by setting this parameter.
|
938
|
+
IndentationWidth: ~
|
939
|
+
|
925
940
|
Layout/LineLength:
|
926
941
|
Description: 'Checks that line length does not exceed the configured limit.'
|
927
942
|
StyleGuide: '#max-line-length'
|
@@ -1052,8 +1067,8 @@ Layout/MultilineMethodCallIndentation:
|
|
1052
1067
|
- aligned
|
1053
1068
|
- indented
|
1054
1069
|
- indented_relative_to_receiver
|
1055
|
-
# By default
|
1056
|
-
#
|
1070
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
1071
|
+
# but it can be overridden by setting this parameter.
|
1057
1072
|
IndentationWidth: ~
|
1058
1073
|
|
1059
1074
|
Layout/MultilineMethodDefinitionBraceLayout:
|
@@ -1082,8 +1097,8 @@ Layout/MultilineOperationIndentation:
|
|
1082
1097
|
SupportedStyles:
|
1083
1098
|
- aligned
|
1084
1099
|
- indented
|
1085
|
-
# By default
|
1086
|
-
#
|
1100
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
1101
|
+
# but it can be overridden by setting this parameter.
|
1087
1102
|
IndentationWidth: ~
|
1088
1103
|
|
1089
1104
|
Layout/ParameterAlignment:
|
@@ -1111,8 +1126,8 @@ Layout/ParameterAlignment:
|
|
1111
1126
|
SupportedStyles:
|
1112
1127
|
- with_first_parameter
|
1113
1128
|
- with_fixed_indentation
|
1114
|
-
# By default
|
1115
|
-
#
|
1129
|
+
# By default the indentation width from `Layout/IndentationWidth` is used,
|
1130
|
+
# but it can be overridden by setting this parameter.
|
1116
1131
|
IndentationWidth: ~
|
1117
1132
|
|
1118
1133
|
Layout/RedundantLineBreak:
|
@@ -1645,6 +1660,12 @@ Lint/EmptyFile:
|
|
1645
1660
|
AllowComments: true
|
1646
1661
|
VersionAdded: '0.90'
|
1647
1662
|
|
1663
|
+
Lint/EmptyInPattern:
|
1664
|
+
Description: 'Checks for the presence of `in` pattern branches without a body.'
|
1665
|
+
Enabled: pending
|
1666
|
+
AllowComments: true
|
1667
|
+
VersionAdded: '1.16'
|
1668
|
+
|
1648
1669
|
Lint/EmptyInterpolation:
|
1649
1670
|
Description: 'Checks for empty string interpolation.'
|
1650
1671
|
Enabled: true
|
@@ -1788,7 +1809,7 @@ Lint/MissingCopEnableDirective:
|
|
1788
1809
|
Lint/MissingSuper:
|
1789
1810
|
Description: >-
|
1790
1811
|
This cop checks for the presence of constructors and lifecycle callbacks
|
1791
|
-
without calls to `super
|
1812
|
+
without calls to `super`.
|
1792
1813
|
Enabled: true
|
1793
1814
|
VersionAdded: '0.89'
|
1794
1815
|
VersionChanged: '1.4'
|
@@ -2092,6 +2113,7 @@ Lint/SymbolConversion:
|
|
2092
2113
|
Description: 'Checks for unnecessary symbol conversions.'
|
2093
2114
|
Enabled: pending
|
2094
2115
|
VersionAdded: '1.9'
|
2116
|
+
VersionChanged: '1.16'
|
2095
2117
|
EnforcedStyle: strict
|
2096
2118
|
SupportedStyles:
|
2097
2119
|
- strict
|
@@ -2512,6 +2534,31 @@ Naming/HeredocDelimiterNaming:
|
|
2512
2534
|
ForbiddenDelimiters:
|
2513
2535
|
- !ruby/regexp '/(^|\s)(EO[A-Z]{1}|END)(\s|$)/'
|
2514
2536
|
|
2537
|
+
Naming/InclusiveLanguage:
|
2538
|
+
Description: 'Recommend the use of inclusive language instead of problematic terms.'
|
2539
|
+
Enabled: pending
|
2540
|
+
VersionAdded: '1.18'
|
2541
|
+
CheckIdentifiers: true
|
2542
|
+
CheckConstants: true
|
2543
|
+
CheckVariables: true
|
2544
|
+
CheckStrings: false
|
2545
|
+
CheckSymbols: true
|
2546
|
+
CheckComments: true
|
2547
|
+
CheckFilepaths: true
|
2548
|
+
FlaggedTerms:
|
2549
|
+
whitelist:
|
2550
|
+
Regex: !ruby/regexp '/white[-_\s]?list/'
|
2551
|
+
Suggestions:
|
2552
|
+
- allowlist
|
2553
|
+
- permit
|
2554
|
+
blacklist:
|
2555
|
+
Regex: !ruby/regexp '/black[-_\s]?list/'
|
2556
|
+
Suggestions:
|
2557
|
+
- denylist
|
2558
|
+
- block
|
2559
|
+
slave:
|
2560
|
+
Suggestions: ['replica', 'secondary', 'follower']
|
2561
|
+
|
2515
2562
|
Naming/MemoizedInstanceVariableName:
|
2516
2563
|
Description: >-
|
2517
2564
|
Memoized method name should match memo instance variable name.
|
@@ -3103,6 +3150,7 @@ Style/CommentAnnotation:
|
|
3103
3150
|
- HACK
|
3104
3151
|
- REVIEW
|
3105
3152
|
- NOTE
|
3153
|
+
RequireColon: true
|
3106
3154
|
|
3107
3155
|
Style/CommentedKeyword:
|
3108
3156
|
Description: 'Do not place comments on the same line as certain keywords.'
|
@@ -3490,8 +3538,10 @@ Style/HashEachMethods:
|
|
3490
3538
|
Description: 'Use Hash#each_key and Hash#each_value.'
|
3491
3539
|
StyleGuide: '#hash-each'
|
3492
3540
|
Enabled: true
|
3493
|
-
VersionAdded: '0.80'
|
3494
3541
|
Safe: false
|
3542
|
+
VersionAdded: '0.80'
|
3543
|
+
VersionChanged: '1.16'
|
3544
|
+
AllowedReceivers: []
|
3495
3545
|
|
3496
3546
|
Style/HashExcept:
|
3497
3547
|
Description: >-
|
@@ -3554,6 +3604,7 @@ Style/IdenticalConditionalBranches:
|
|
3554
3604
|
out of the conditional.
|
3555
3605
|
Enabled: true
|
3556
3606
|
VersionAdded: '0.36'
|
3607
|
+
VersionChanged: '1.16'
|
3557
3608
|
|
3558
3609
|
Style/IfInsideElse:
|
3559
3610
|
Description: 'Finds if nodes inside else, which can be converted to elsif.'
|
@@ -3600,6 +3651,12 @@ Style/ImplicitRuntimeError:
|
|
3600
3651
|
Enabled: false
|
3601
3652
|
VersionAdded: '0.41'
|
3602
3653
|
|
3654
|
+
Style/InPatternThen:
|
3655
|
+
Description: 'Checks for `in;` uses in `case` expressions.'
|
3656
|
+
StyleGuide: '#no-in-pattern-semicolons'
|
3657
|
+
Enabled: pending
|
3658
|
+
VersionAdded: '1.16'
|
3659
|
+
|
3603
3660
|
Style/InfiniteLoop:
|
3604
3661
|
Description: >-
|
3605
3662
|
Use Kernel#loop for infinite loops.
|
@@ -3828,6 +3885,12 @@ Style/MultilineIfThen:
|
|
3828
3885
|
VersionAdded: '0.9'
|
3829
3886
|
VersionChanged: '0.26'
|
3830
3887
|
|
3888
|
+
Style/MultilineInPatternThen:
|
3889
|
+
Description: 'Do not use `then` for multi-line `in` statement.'
|
3890
|
+
StyleGuide: '#no-then'
|
3891
|
+
Enabled: pending
|
3892
|
+
VersionAdded: '1.16'
|
3893
|
+
|
3831
3894
|
Style/MultilineMemoization:
|
3832
3895
|
Description: 'Wrap multiline memoizations in a `begin` and `end` block.'
|
3833
3896
|
Enabled: true
|
@@ -4186,6 +4249,16 @@ Style/Proc:
|
|
4186
4249
|
VersionAdded: '0.9'
|
4187
4250
|
VersionChanged: '0.18'
|
4188
4251
|
|
4252
|
+
Style/QuotedSymbols:
|
4253
|
+
Description: 'Use a consistent style for quoted symbols.'
|
4254
|
+
Enabled: pending
|
4255
|
+
VersionAdded: '1.16'
|
4256
|
+
EnforcedStyle: same_as_string_literals
|
4257
|
+
SupportedStyles:
|
4258
|
+
- same_as_string_literals
|
4259
|
+
- single_quotes
|
4260
|
+
- double_quotes
|
4261
|
+
|
4189
4262
|
Style/RaiseArgs:
|
4190
4263
|
Description: 'Checks the arguments passed to raise/fail.'
|
4191
4264
|
StyleGuide: '#exception-class-messages'
|
@@ -4543,7 +4616,8 @@ Style/StringConcatenation:
|
|
4543
4616
|
Enabled: true
|
4544
4617
|
Safe: false
|
4545
4618
|
VersionAdded: '0.89'
|
4546
|
-
VersionChanged: '1.
|
4619
|
+
VersionChanged: '1.18'
|
4620
|
+
Mode: aggressive
|
4547
4621
|
|
4548
4622
|
Style/StringHashKeys:
|
4549
4623
|
Description: 'Prefer symbols instead of strings as hash keys.'
|
data/lib/cookstyle.rb
CHANGED
@@ -46,7 +46,7 @@ require_relative 'rubocop/chef/cookbook_only'
|
|
46
46
|
require_relative 'rubocop/cop/target_chef_version'
|
47
47
|
|
48
48
|
# Chef Infra specific cops
|
49
|
-
Dir.glob(__dir__ + '/rubocop/cop
|
49
|
+
Dir.glob(__dir__ + '/rubocop/cop/**/*.rb') do |file|
|
50
50
|
next if File.directory?(file)
|
51
51
|
|
52
52
|
require_relative file # not actually relative but require_relative is faster
|
data/lib/cookstyle/version.rb
CHANGED
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
#
|
3
|
+
# Copyright:: 2021, Chef Software, Inc.
|
4
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
module RuboCop
|
19
|
+
module Cop
|
20
|
+
module Chef
|
21
|
+
module Deprecations
|
22
|
+
# The Policyfile source of `:community` has been replaced with `:supermarket`
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
#
|
26
|
+
# #### incorrect
|
27
|
+
# default_source :community
|
28
|
+
#
|
29
|
+
# #### correct
|
30
|
+
# default_source :supermarket
|
31
|
+
#
|
32
|
+
class PolicyfileCommunitySource < Base
|
33
|
+
extend AutoCorrector
|
34
|
+
|
35
|
+
MSG = 'The Policyfile source of `:community` has been replaced with `:supermarket`.'
|
36
|
+
RESTRICT_ON_SEND = [:default_source].freeze
|
37
|
+
|
38
|
+
def_node_matcher :community_source?, <<-PATTERN
|
39
|
+
(send nil? :default_source (:sym :community))
|
40
|
+
PATTERN
|
41
|
+
|
42
|
+
def on_send(node)
|
43
|
+
community_source?(node) do
|
44
|
+
add_offense(node, message: MSG, severity: :warning) do |corrector|
|
45
|
+
corrector.replace(node, 'default_source :supermarket')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
#
|
3
|
+
# Copyright:: 2021, Chef Software Inc.
|
4
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
module RuboCop
|
19
|
+
module Cop
|
20
|
+
module InSpec
|
21
|
+
module Deprecations
|
22
|
+
# The InSpec inputs `default` option has been replaced with the `value` option.
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
#
|
26
|
+
# #### incorrect
|
27
|
+
# login_defs_umask = input('login_defs_umask', default: '077', description: 'Default umask to set in login.defs')
|
28
|
+
#
|
29
|
+
# #### correct
|
30
|
+
# login_defs_umask = input('login_defs_umask', value: '077', description: 'Default umask to set in login.defs')
|
31
|
+
#
|
32
|
+
class AttributeDefault < Base
|
33
|
+
extend AutoCorrector
|
34
|
+
|
35
|
+
MSG = 'The InSpec inputs `default` option has been replaced with the `value` option.'
|
36
|
+
RESTRICT_ON_SEND = [:attribute, :input].freeze
|
37
|
+
|
38
|
+
def_node_matcher :default?, <<-PATTERN
|
39
|
+
(send nil? {:attribute :input} _ (hash <(pair $(sym :default) ...) ...>) )
|
40
|
+
PATTERN
|
41
|
+
|
42
|
+
def on_send(node)
|
43
|
+
default?(node) do |n|
|
44
|
+
add_offense(n, message: MSG, severity: :warning) do |corrector|
|
45
|
+
corrector.replace(n, 'value')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
#
|
3
|
+
# Copyright:: 2021, Chef Software Inc.
|
4
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
module RuboCop
|
19
|
+
module Cop
|
20
|
+
module InSpec
|
21
|
+
module Deprecations
|
22
|
+
# InSpec attributes have been renamed to inputs. Use the `input` method not the deprecation `attribute` method to access these values.
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
#
|
26
|
+
# #### incorrect
|
27
|
+
# login_defs_umask = attribute('login_defs_umask', value: '077', description: 'Default umask to set in login.defs')
|
28
|
+
#
|
29
|
+
# #### correct
|
30
|
+
# login_defs_umask = input('login_defs_umask', value: '077', description: 'Default umask to set in login.defs')
|
31
|
+
#
|
32
|
+
class AttributeHelper < Base
|
33
|
+
extend AutoCorrector
|
34
|
+
|
35
|
+
MSG = 'InSpec attributes have been renamed to inputs. Use the `input` method not the deprecation `attribute` method to access these values.'
|
36
|
+
RESTRICT_ON_SEND = [:attribute].freeze
|
37
|
+
|
38
|
+
def on_send(node)
|
39
|
+
add_offense(node, message: MSG, severity: :warning) do |corrector|
|
40
|
+
corrector.replace(node.loc.expression, node.loc.expression.source.gsub(/^attribute/, 'input'))
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cookstyle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.15.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thom May
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-07-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rubocop
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - '='
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.
|
20
|
+
version: 1.18.4
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - '='
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.
|
27
|
+
version: 1.18.4
|
28
28
|
description:
|
29
29
|
email:
|
30
30
|
- thom@chef.io
|
@@ -134,6 +134,7 @@ files:
|
|
134
134
|
- lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb
|
135
135
|
- lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb
|
136
136
|
- lib/rubocop/cop/chef/deprecation/poise_archive.rb
|
137
|
+
- lib/rubocop/cop/chef/deprecation/policyfile_community_source.rb
|
137
138
|
- lib/rubocop/cop/chef/deprecation/powershell_cookbook_helpers.rb
|
138
139
|
- lib/rubocop/cop/chef/deprecation/require_recipe.rb
|
139
140
|
- lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb
|
@@ -275,6 +276,8 @@ files:
|
|
275
276
|
- lib/rubocop/cop/chef/style/unnecessary_os_check.rb
|
276
277
|
- lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb
|
277
278
|
- lib/rubocop/cop/chef/style/use_platform_helpers.rb
|
279
|
+
- lib/rubocop/cop/inspec/deprecation/attribute_default.rb
|
280
|
+
- lib/rubocop/cop/inspec/deprecation/attribute_helper.rb
|
278
281
|
- lib/rubocop/cop/target_chef_version.rb
|
279
282
|
- lib/rubocop/monkey_patches/base.rb
|
280
283
|
- lib/rubocop/monkey_patches/config.rb
|