cookstyle 7.13.0 → 7.14.2

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 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