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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 811ea8aed6ff56a955606ba47fd8c30181ea3827c816879fd2e8e98443db92bc
4
- data.tar.gz: ab8a7d83c787649299f98c6e86722be5728d3aa2b510c50a2d5f72cd0718999b
3
+ metadata.gz: 2fb8828f5ea858d36d8aece2ac5de3e469e04fcd86301ebb2fa86aeffd2ec9bc
4
+ data.tar.gz: 4b1101bab8a823c1a161478dbb1503e9c7cca0d340a33c07aecef0f6c15efdff
5
5
  SHA512:
6
- metadata.gz: 3e1184b274aa2fb50748e5e693f3f30a9ec6bf23230187152c3934c03a42350fbbb44624772722a871801cc8b9dbb9f9a5e676fbf9dabcfe34cdc0582584a0d4
7
- data.tar.gz: '09c3f666ede2289ea7dfbe677e73c9df1f1763ae19c16d8b1c51ae33dddde2ead0eaee275d4dd45fee304769422549d171a0bfaede0262ef059dd6b4307c226e'
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:
@@ -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: '0.77'
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/chef/**/*.rb') do |file|
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module Cookstyle
3
- VERSION = "7.13.0" # rubocop: disable Style/StringLiterals
4
- RUBOCOP_VERSION = '1.15.0'
3
+ VERSION = "7.14.2" # rubocop: disable Style/StringLiterals
4
+ RUBOCOP_VERSION = '1.17.0'
5
5
  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.13.0
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-05-27 00:00:00.000000000 Z
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.15.0
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.15.0
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