cookstyle 7.13.0 → 7.14.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 +21 -0
- data/config/disable_all.yml +8 -0
- data/config/upstream.yml +36 -3
- data/lib/cookstyle.rb +1 -1
- data/lib/cookstyle/version.rb +2 -2
- data/lib/rubocop/cop/inspec/deprecation/attribute_default.rb +53 -0
- data/lib/rubocop/cop/inspec/deprecation/attribute_helper.rb +47 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fb8828f5ea858d36d8aece2ac5de3e469e04fcd86301ebb2fa86aeffd2ec9bc
|
4
|
+
data.tar.gz: 4b1101bab8a823c1a161478dbb1503e9c7cca0d340a33c07aecef0f6c15efdff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7308b900c24d494ec617f001a3b83ee3f9491fb38de29ee7491c67c3c58605ba21c43c81419567ddd5b150674221c243ceec1faa075ab3744c2e426097f09624
|
7
|
+
data.tar.gz: 3ba724acde273762b7073740e84f19b8d439d20f73ec73e237fd4cefc5dc7c65d84d7b4d62992d56aedca825e924f32063e6557811401f0e0740de6dc4b80e5f
|
data/config/cookstyle.yml
CHANGED
@@ -2080,6 +2080,27 @@ Chef/Effortless/Berksfile:
|
|
2080
2080
|
Include:
|
2081
2081
|
- '**/Berksfile'
|
2082
2082
|
|
2083
|
+
#### InSpec cops
|
2084
|
+
|
2085
|
+
InSpec/Deprecations:
|
2086
|
+
StyleGuideBaseURL: https://docs.chef.io/workstation/cookstyle/
|
2087
|
+
|
2088
|
+
InSpec/Deprecations/AttributeHelper:
|
2089
|
+
Description: InSpec attributes have been renamed to inputs. Use the `input` method not the deprecation `attribute` method to access these values.
|
2090
|
+
StyleGuide: 'inspec_deprecations_attributehelper'
|
2091
|
+
Enabled: true
|
2092
|
+
VersionAdded: '7.14.0'
|
2093
|
+
Include:
|
2094
|
+
- '**/controls/*.rb'
|
2095
|
+
|
2096
|
+
InSpec/Deprecations/AttributeDefault:
|
2097
|
+
Description: The InSpec inputs `default` option has been replaced with the `value` option.
|
2098
|
+
StyleGuide: 'inspec_deprecations_attributedefaults'
|
2099
|
+
Enabled: true
|
2100
|
+
VersionAdded: '7.14.0'
|
2101
|
+
Include:
|
2102
|
+
- '**/controls/*.rb'
|
2103
|
+
|
2083
2104
|
#### The base rubocop 0.37 enabled.yml file we started with ####
|
2084
2105
|
|
2085
2106
|
Layout/AccessModifierIndentation:
|
data/config/disable_all.yml
CHANGED
@@ -275,6 +275,8 @@ Lint/EmptyExpression:
|
|
275
275
|
Enabled: false
|
276
276
|
Lint/EmptyFile:
|
277
277
|
Enabled: false
|
278
|
+
Lint/EmptyInPattern:
|
279
|
+
Enabled: false
|
278
280
|
Lint/EmptyInterpolation:
|
279
281
|
Enabled: false
|
280
282
|
Lint/EmptyWhen:
|
@@ -667,6 +669,8 @@ Style/IfWithSemicolon:
|
|
667
669
|
Enabled: false
|
668
670
|
Style/ImplicitRuntimeError:
|
669
671
|
Enabled: false
|
672
|
+
Style/InPatternThen:
|
673
|
+
Enabled: false
|
670
674
|
Style/InfiniteLoop:
|
671
675
|
Enabled: false
|
672
676
|
Style/InverseMethods:
|
@@ -687,6 +691,8 @@ Style/MethodCallWithoutArgsParentheses:
|
|
687
691
|
Enabled: false
|
688
692
|
Style/MethodCallWithArgsParentheses:
|
689
693
|
Enabled: false
|
694
|
+
Style/MultilineInPatternThen:
|
695
|
+
Enabled: false
|
690
696
|
Style/RedundantAssignment:
|
691
697
|
Enabled: false
|
692
698
|
Style/RedundantFetchBlock:
|
@@ -787,6 +793,8 @@ Style/PreferredHashMethods:
|
|
787
793
|
Enabled: false
|
788
794
|
Style/Proc:
|
789
795
|
Enabled: false
|
796
|
+
Style/QuotedSymbols:
|
797
|
+
Enabled: false
|
790
798
|
Style/RaiseArgs:
|
791
799
|
Enabled: false
|
792
800
|
Style/RandomWithOffset:
|
data/config/upstream.yml
CHANGED
@@ -377,10 +377,11 @@ 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
|
@@ -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
|
@@ -1645,6 +1646,12 @@ Lint/EmptyFile:
|
|
1645
1646
|
AllowComments: true
|
1646
1647
|
VersionAdded: '0.90'
|
1647
1648
|
|
1649
|
+
Lint/EmptyInPattern:
|
1650
|
+
Description: 'Checks for the presence of `in` pattern branches without a body.'
|
1651
|
+
Enabled: pending
|
1652
|
+
AllowComments: true
|
1653
|
+
VersionAdded: '1.16'
|
1654
|
+
|
1648
1655
|
Lint/EmptyInterpolation:
|
1649
1656
|
Description: 'Checks for empty string interpolation.'
|
1650
1657
|
Enabled: true
|
@@ -2092,6 +2099,7 @@ Lint/SymbolConversion:
|
|
2092
2099
|
Description: 'Checks for unnecessary symbol conversions.'
|
2093
2100
|
Enabled: pending
|
2094
2101
|
VersionAdded: '1.9'
|
2102
|
+
VersionChanged: '1.16'
|
2095
2103
|
EnforcedStyle: strict
|
2096
2104
|
SupportedStyles:
|
2097
2105
|
- strict
|
@@ -3490,8 +3498,10 @@ Style/HashEachMethods:
|
|
3490
3498
|
Description: 'Use Hash#each_key and Hash#each_value.'
|
3491
3499
|
StyleGuide: '#hash-each'
|
3492
3500
|
Enabled: true
|
3493
|
-
VersionAdded: '0.80'
|
3494
3501
|
Safe: false
|
3502
|
+
VersionAdded: '0.80'
|
3503
|
+
VersionChanged: '1.16'
|
3504
|
+
AllowedReceivers: []
|
3495
3505
|
|
3496
3506
|
Style/HashExcept:
|
3497
3507
|
Description: >-
|
@@ -3554,6 +3564,7 @@ Style/IdenticalConditionalBranches:
|
|
3554
3564
|
out of the conditional.
|
3555
3565
|
Enabled: true
|
3556
3566
|
VersionAdded: '0.36'
|
3567
|
+
VersionChanged: '1.16'
|
3557
3568
|
|
3558
3569
|
Style/IfInsideElse:
|
3559
3570
|
Description: 'Finds if nodes inside else, which can be converted to elsif.'
|
@@ -3600,6 +3611,12 @@ Style/ImplicitRuntimeError:
|
|
3600
3611
|
Enabled: false
|
3601
3612
|
VersionAdded: '0.41'
|
3602
3613
|
|
3614
|
+
Style/InPatternThen:
|
3615
|
+
Description: 'Checks for `in;` uses in `case` expressions.'
|
3616
|
+
StyleGuide: '#no-in-pattern-semicolons'
|
3617
|
+
Enabled: pending
|
3618
|
+
VersionAdded: '1.16'
|
3619
|
+
|
3603
3620
|
Style/InfiniteLoop:
|
3604
3621
|
Description: >-
|
3605
3622
|
Use Kernel#loop for infinite loops.
|
@@ -3828,6 +3845,12 @@ Style/MultilineIfThen:
|
|
3828
3845
|
VersionAdded: '0.9'
|
3829
3846
|
VersionChanged: '0.26'
|
3830
3847
|
|
3848
|
+
Style/MultilineInPatternThen:
|
3849
|
+
Description: 'Do not use `then` for multi-line `in` statement.'
|
3850
|
+
StyleGuide: '#no-then'
|
3851
|
+
Enabled: pending
|
3852
|
+
VersionAdded: '1.16'
|
3853
|
+
|
3831
3854
|
Style/MultilineMemoization:
|
3832
3855
|
Description: 'Wrap multiline memoizations in a `begin` and `end` block.'
|
3833
3856
|
Enabled: true
|
@@ -4186,6 +4209,16 @@ Style/Proc:
|
|
4186
4209
|
VersionAdded: '0.9'
|
4187
4210
|
VersionChanged: '0.18'
|
4188
4211
|
|
4212
|
+
Style/QuotedSymbols:
|
4213
|
+
Description: 'Use a consistent style for quoted symbols.'
|
4214
|
+
Enabled: pending
|
4215
|
+
VersionAdded: '1.16'
|
4216
|
+
EnforcedStyle: same_as_string_literals
|
4217
|
+
SupportedStyles:
|
4218
|
+
- same_as_string_literals
|
4219
|
+
- single_quotes
|
4220
|
+
- double_quotes
|
4221
|
+
|
4189
4222
|
Style/RaiseArgs:
|
4190
4223
|
Description: 'Checks the arguments passed to raise/fail.'
|
4191
4224
|
StyleGuide: '#exception-class-messages'
|
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 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.14.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-06-23 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.17.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.17.0
|
28
28
|
description:
|
29
29
|
email:
|
30
30
|
- thom@chef.io
|
@@ -275,6 +275,8 @@ files:
|
|
275
275
|
- lib/rubocop/cop/chef/style/unnecessary_os_check.rb
|
276
276
|
- lib/rubocop/cop/chef/style/unnecessary_platform_case_statement.rb
|
277
277
|
- lib/rubocop/cop/chef/style/use_platform_helpers.rb
|
278
|
+
- lib/rubocop/cop/inspec/deprecation/attribute_default.rb
|
279
|
+
- lib/rubocop/cop/inspec/deprecation/attribute_helper.rb
|
278
280
|
- lib/rubocop/cop/target_chef_version.rb
|
279
281
|
- lib/rubocop/monkey_patches/base.rb
|
280
282
|
- lib/rubocop/monkey_patches/config.rb
|