cookstyle 7.2.1 → 7.3.10

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: 8088b6d9be87be39e75eb71adcaf0ce5d1470f2fc560313d33a023b46de609f4
4
- data.tar.gz: d62c2c523a653133a5926ada9ec9bfcee1fc17bb9f37bc1095e140f4bf106c38
3
+ metadata.gz: 7e45a26b3da9f964cf0e791fb11bf6c524a627403f266c5ab809c17bef6a6999
4
+ data.tar.gz: d2adff5897b1b0fc4700252fa51026eff90826d353ce390e70480776caf7993e
5
5
  SHA512:
6
- metadata.gz: 2dfdc60f0577fd7d2e9445e321f8412a0b8711a9f6b4e0ac8611d98519f809df02d2d4c1614e56dc613eb271230a754b5fef5eb4d61a8265090183d803dcda68
7
- data.tar.gz: 628882e2d671e86016e303782139fbf7b3cc8f1715e73f1228fcb6d5eb15dcb19319e3f556533d7a048d2bb613bdcc2cc55d01aa52e45ef70c32548e53bbbfad
6
+ metadata.gz: 042130c9ee03c716518ab26e4a1f53b9748eba6c1f268c86f74795ca2a1fd06320a0cc16bc248fc8179a3501970576af7777b679d886c71ed3caf09e19d6d2e3
7
+ data.tar.gz: 96ac7744718b752f666b55cea268d0b9bfd2c7dd17d19305078a5daed83c358c8c07504964a381d3cb5dac7bb05ec2298e15126196143931ab948f67d9d2439f
data/Gemfile CHANGED
@@ -28,7 +28,4 @@ end
28
28
  group :development do
29
29
  gem 'rake'
30
30
  gem 'rspec', '>= 3.4'
31
- end
32
-
33
- # pin until we drop ruby 2.4 and then remove this entirely
34
- gem 'parallel', '< 1.20'
31
+ end
@@ -1,4 +1,5 @@
1
1
  AllCops:
2
+ SuggestExtensions: false
2
3
  TargetRubyVersion: 2.4
3
4
  TargetChefVersion: ~
4
5
  Exclude:
@@ -819,7 +820,8 @@ Chef/Deprecations/UsesRunCommandHelper:
819
820
  VersionAdded: '5.9.0'
820
821
  Exclude:
821
822
  - '**/metadata.rb'
822
- - 'Rakefile'
823
+ - '**/Berksfile'
824
+ - '**/Rakefile'
823
825
 
824
826
  Chef/Deprecations/ChefHandlerUsesSupports:
825
827
  Description: Use the type property instead of the deprecated supports property in the chef_handler resource. The supports property was removed in chef_handler cookbook version 3.0 (June 2017) and Chef Infra Client 14.0.
@@ -836,6 +838,8 @@ Chef/Deprecations/DeprecatedYumRepositoryProperties:
836
838
  VersionAdded: '5.10.0'
837
839
  Exclude:
838
840
  - '**/metadata.rb'
841
+ - '**/attributes/*.rb'
842
+ - '**/Berksfile'
839
843
 
840
844
  Chef/Deprecations/EOLAuditModeUsage:
841
845
  Description: The beta Audit Mode feature in Chef Infra Client was removed in Chef Infra Client 15.0. Users should instead use InSpec and the audit cookbook. See https://www.inspec.io/ for more informmation.
@@ -844,6 +848,8 @@ Chef/Deprecations/EOLAuditModeUsage:
844
848
  VersionAdded: '5.10.0'
845
849
  Exclude:
846
850
  - '**/metadata.rb'
851
+ - '**/attributes/*.rb'
852
+ - '**/Berksfile'
847
853
 
848
854
  Chef/Deprecations/ResourceInheritsFromCompatResource:
849
855
  Description: HWRP style resource should inherit from the 'Chef::Resource' class and not the 'ChefCompat::Resource' class from the deprecated compat_resource cookbook.
@@ -860,12 +866,18 @@ Chef/Deprecations/VerifyPropertyUsesFileExpansion:
860
866
  VersionAdded: '5.10.0'
861
867
  Exclude:
862
868
  - '**/metadata.rb'
869
+ - '**/attributes/*.rb'
870
+ - '**/Berksfile'
863
871
 
864
872
  Chef/Deprecations/PoiseArchiveUsage:
865
873
  Description: The poise_archive resource in the deprecated poise-archive should be replaced with the archive_file resource found in Chef Infra Client 15+.
866
874
  StyleGuide: '#chefdeprecationspoisearchiveusage'
867
875
  Enabled: true
868
876
  VersionAdded: '5.11.0'
877
+ Exclude:
878
+ - '**/metadata.rb'
879
+ - '**/attributes/*.rb'
880
+ - '**/Berksfile'
869
881
 
870
882
  Chef/Deprecations/PartialSearchHelperUsage:
871
883
  Description: Legacy partial_search usage should be updated to use :filter_result in the search helper instead.
@@ -906,6 +918,8 @@ Chef/Deprecations/LegacyNotifySyntax:
906
918
  VersionAdded: '5.13.0'
907
919
  Exclude:
908
920
  - '**/metadata.rb'
921
+ - '**/attributes/*.rb'
922
+ - '**/Berksfile'
909
923
 
910
924
  Chef/Deprecations/NodeSetWithoutLevel:
911
925
  Description: When setting a node attribute in Chef Infra Client 11 and later you must specify the precedence level.
@@ -1154,6 +1168,27 @@ Chef/Deprecations/FoodcriticTesting:
1154
1168
  - '**/Rakefile'
1155
1169
  - '**/Gemfile'
1156
1170
 
1171
+ Chef/Deprecations/DeprecatedYumRepositoryActions:
1172
+ Description: With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several actions in the yum_repository resource actions were renamed. The `add` action became `create` and `delete` became `remove` to better match other resources in Chef Infra Client.
1173
+ StyleGuide: '#chefdeprecationsdeprecatedyumrepositoryactions'
1174
+ Enabled: true
1175
+ VersionAdded: '7.3.0'
1176
+ Exclude:
1177
+ - '**/metadata.rb'
1178
+ - '**/attributes/*.rb'
1179
+ - '**/Berksfile'
1180
+ - '**/Rakefile'
1181
+
1182
+ Chef/Deprecations/ChefSugarHelpers:
1183
+ Description: Do not use legacy chef-sugar helper methods, which will not be moved into Chef Infra Client itself. For a complete set of chef-sugar helpers now shipping in Chef Infra Client itself see https://github.com/chef/chef/tree/master/chef-utils#getting-started
1184
+ StyleGuide: '#chefdeprecationschefsugarhelpers'
1185
+ Enabled: true
1186
+ VersionAdded: '7.3.0'
1187
+ Exclude:
1188
+ - '**/metadata.rb'
1189
+ - '**/Berksfile'
1190
+ - '**/Rakefile'
1191
+
1157
1192
  ###############################
1158
1193
  # Chef/Modernize: Cleaning up legacy code and using new built-in resources
1159
1194
  ###############################
@@ -1211,6 +1246,7 @@ Chef/Modernize/RespondToProvides:
1211
1246
  VersionAdded: '5.2.0'
1212
1247
  Include:
1213
1248
  - '**/providers/*.rb'
1249
+ - '**/resources/*.rb'
1214
1250
  - '**/libraries/*.rb'
1215
1251
 
1216
1252
  Chef/Modernize/SetOrReturnInResources:
@@ -1714,7 +1750,6 @@ Chef/Modernize/ActionMethodInResource:
1714
1750
  Include:
1715
1751
  - '**/resources/*.rb'
1716
1752
  - '**/providers/*.rb'
1717
- - '**/libraries/*.rb'
1718
1753
 
1719
1754
  ###############################
1720
1755
  # Chef/RedundantCode: Cleanup unnecessary code in your cookbooks regardless of Chef Infra Client release
@@ -2096,6 +2131,7 @@ Style/EmptyElse:
2096
2131
  Enabled: true
2097
2132
  Layout/EmptyLineBetweenDefs:
2098
2133
  Enabled: true
2134
+ AllowAdjacentOneLineDefs: true
2099
2135
  Layout/EmptyLines:
2100
2136
  Enabled: true
2101
2137
  Layout/EmptyLinesAroundAccessModifier:
@@ -2439,10 +2475,9 @@ Metrics/BlockNesting:
2439
2475
  Metrics/ParameterLists:
2440
2476
  Enabled: false
2441
2477
 
2442
- # This updates how we send helpers into the Chef recipe/resource classes and makes WAY more sense
2443
- # Chef::Recipe.send(:include, ::Apt::Helpers) -> Chef::Recipe.include ::Apt::Helpers
2478
+ # The warning message from this is misleading and can lead to wrong but syntactically valid code.
2444
2479
  Lint/SendWithMixinArgument:
2445
- Enabled: true
2480
+ Enabled: false
2446
2481
 
2447
2482
  # this migrates old # rubocop: comments to use the latest namespaces, which prevents a ton of spam during cookstyle runs
2448
2483
  Migration/DepartmentName:
@@ -2767,4 +2802,4 @@ Lint/RedundantSafeNavigation:
2767
2802
 
2768
2803
  # Avoid using blocks to remove nils from a Hash/Array
2769
2804
  Style/CollectionCompact:
2770
- Enabled: true
2805
+ Enabled: true
@@ -393,6 +393,8 @@ Lint/TrailingCommaInAttributeDeclaration:
393
393
  Enabled: false
394
394
  Lint/UnderscorePrefixedVariableName:
395
395
  Enabled: false
396
+ Lint/UnexpectedBlockArity:
397
+ Enabled: false
396
398
  Lint/UnifiedInteger:
397
399
  Enabled: false
398
400
  Lint/UnmodifiedReduceAccumulator:
@@ -755,6 +757,8 @@ Style/RaiseArgs:
755
757
  Enabled: false
756
758
  Style/RandomWithOffset:
757
759
  Enabled: false
760
+ Style/RedundantArgument:
761
+ Enabled: false
758
762
  Style/RedundantBegin:
759
763
  Enabled: false
760
764
  Style/RedundantCapitalW:
@@ -139,6 +139,16 @@ AllCops:
139
139
  # from the lock file.) If the Ruby version is still unresolved, RuboCop will
140
140
  # use the oldest officially supported Ruby version (currently Ruby 2.4).
141
141
  TargetRubyVersion: ~
142
+ # Determines if a notification for extension libraries should be shown when
143
+ # rubocop is run. Keys are the name of the extension, and values are an array
144
+ # of gems in the Gemfile that the extension is suggested for, if not already
145
+ # included.
146
+ SuggestExtensions:
147
+ rubocop-rails: [rails]
148
+ rubocop-rspec: [rspec, rspec-rails]
149
+ rubocop-minitest: [minitest]
150
+ rubocop-sequel: [sequel]
151
+ rubocop-rake: [rake]
142
152
 
143
153
  #################### Bundler ###############################
144
154
 
@@ -459,10 +469,14 @@ Layout/EmptyLineAfterMultilineCondition:
459
469
  - https://github.com/airbnb/ruby#multiline-if-newline
460
470
 
461
471
  Layout/EmptyLineBetweenDefs:
462
- Description: 'Use empty lines between defs.'
472
+ Description: 'Use empty lines between class/module/method defs.'
463
473
  StyleGuide: '#empty-lines-between-methods'
464
474
  Enabled: true
465
475
  VersionAdded: '0.49'
476
+ VersionChanged: '1.4'
477
+ EmptyLineBetweenMethodDefs: true
478
+ EmptyLineBetweenClassDefs: true
479
+ EmptyLineBetweenModuleDefs: true
466
480
  # If `true`, this parameter means that single line method definitions don't
467
481
  # need an empty line between them.
468
482
  AllowAdjacentOneLineDefs: false
@@ -891,8 +905,8 @@ Layout/LineLength:
891
905
  StyleGuide: '#max-line-length'
892
906
  Enabled: true
893
907
  VersionAdded: '0.25'
894
- VersionChanged: '1.3'
895
- AutoCorrect: false
908
+ VersionChanged: '1.4'
909
+ AutoCorrect: true
896
910
  Max: 120
897
911
  # To make it possible to copy or click on URIs in the code, we allow lines
898
912
  # containing a URI to be longer than Max.
@@ -1684,6 +1698,7 @@ Lint/MissingSuper:
1684
1698
  without calls to `super`'.
1685
1699
  Enabled: true
1686
1700
  VersionAdded: '0.89'
1701
+ VersionChanged: '1.4'
1687
1702
 
1688
1703
  Lint/MixedRegexpCaptureTypes:
1689
1704
  Description: 'Do not mix named captures and numbered captures in a Regexp literal.'
@@ -1993,6 +2008,23 @@ Lint/UnderscorePrefixedVariableName:
1993
2008
  VersionAdded: '0.21'
1994
2009
  AllowKeywordBlockArguments: false
1995
2010
 
2011
+ Lint/UnexpectedBlockArity:
2012
+ Description: 'Looks for blocks that have fewer arguments that the calling method expects.'
2013
+ Enabled: pending
2014
+ Safe: false
2015
+ VersionAdded: '1.5'
2016
+ Methods:
2017
+ chunk_while: 2
2018
+ each_with_index: 2
2019
+ each_with_object: 2
2020
+ inject: 2
2021
+ max: 2
2022
+ min: 2
2023
+ minmax: 2
2024
+ reduce: 2
2025
+ slice_when: 2
2026
+ sort: 2
2027
+
1996
2028
  Lint/UnifiedInteger:
1997
2029
  Description: 'Use Integer instead of Fixnum or Bignum.'
1998
2030
  Enabled: true
@@ -2002,6 +2034,7 @@ Lint/UnmodifiedReduceAccumulator:
2002
2034
  Description: Checks for `reduce` or `inject` blocks that do not update the accumulator each iteration.
2003
2035
  Enabled: pending
2004
2036
  VersionAdded: '1.1'
2037
+ VersionChanged: '1.5'
2005
2038
 
2006
2039
  Lint/UnreachableCode:
2007
2040
  Description: 'Unreachable code.'
@@ -2105,21 +2138,23 @@ Metrics/AbcSize:
2105
2138
  - https://en.wikipedia.org/wiki/ABC_Software_Metric
2106
2139
  Enabled: true
2107
2140
  VersionAdded: '0.27'
2108
- VersionChanged: '0.81'
2141
+ VersionChanged: '1.5'
2109
2142
  # The ABC size is a calculated magnitude, so this number can be an Integer or
2110
2143
  # a Float.
2111
2144
  IgnoredMethods: []
2145
+ CountRepeatedAttributes: true
2112
2146
  Max: 17
2113
2147
 
2114
2148
  Metrics/BlockLength:
2115
2149
  Description: 'Avoid long blocks with many lines.'
2116
2150
  Enabled: true
2117
2151
  VersionAdded: '0.44'
2118
- VersionChanged: '0.87'
2152
+ VersionChanged: '1.5'
2119
2153
  CountComments: false # count full line comments?
2120
2154
  Max: 25
2121
2155
  CountAsOne: []
2122
- ExcludedMethods:
2156
+ ExcludedMethods: [] # deprecated, retained for backwards compatibility
2157
+ IgnoredMethods:
2123
2158
  # By default, exclude the `#refine` method, as it tends to have larger
2124
2159
  # associated blocks.
2125
2160
  - refine
@@ -2160,11 +2195,12 @@ Metrics/MethodLength:
2160
2195
  StyleGuide: '#short-methods'
2161
2196
  Enabled: true
2162
2197
  VersionAdded: '0.25'
2163
- VersionChanged: '0.87'
2198
+ VersionChanged: '1.5'
2164
2199
  CountComments: false # count full line comments?
2165
2200
  Max: 10
2166
2201
  CountAsOne: []
2167
- ExcludedMethods: []
2202
+ ExcludedMethods: [] # deprecated, retained for backwards compatibility
2203
+ IgnoredMethods: []
2168
2204
 
2169
2205
  Metrics/ModuleLength:
2170
2206
  Description: 'Avoid modules longer than 100 lines of code.'
@@ -2180,8 +2216,10 @@ Metrics/ParameterLists:
2180
2216
  StyleGuide: '#too-many-params'
2181
2217
  Enabled: true
2182
2218
  VersionAdded: '0.25'
2219
+ VersionChanged: '1.5'
2183
2220
  Max: 5
2184
2221
  CountKeywordArgs: true
2222
+ MaxOptionalParameters: 3
2185
2223
 
2186
2224
  Metrics/PerceivedComplexity:
2187
2225
  Description: >-
@@ -2451,7 +2489,7 @@ Naming/VariableNumber:
2451
2489
  StyleGuide: '#snake-case-symbols-methods-vars-with-numbers'
2452
2490
  Enabled: true
2453
2491
  VersionAdded: '0.50'
2454
- VersionChanged: '1.3'
2492
+ VersionChanged: '1.4'
2455
2493
  EnforcedStyle: normalcase
2456
2494
  SupportedStyles:
2457
2495
  - snake_case
@@ -2459,7 +2497,13 @@ Naming/VariableNumber:
2459
2497
  - non_integer
2460
2498
  CheckMethodNames: true
2461
2499
  CheckSymbols: true
2462
- AllowedIdentifiers: []
2500
+ AllowedIdentifiers:
2501
+ - capture3 # Open3.capture3
2502
+ - iso8601 # Time#iso8601
2503
+ - rfc1123_date # CGI.rfc1123_date
2504
+ - rfc822 # Time#rfc822
2505
+ - rfc2822 # Time#rfc2822
2506
+ - rfc3339 # DateTime.rfc3339
2463
2507
 
2464
2508
  #################### Security ##############################
2465
2509
 
@@ -3976,6 +4020,17 @@ Style/RandomWithOffset:
3976
4020
  Enabled: true
3977
4021
  VersionAdded: '0.52'
3978
4022
 
4023
+ Style/RedundantArgument:
4024
+ Description: 'Check for a redundant argument passed to certain methods.'
4025
+ Enabled: pending
4026
+ Safe: false
4027
+ VersionAdded: '1.4'
4028
+ Methods:
4029
+ # Array#join
4030
+ join: ''
4031
+ # String#split
4032
+ split: ' '
4033
+
3979
4034
  Style/RedundantAssignment:
3980
4035
  Description: 'Checks for redundant assignment before returning.'
3981
4036
  Enabled: true
@@ -4246,6 +4301,7 @@ Style/SoleNestedConditional:
4246
4301
  which can be merged into outer conditional node.
4247
4302
  Enabled: true
4248
4303
  VersionAdded: '0.89'
4304
+ VersionChanged: '1.5'
4249
4305
  AllowModifier: false
4250
4306
 
4251
4307
  Style/SpecialGlobalVars:
@@ -4378,7 +4434,7 @@ Style/SymbolProc:
4378
4434
  Enabled: true
4379
4435
  Safe: false
4380
4436
  VersionAdded: '0.26'
4381
- VersionChanged: '0.64'
4437
+ VersionChanged: '1.5'
4382
4438
  # A list of method names to be ignored by the check.
4383
4439
  # The names should be fairly unique, otherwise you'll end up ignoring lots of code.
4384
4440
  IgnoredMethods:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module Cookstyle
3
- VERSION = "7.2.1" # rubocop: disable Style/StringLiterals
4
- RUBOCOP_VERSION = '1.3.1'
3
+ VERSION = "7.3.10" # rubocop: disable Style/StringLiterals
4
+ RUBOCOP_VERSION = '1.5.0'
5
5
  end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2020, 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
+
19
+ module RuboCop
20
+ module Cop
21
+ module Chef
22
+ # Do not use legacy chef-sugar helper methods, which will not be moved into Chef Infra Client itself. For a complete set of chef-sugar helpers now shipping in Chef Infra Client itself see https://github.com/chef/chef/tree/master/chef-utils#getting-started
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # vagrant_key?
28
+ # vagrant_domain?
29
+ # vagrant_user?
30
+ # require_chef_gem
31
+ # best_ip_for(node)
32
+ # nexus?
33
+ # ios_xr?
34
+ # ruby_20?
35
+ # ruby_19?
36
+ # includes_recipe?('foo::bar')
37
+ # wrlinux?
38
+ # dev_null
39
+ # nexentacore_platform?
40
+ # opensolaris_platform?
41
+ # nexentacore?
42
+ # opensolaris?
43
+ #
44
+ module Deprecations
45
+ class ChefSugarHelpers < Base
46
+ MSG = 'Do not use legacy chef-sugar helper methods, which will not be moved into Chef Infra Client itself. For a complete set of chef-sugar helpers now shipping in Chef Infra Client itself see https://github.com/chef/chef/tree/master/chef-utils#getting-started'
47
+ RESTRICT_ON_SEND = [:vagrant_key?, :vagrant_domain?, :vagrant_user?, :require_chef_gem, :best_ip_for, :nexus?, :ios_xr?, :ruby_20?, :ruby_19?, :includes_recipe?, :wrlinux?, :dev_null, :nexentacore_platform?, :opensolaris_platform?, :nexentacore?, :opensolaris?].freeze
48
+
49
+ def on_send(node)
50
+ add_offense(node, message: MSG, severity: :refactor)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -55,7 +55,7 @@ module RuboCop
55
55
  '< 11' => true,
56
56
  },
57
57
  'mac_os_x' => {
58
- '< 10.12' => '10.15',
58
+ '< 10.14' => '10.15',
59
59
  },
60
60
  'suse' => {
61
61
  '~> 12.0, < 12.4' => '12',
@@ -67,8 +67,7 @@ module RuboCop
67
67
  '= 15.0' => '15',
68
68
  },
69
69
  'debian' => {
70
- '< 8' => true,
71
- '> 8.0, < 8.11' => '8',
70
+ '< 9' => true,
72
71
  '> 9.0, < 9.11' => '9',
73
72
  },
74
73
  'centos' => {
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright:: 2020, 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
+ # With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 the actions the yum_repository resource actions were renamed. The `add` action became `create` and `delete` became `remove` to better match other resources in Chef Infra Client.
23
+ #
24
+ # @example
25
+ #
26
+ # # bad
27
+ # yum_repository 'OurCo' do
28
+ # description 'OurCo yum repository'
29
+ # baseurl 'http://artifacts.ourco.org/foo/bar'
30
+ # gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
31
+ # action :add
32
+ # end
33
+ #
34
+ # # good
35
+ # yum_repository 'OurCo' do
36
+ # description 'OurCo yum repository'
37
+ # baseurl 'http://artifacts.ourco.org/foo/bar'
38
+ # gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
39
+ # action :create
40
+ # end
41
+ #
42
+ class DeprecatedYumRepositoryActions < Base
43
+ include RuboCop::Chef::CookbookHelpers
44
+ extend TargetChefVersion
45
+ extend AutoCorrector
46
+
47
+ minimum_target_chef_version '12.14'
48
+
49
+ MSG = 'With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several properties in the yum_repository resource the actions the yum_repository resource actions were renamed. The `add` action became `create` and `delete` became `remove` to better match other resources in Chef Infra Client.'
50
+
51
+ def on_block(node)
52
+ match_property_in_resource?(:yum_repository, 'action', node) do |prop_node|
53
+ next unless prop_node.arguments.first.sym_type?
54
+ next unless [s(:sym, :add), s(:sym, :delete)].include?(prop_node.arguments.first)
55
+
56
+ add_offense(prop_node, message: MSG, severity: :warning) do |corrector|
57
+ corrector.replace(prop_node, prop_node.source
58
+ .gsub('add', 'create')
59
+ .gsub('delete', 'remove'))
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -26,7 +26,7 @@ module RuboCop
26
26
  extend AutoCorrector
27
27
  MSG = 'Use a single space after sentences in comments'
28
28
 
29
- def investigate(processed_source)
29
+ def on_new_investigation
30
30
  return unless processed_source.ast
31
31
 
32
32
  processed_source.comments.each do |comment|
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.2.1
4
+ version: 7.3.10
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-11-16 00:00:00.000000000 Z
12
+ date: 2020-12-01 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.3.1
20
+ version: 1.5.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.3.1
27
+ version: 1.5.0
28
28
  description:
29
29
  email:
30
30
  - thom@chef.io
@@ -92,6 +92,7 @@ files:
92
92
  - lib/rubocop/cop/chef/deprecation/chef_rest.rb
93
93
  - lib/rubocop/cop/chef/deprecation/chef_rewind.rb
94
94
  - lib/rubocop/cop/chef/deprecation/chef_shellout.rb
95
+ - lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb
95
96
  - lib/rubocop/cop/chef/deprecation/chef_windows_platform_helper.rb
96
97
  - lib/rubocop/cop/chef/deprecation/chefdk_generators.rb
97
98
  - lib/rubocop/cop/chef/deprecation/cheffile.rb
@@ -106,6 +107,7 @@ files:
106
107
  - lib/rubocop/cop/chef/deprecation/deprecated_platform_methods.rb
107
108
  - lib/rubocop/cop/chef/deprecation/deprecated_shellout_methods.rb
108
109
  - lib/rubocop/cop/chef/deprecation/deprecated_windows_version_check.rb
110
+ - lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_actions.rb
109
111
  - lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb
110
112
  - lib/rubocop/cop/chef/deprecation/easy_install.rb
111
113
  - lib/rubocop/cop/chef/deprecation/eol_audit_mode.rb