cookstyle 7.4.0 → 7.5.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 +4 -4
- data/config/disable_all.yml +6 -0
- data/config/upstream.yml +48 -6
- data/lib/cookstyle/version.rb +2 -2
- data/lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb +14 -24
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '01118e6811d695f00d05bc6ff6fbadffdc7180cc0488ff23967fa2e2477d630a'
|
4
|
+
data.tar.gz: e1fb1c02d972c9412189868c2d8f8938c8b3b8bcf38884b3043005b2ffc704f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e81aaa04919a2e4d2f00b60beb00d4641d6f2290434d36a7cee05e444fb79df7173492597fea7349000afe76571f690ab3dd2576d9f5c9a960f6e3a25a621f07
|
7
|
+
data.tar.gz: 0a799de7b53c5708542e00e92501b7cab4c92eb4dc9ee2d33b6990229f6a60bca3adaf12527275dd3f92bf3134411ee570cd39ad39ec1a08a07d75c7d48bf8b5
|
data/config/disable_all.yml
CHANGED
@@ -169,6 +169,8 @@ Layout/SpaceAroundOperators:
|
|
169
169
|
Enabled: false
|
170
170
|
Layout/SpaceBeforeBlockBraces:
|
171
171
|
Enabled: false
|
172
|
+
Layout/SpaceBeforeBrackets:
|
173
|
+
Enabled: false
|
172
174
|
Layout/SpaceBeforeComma:
|
173
175
|
Enabled: false
|
174
176
|
Layout/SpaceBeforeComment:
|
@@ -201,6 +203,8 @@ Layout/TrailingEmptyLines:
|
|
201
203
|
Enabled: false
|
202
204
|
Layout/TrailingWhitespace:
|
203
205
|
Enabled: false
|
206
|
+
Lint/AmbiguousAssignment:
|
207
|
+
Enabled: false
|
204
208
|
Lint/AmbiguousBlockAssociation:
|
205
209
|
Enabled: false
|
206
210
|
Lint/AmbiguousOperator:
|
@@ -613,6 +617,8 @@ Style/HashAsLastArrayItem:
|
|
613
617
|
Enabled: false
|
614
618
|
Style/HashEachMethods:
|
615
619
|
Enabled: false
|
620
|
+
Style/HashExcept:
|
621
|
+
Enabled: false
|
616
622
|
Style/HashLikeCase:
|
617
623
|
Enabled: false
|
618
624
|
Style/HashSyntax:
|
data/config/upstream.yml
CHANGED
@@ -473,7 +473,7 @@ Layout/EmptyLineBetweenDefs:
|
|
473
473
|
StyleGuide: '#empty-lines-between-methods'
|
474
474
|
Enabled: true
|
475
475
|
VersionAdded: '0.49'
|
476
|
-
VersionChanged: '1.
|
476
|
+
VersionChanged: '1.7'
|
477
477
|
EmptyLineBetweenMethodDefs: true
|
478
478
|
EmptyLineBetweenClassDefs: true
|
479
479
|
EmptyLineBetweenModuleDefs: true
|
@@ -1192,6 +1192,13 @@ Layout/SpaceBeforeBlockBraces:
|
|
1192
1192
|
- no_space
|
1193
1193
|
VersionChanged: '0.52'
|
1194
1194
|
|
1195
|
+
Layout/SpaceBeforeBrackets:
|
1196
|
+
Description: 'Checks for receiver with a space before the opening brackets.'
|
1197
|
+
StyleGuide: '#space-in-brackets-access'
|
1198
|
+
Enabled: pending
|
1199
|
+
VersionAdded: '1.7'
|
1200
|
+
Safe: false
|
1201
|
+
|
1195
1202
|
Layout/SpaceBeforeComma:
|
1196
1203
|
Description: 'No spaces before commas.'
|
1197
1204
|
Enabled: true
|
@@ -1354,6 +1361,11 @@ Layout/TrailingWhitespace:
|
|
1354
1361
|
#################### Lint ##################################
|
1355
1362
|
### Warnings
|
1356
1363
|
|
1364
|
+
Lint/AmbiguousAssignment:
|
1365
|
+
Description: 'Checks for mistyped shorthand assignments.'
|
1366
|
+
Enabled: pending
|
1367
|
+
VersionAdded: '1.7'
|
1368
|
+
|
1357
1369
|
Lint/AmbiguousBlockAssociation:
|
1358
1370
|
Description: >-
|
1359
1371
|
Checks for ambiguous block association with method when param passed without
|
@@ -1396,6 +1408,7 @@ Lint/BinaryOperatorWithIdenticalOperands:
|
|
1396
1408
|
Enabled: true
|
1397
1409
|
Safe: false
|
1398
1410
|
VersionAdded: '0.89'
|
1411
|
+
VersionChanged: '1.7'
|
1399
1412
|
|
1400
1413
|
Lint/BooleanSymbol:
|
1401
1414
|
Description: 'Check for `:true` and `:false` symbols.'
|
@@ -1472,6 +1485,9 @@ Lint/DuplicateBranch:
|
|
1472
1485
|
Description: Checks that there are no repeated bodies within `if/unless`, `case-when` and `rescue` constructs.
|
1473
1486
|
Enabled: pending
|
1474
1487
|
VersionAdded: '1.3'
|
1488
|
+
VersionChanged: '1.7'
|
1489
|
+
IgnoreLiteralBranches: false
|
1490
|
+
IgnoreConstantBranches: false
|
1475
1491
|
|
1476
1492
|
Lint/DuplicateCaseCondition:
|
1477
1493
|
Description: 'Do not repeat values in case conditionals.'
|
@@ -1842,6 +1858,8 @@ Lint/RedundantSplatExpansion:
|
|
1842
1858
|
Description: 'Checks for splat unnecessarily being called on literals.'
|
1843
1859
|
Enabled: true
|
1844
1860
|
VersionAdded: '0.76'
|
1861
|
+
VersionChanged: '1.7'
|
1862
|
+
AllowPercentLiteralArrayArgument: true
|
1845
1863
|
|
1846
1864
|
Lint/RedundantStringCoercion:
|
1847
1865
|
Description: 'Checks for Object#to_s usage in string interpolation.'
|
@@ -2045,6 +2063,11 @@ Lint/UnreachableLoop:
|
|
2045
2063
|
Description: 'This cop checks for loops that will have at most one iteration.'
|
2046
2064
|
Enabled: true
|
2047
2065
|
VersionAdded: '0.89'
|
2066
|
+
VersionChanged: '1.7'
|
2067
|
+
IgnoredPatterns:
|
2068
|
+
# RSpec uses `times` in its message expectations
|
2069
|
+
# eg. `exactly(2).times`
|
2070
|
+
- !ruby/regexp /(exactly|at_least|at_most)\(\d+\)\.times/
|
2048
2071
|
|
2049
2072
|
Lint/UnusedBlockArgument:
|
2050
2073
|
Description: 'Checks for unused block arguments.'
|
@@ -2895,7 +2918,7 @@ Style/CollectionMethods:
|
|
2895
2918
|
StyleGuide: '#map-find-select-reduce-include-size'
|
2896
2919
|
Enabled: false
|
2897
2920
|
VersionAdded: '0.9'
|
2898
|
-
VersionChanged: '
|
2921
|
+
VersionChanged: '1.7'
|
2899
2922
|
Safe: false
|
2900
2923
|
# Mapping from undesired method to desired method
|
2901
2924
|
# e.g. to use `detect` over `find`:
|
@@ -2910,6 +2933,11 @@ Style/CollectionMethods:
|
|
2910
2933
|
detect: 'find'
|
2911
2934
|
find_all: 'select'
|
2912
2935
|
member?: 'include?'
|
2936
|
+
# Methods in this array accept a final symbol as an implicit block
|
2937
|
+
# eg. `inject(:+)`
|
2938
|
+
MethodsAcceptingSymbol:
|
2939
|
+
- inject
|
2940
|
+
- reduce
|
2913
2941
|
|
2914
2942
|
Style/ColonMethodCall:
|
2915
2943
|
Description: 'Do not use :: for method call.'
|
@@ -2969,6 +2997,7 @@ Style/CommentedKeyword:
|
|
2969
2997
|
Description: 'Do not place comments on the same line as certain keywords.'
|
2970
2998
|
Enabled: true
|
2971
2999
|
VersionAdded: '0.51'
|
3000
|
+
VersionChanged: '1.7'
|
2972
3001
|
|
2973
3002
|
Style/ConditionalAssignment:
|
2974
3003
|
Description: >-
|
@@ -3328,6 +3357,13 @@ Style/HashEachMethods:
|
|
3328
3357
|
VersionAdded: '0.80'
|
3329
3358
|
Safe: false
|
3330
3359
|
|
3360
|
+
Style/HashExcept:
|
3361
|
+
Description: >-
|
3362
|
+
Checks for usages of `Hash#reject`, `Hash#select`, and `Hash#filter` methods
|
3363
|
+
that can be replaced with `Hash#except` method.
|
3364
|
+
Enabled: pending
|
3365
|
+
VersionAdded: '1.7'
|
3366
|
+
|
3331
3367
|
Style/HashLikeCase:
|
3332
3368
|
Description: >-
|
3333
3369
|
Checks for places where `case-when` represents a simple 1:1
|
@@ -3482,6 +3518,7 @@ Style/KeywordParametersOrder:
|
|
3482
3518
|
StyleGuide: '#keyword-parameters-order'
|
3483
3519
|
Enabled: true
|
3484
3520
|
VersionAdded: '0.90'
|
3521
|
+
VersionChanged: '1.7'
|
3485
3522
|
|
3486
3523
|
Style/Lambda:
|
3487
3524
|
Description: 'Use the new lambda literal syntax for single-line blocks.'
|
@@ -3520,7 +3557,7 @@ Style/MethodCallWithArgsParentheses:
|
|
3520
3557
|
StyleGuide: '#method-invocation-parens'
|
3521
3558
|
Enabled: false
|
3522
3559
|
VersionAdded: '0.47'
|
3523
|
-
VersionChanged: '
|
3560
|
+
VersionChanged: '1.7'
|
3524
3561
|
IgnoreMacros: true
|
3525
3562
|
IgnoredMethods: []
|
3526
3563
|
IgnoredPatterns: []
|
@@ -3554,7 +3591,7 @@ Style/MethodDefParentheses:
|
|
3554
3591
|
StyleGuide: '#method-parens'
|
3555
3592
|
Enabled: true
|
3556
3593
|
VersionAdded: '0.16'
|
3557
|
-
VersionChanged: '
|
3594
|
+
VersionChanged: '1.7'
|
3558
3595
|
EnforcedStyle: require_parentheses
|
3559
3596
|
SupportedStyles:
|
3560
3597
|
- require_parentheses
|
@@ -3660,6 +3697,7 @@ Style/MultilineMethodSignature:
|
|
3660
3697
|
Description: 'Avoid multi-line method signatures.'
|
3661
3698
|
Enabled: false
|
3662
3699
|
VersionAdded: '0.59'
|
3700
|
+
VersionChanged: '1.7'
|
3663
3701
|
|
3664
3702
|
Style/MultilineTernaryOperator:
|
3665
3703
|
Description: >-
|
@@ -4026,12 +4064,16 @@ Style/RedundantArgument:
|
|
4026
4064
|
Enabled: pending
|
4027
4065
|
Safe: false
|
4028
4066
|
VersionAdded: '1.4'
|
4029
|
-
VersionChanged: '1.
|
4067
|
+
VersionChanged: '1.7'
|
4030
4068
|
Methods:
|
4031
4069
|
# Array#join
|
4032
4070
|
join: ''
|
4033
4071
|
# String#split
|
4034
4072
|
split: ' '
|
4073
|
+
# String#chomp
|
4074
|
+
chomp: "\n"
|
4075
|
+
# String#chomp!
|
4076
|
+
chomp!: "\n"
|
4035
4077
|
|
4036
4078
|
Style/RedundantAssignment:
|
4037
4079
|
Description: 'Checks for redundant assignment before returning.'
|
@@ -4288,7 +4330,7 @@ Style/SingleLineMethods:
|
|
4288
4330
|
StyleGuide: '#no-single-line-methods'
|
4289
4331
|
Enabled: true
|
4290
4332
|
VersionAdded: '0.9'
|
4291
|
-
VersionChanged: '
|
4333
|
+
VersionChanged: '1.7'
|
4292
4334
|
AllowIfMethodIsEmpty: true
|
4293
4335
|
|
4294
4336
|
Style/SlicingWithRange:
|
data/lib/cookstyle/version.rb
CHANGED
@@ -28,6 +28,7 @@ module RuboCop
|
|
28
28
|
# property :name, String, name_property: true
|
29
29
|
# attribute :name, kind_of: String
|
30
30
|
# attribute :name, kind_of: String, name_attribute: true
|
31
|
+
# attribute :name, name_attribute: true, kind_of: String
|
31
32
|
#
|
32
33
|
class UnnecessaryNameProperty < Base
|
33
34
|
extend AutoCorrector
|
@@ -35,36 +36,25 @@ module RuboCop
|
|
35
36
|
MSG = 'There is no need to define a property or attribute named :name in a resource as Chef Infra defines this on all resources by default.'
|
36
37
|
RESTRICT_ON_SEND = [:property, :attribute].freeze
|
37
38
|
|
38
|
-
def_node_matcher :name_attribute?, <<-PATTERN
|
39
|
-
(send nil? :attribute
|
40
|
-
(sym :name)
|
41
|
-
(hash
|
42
|
-
(pair
|
43
|
-
(sym :kind_of)
|
44
|
-
(const nil? :String))
|
45
|
-
(pair
|
46
|
-
(sym :name_attribute)
|
47
|
-
(true))?))
|
48
|
-
PATTERN
|
49
|
-
|
50
39
|
def_node_matcher :name_property?, <<-PATTERN
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
(sym :name_property)
|
57
|
-
(true)))?)
|
40
|
+
(send nil? {:attribute :property}
|
41
|
+
(sym :name)
|
42
|
+
(const nil? :String)?
|
43
|
+
(hash $...)?
|
44
|
+
)
|
58
45
|
PATTERN
|
59
46
|
|
60
47
|
def on_send(node)
|
61
|
-
name_property?(node) do
|
62
|
-
|
63
|
-
|
48
|
+
name_property?(node) do |hash_vals|
|
49
|
+
# It's perfectly valid to redefine the name property if you give it non-default values
|
50
|
+
# We do this in a few of our core resources where we give it a default value of "" for nameless resources
|
51
|
+
# If there are hash vals in this attribute/property compare them with the default keys and if there's anything
|
52
|
+
# else return so we don't alert
|
53
|
+
unless hash_vals.empty?
|
54
|
+
hash_keys = hash_vals.first.map { |x| x.key.value }
|
55
|
+
return unless (hash_keys - [:kind_of, :name_attribute, :name_property]).empty?
|
64
56
|
end
|
65
|
-
end
|
66
57
|
|
67
|
-
name_attribute?(node) do
|
68
58
|
add_offense(node, message: MSG, severity: :refactor) do |corrector|
|
69
59
|
corrector.remove(node.source_range)
|
70
60
|
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.5.1
|
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: 2020-12-
|
12
|
+
date: 2020-12-30 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.7.0
|
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.7.0
|
28
28
|
description:
|
29
29
|
email:
|
30
30
|
- thom@chef.io
|