cookstyle 5.14.1 → 5.15.7
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/cookstyle.yml +191 -120
- data/cookstyle.gemspec +8 -1
- data/lib/cookstyle.rb +1 -0
- data/lib/cookstyle/version.rb +1 -1
- data/lib/rubocop/chef/cookbook_helpers.rb +16 -0
- data/lib/rubocop/chef/platform_helpers.rb +70 -0
- data/lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb +53 -0
- data/lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb +54 -0
- data/lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb +5 -30
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb +67 -0
- data/lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb +66 -0
- data/lib/rubocop/cop/chef/correctness/scoped_file_exist.rb +53 -0
- data/lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb +76 -0
- data/lib/rubocop/cop/chef/modernize/berksfile_source.rb +9 -0
- data/lib/rubocop/cop/chef/modernize/default_action_initializer.rb +7 -1
- data/lib/rubocop/cop/chef/{correctness → modernize}/ohai_default_recipe.rb +1 -1
- data/lib/rubocop/cop/chef/{correctness → modernize}/property_with_name_attribute.rb +2 -3
- data/lib/rubocop/cop/chef/modernize/respond_to_resource_name.rb +1 -3
- data/lib/rubocop/cop/chef/modernize/unnecessary_mixlib_shellout_require.rb +2 -2
- data/lib/rubocop/cop/chef/{deprecation → redundant}/attribute_metadata.rb +3 -3
- data/lib/rubocop/cop/chef/{deprecation → redundant}/conflicts_metadata.rb +3 -3
- data/lib/rubocop/cop/chef/{modernize/resource_with_allowed_actions.rb → redundant/custom_resource_with_allowed_actions.rb} +13 -29
- data/lib/rubocop/cop/chef/{deprecation → redundant}/long_description_metadata.rb +3 -3
- data/lib/rubocop/cop/chef/{correctness → redundant}/name_property_and_required.rb +1 -1
- data/lib/rubocop/cop/chef/{correctness → redundant}/property_with_default_and_required.rb +1 -1
- data/lib/rubocop/cop/chef/{deprecation → redundant}/provides_metadata.rb +3 -3
- data/lib/rubocop/cop/chef/{deprecation → redundant}/recipe_metadata.rb +3 -4
- data/lib/rubocop/cop/chef/{deprecation → redundant}/replaces_metadata.rb +3 -3
- data/lib/rubocop/cop/chef/{correctness → redundant}/resource_with_nothing_action.rb +1 -1
- data/lib/rubocop/cop/chef/{deprecation → redundant}/suggests_metadata.rb +3 -3
- data/lib/rubocop/cop/chef/{correctness → redundant}/unnecessary_name_property.rb +1 -1
- data/lib/rubocop/cop/chef/{correctness → sharing}/default_maintainer_metadata.rb +1 -1
- data/lib/rubocop/cop/chef/{correctness → sharing}/empty_metadata_field.rb +1 -1
- data/lib/rubocop/cop/chef/{correctness → sharing}/insecure_cookbook_url.rb +1 -1
- data/lib/rubocop/cop/chef/{correctness → sharing}/invalid_license_string.rb +1 -1
- metadata +34 -22
| @@ -28,6 +28,7 @@ module RuboCop | |
| 28 28 | 
             
                    #   source 'http://community.opscode.com/api/v3'
         | 
| 29 29 | 
             
                    #   source 'https://supermarket.getchef.com'
         | 
| 30 30 | 
             
                    #   source 'https://api.berkshelf.com'
         | 
| 31 | 
            +
                    #   site :opscode
         | 
| 31 32 | 
             
                    #
         | 
| 32 33 | 
             
                    #   # good
         | 
| 33 34 | 
             
                    #   source 'https://supermarket.chef.io'
         | 
| @@ -35,6 +36,10 @@ module RuboCop | |
| 35 36 | 
             
                    class LegacyBerksfileSource < Cop
         | 
| 36 37 | 
             
                      MSG = 'Do not use legacy Berksfile community sources. Use Chef Supermarket instead.'.freeze
         | 
| 37 38 |  | 
| 39 | 
            +
                      def_node_matcher :berksfile_site?, <<-PATTERN
         | 
| 40 | 
            +
                        (send nil? :site (:sym _))
         | 
| 41 | 
            +
                      PATTERN
         | 
| 42 | 
            +
             | 
| 38 43 | 
             
                      def_node_matcher :berksfile_source?, <<-PATTERN
         | 
| 39 44 | 
             
                        (send nil? :source (str #old_berkshelf_url?))
         | 
| 40 45 | 
             
                      PATTERN
         | 
| @@ -47,6 +52,10 @@ module RuboCop | |
| 47 52 | 
             
                        berksfile_source?(node) do
         | 
| 48 53 | 
             
                          add_offense(node, location: :expression, message: MSG, severity: :refactor)
         | 
| 49 54 | 
             
                        end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                        berksfile_site?(node) do
         | 
| 57 | 
            +
                          add_offense(node, location: :expression, message: MSG, severity: :refactor)
         | 
| 58 | 
            +
                        end
         | 
| 50 59 | 
             
                      end
         | 
| 51 60 |  | 
| 52 61 | 
             
                      def autocorrect(node)
         | 
| @@ -28,6 +28,12 @@ module RuboCop | |
| 28 28 | 
             
                    #     @action = :create
         | 
| 29 29 | 
             
                    #   end
         | 
| 30 30 | 
             
                    #
         | 
| 31 | 
            +
                    #   # bad
         | 
| 32 | 
            +
                    #   def initialize(*args)
         | 
| 33 | 
            +
                    #     super
         | 
| 34 | 
            +
                    #     @default_action = :create
         | 
| 35 | 
            +
                    #   end
         | 
| 36 | 
            +
                    #
         | 
| 31 37 | 
             
                    #  # good
         | 
| 32 38 | 
             
                    #  default_action :create
         | 
| 33 39 |  | 
| @@ -41,7 +47,7 @@ module RuboCop | |
| 41 47 | 
             
                        return if node.body.nil? # nil body is an empty initialize method
         | 
| 42 48 |  | 
| 43 49 | 
             
                        node.body.each_node do |x|
         | 
| 44 | 
            -
                          if x.assignment? && !x.node_parts.empty? && x.node_parts.first | 
| 50 | 
            +
                          if x.assignment? && !x.node_parts.empty? && %i(@action @default_action).include?(x.node_parts.first)
         | 
| 45 51 | 
             
                            add_offense(x, location: :expression, message: MSG, severity: :refactor)
         | 
| 46 52 | 
             
                          end
         | 
| 47 53 | 
             
                        end
         | 
| @@ -17,7 +17,7 @@ | |
| 17 17 | 
             
            module RuboCop
         | 
| 18 18 | 
             
              module Cop
         | 
| 19 19 | 
             
                module Chef
         | 
| 20 | 
            -
                  module  | 
| 20 | 
            +
                  module ChefModernize
         | 
| 21 21 | 
             
                    # The Ohai default recipe previously allowed a user to ship custom Ohai plugins to a system by including them
         | 
| 22 22 | 
             
                    # in a directory in the Ohai cookbook. This functionality was replaced with the ohai_plugin resource, which
         | 
| 23 23 | 
             
                    # should be used instead as it doesn't require forking the ohai cookbook.
         | 
| @@ -17,9 +17,8 @@ | |
| 17 17 | 
             
            module RuboCop
         | 
| 18 18 | 
             
              module Cop
         | 
| 19 19 | 
             
                module Chef
         | 
| 20 | 
            -
                  module  | 
| 21 | 
            -
                    # When using properties in a custom resource you should use name_property not
         | 
| 22 | 
            -
                    # the legacy name_attribute from the days of attributes
         | 
| 20 | 
            +
                  module ChefModernize
         | 
| 21 | 
            +
                    # When using properties in a custom resource you should use name_property not the legacy name_attribute from the days of attributes
         | 
| 23 22 | 
             
                    #
         | 
| 24 23 | 
             
                    # @example
         | 
| 25 24 | 
             
                    #
         | 
| @@ -18,9 +18,7 @@ module RuboCop | |
| 18 18 | 
             
              module Cop
         | 
| 19 19 | 
             
                module Chef
         | 
| 20 20 | 
             
                  module ChefModernize
         | 
| 21 | 
            -
                    # Chef 12.5 introduced the resource_name method for resources. Many cookbooks used
         | 
| 22 | 
            -
                    # respond_to?(:resource_name) to provide backwards compatibility with older chef-client
         | 
| 23 | 
            -
                    # releases. This backwards compatibility is no longer necessary.
         | 
| 21 | 
            +
                    # Chef Infra Client 12.5 introduced the resource_name method for resources. Many cookbooks used respond_to?(:resource_name) to provide backwards compatibility with older chef-client releases. This backwards compatibility is no longer necessary.
         | 
| 24 22 | 
             
                    #
         | 
| 25 23 | 
             
                    # @example
         | 
| 26 24 | 
             
                    #
         | 
| @@ -19,7 +19,7 @@ module RuboCop | |
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 21 | 
             
                  module ChefModernize
         | 
| 22 | 
            -
                    # Chef Infra Client includes mixlib/shellout automatically in resources and providers.
         | 
| 22 | 
            +
                    # Chef Infra Client 12.4+ includes mixlib/shellout automatically in resources and providers.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -27,7 +27,7 @@ module RuboCop | |
| 27 27 | 
             
                    #   require 'mixlib/shellout'
         | 
| 28 28 | 
             
                    #
         | 
| 29 29 | 
             
                    class UnnecessaryMixlibShelloutRequire < Cop
         | 
| 30 | 
            -
                      MSG = 'Chef Infra Client includes mixlib/shellout automatically in resources and providers.'.freeze
         | 
| 30 | 
            +
                      MSG = 'Chef Infra Client 12.4+ includes mixlib/shellout automatically in resources and providers.'.freeze
         | 
| 31 31 |  | 
| 32 32 | 
             
                      def_node_matcher :require_mixlibshellout?, <<-PATTERN
         | 
| 33 33 | 
             
                      (send nil? :require ( str "mixlib/shellout"))
         | 
| @@ -18,8 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    #  | 
| 21 | 
            +
                  module ChefRedundantCode
         | 
| 22 | 
            +
                    # The attribute metadata.rb method is not used and is unnecessary in cookbooks.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -33,7 +33,7 @@ module RuboCop | |
| 33 33 | 
             
                    #              default: '"127.0.0.1:2181"'
         | 
| 34 34 | 
             
                    #
         | 
| 35 35 | 
             
                    class AttributeMetadata < Cop
         | 
| 36 | 
            -
                      MSG =  | 
| 36 | 
            +
                      MSG = 'The attribute metadata.rb method is not used and is unnecessary in cookbooks.'.freeze
         | 
| 37 37 |  | 
| 38 38 | 
             
                      def on_send(node)
         | 
| 39 39 | 
             
                        add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :attribute
         | 
| @@ -18,8 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    #  | 
| 21 | 
            +
                  module ChefRedundantCode
         | 
| 22 | 
            +
                    # The conflicts metadata.rb method is not used and is unnecessary in cookbooks.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -28,7 +28,7 @@ module RuboCop | |
| 28 28 | 
             
                    #   conflicts "another_cookbook"
         | 
| 29 29 | 
             
                    #
         | 
| 30 30 | 
             
                    class ConflictsMetadata < Cop
         | 
| 31 | 
            -
                      MSG =  | 
| 31 | 
            +
                      MSG = 'The conflicts metadata.rb method is not used and is unnecessary in cookbooks.'.freeze
         | 
| 32 32 |  | 
| 33 33 | 
             
                      def on_send(node)
         | 
| 34 34 | 
             
                        add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :conflicts
         | 
| @@ -18,8 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    #  | 
| 21 | 
            +
                  module ChefRedundant
         | 
| 22 | 
            +
                    # It is not necessary to set `actions` or `allowed_actions` in custom resources as Chef Infra Client determines these automatically from the set of all actions defined in the resource.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -29,44 +29,28 @@ module RuboCop | |
| 29 29 | 
             
                    #   # also bad
         | 
| 30 30 | 
             
                    #   actions [:create, :remove]
         | 
| 31 31 | 
             
                    #
         | 
| 32 | 
            -
                    #   # don't do this either
         | 
| 33 | 
            -
                    #   def initialize(*args)
         | 
| 34 | 
            -
                    #     super
         | 
| 35 | 
            -
                    #     @allowed_actions = [:create, :remove]
         | 
| 36 | 
            -
                    #   end
         | 
| 37 | 
            -
                    #
         | 
| 38 32 | 
             
                    class CustomResourceWithAllowedActions < Cop
         | 
| 39 33 | 
             
                      include RangeHelp
         | 
| 40 34 |  | 
| 41 | 
            -
                      MSG = ' | 
| 35 | 
            +
                      MSG = 'It is not necessary to set `actions` or `allowed_actions` in custom resources as Chef Infra Client determines these automatically from the set of all actions defined in the resource'.freeze
         | 
| 42 36 |  | 
| 43 37 | 
             
                      def_node_matcher :allowed_actions?, <<-PATTERN
         | 
| 44 38 | 
             
                        (send nil? {:allowed_actions :actions} ... )
         | 
| 45 39 | 
             
                      PATTERN
         | 
| 46 40 |  | 
| 47 | 
            -
                       | 
| 48 | 
            -
                        allowed_actions?(node) do
         | 
| 49 | 
            -
                          add_offense(node, location: :expression, message: MSG, severity: :refactor)
         | 
| 50 | 
            -
                        end
         | 
| 51 | 
            -
                      end
         | 
| 52 | 
            -
             | 
| 53 | 
            -
                      def on_def(node)
         | 
| 54 | 
            -
                        return unless node.method_name == :initialize
         | 
| 55 | 
            -
                        return if node.body.nil? # empty initialize methods
         | 
| 41 | 
            +
                      def_node_search :poise_require, '(send nil? :require (str "poise"))'
         | 
| 56 42 |  | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
                          end
         | 
| 61 | 
            -
                        end
         | 
| 62 | 
            -
                      end
         | 
| 43 | 
            +
                      def_node_search :resource_actions?, <<-PATTERN
         | 
| 44 | 
            +
                        (block (send nil? :action ... ) ... )
         | 
| 45 | 
            +
                      PATTERN
         | 
| 63 46 |  | 
| 64 | 
            -
                      def  | 
| 65 | 
            -
                         | 
| 66 | 
            -
             | 
| 47 | 
            +
                      def on_send(node)
         | 
| 48 | 
            +
                        # if the resource requires poise then bail out since we're in a poise resource where @allowed_actions is legit
         | 
| 49 | 
            +
                        return if poise_require(processed_source.ast).any?
         | 
| 67 50 |  | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 51 | 
            +
                        allowed_actions?(node) do
         | 
| 52 | 
            +
                          add_offense(node, location: :expression, message: MSG, severity: :refactor) if resource_actions?(processed_source.ast)
         | 
| 53 | 
            +
                        end
         | 
| 70 54 | 
             
                      end
         | 
| 71 55 |  | 
| 72 56 | 
             
                      def autocorrect(node)
         | 
| @@ -18,8 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    # The long_description metadata.rb method is not used and is unnecessary in cookbooks
         | 
| 21 | 
            +
                  module ChefRedundantCode
         | 
| 22 | 
            +
                    # The long_description metadata.rb method is not used and is unnecessary in cookbooks.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -30,7 +30,7 @@ module RuboCop | |
| 30 30 | 
             
                    class LongDescriptionMetadata < Cop
         | 
| 31 31 | 
             
                      include RangeHelp
         | 
| 32 32 |  | 
| 33 | 
            -
                      MSG = 'The long_description metadata.rb method is not used and is unnecessary in cookbooks'.freeze
         | 
| 33 | 
            +
                      MSG = 'The long_description metadata.rb method is not used and is unnecessary in cookbooks.'.freeze
         | 
| 34 34 |  | 
| 35 35 | 
             
                      def on_send(node)
         | 
| 36 36 | 
             
                        add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :long_description
         | 
| @@ -17,7 +17,7 @@ | |
| 17 17 | 
             
            module RuboCop
         | 
| 18 18 | 
             
              module Cop
         | 
| 19 19 | 
             
                module Chef
         | 
| 20 | 
            -
                  module  | 
| 20 | 
            +
                  module ChefRedundantCode
         | 
| 21 21 | 
             
                    # When using properties in a custom resource you shouldn't set a property to
         | 
| 22 22 | 
             
                    # be both required and a name_property. Name properties are a way to optionally
         | 
| 23 23 | 
             
                    # override the name given to the resource block in cookbook code. In your resource
         | 
| @@ -17,7 +17,7 @@ | |
| 17 17 | 
             
            module RuboCop
         | 
| 18 18 | 
             
              module Cop
         | 
| 19 19 | 
             
                module Chef
         | 
| 20 | 
            -
                  module  | 
| 20 | 
            +
                  module ChefRedundantCode
         | 
| 21 21 | 
             
                    # When using properties in a custom resource you shouldn't set a property to
         | 
| 22 22 | 
             
                    # required and then provide a default value. If a property is required the
         | 
| 23 23 | 
             
                    # user will always pass in a value and the default will never be used. In Chef
         | 
| @@ -18,8 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    #  | 
| 21 | 
            +
                  module ChefRedundantCode
         | 
| 22 | 
            +
                    # The provides metadata.rb method is not used and is unnecessary in cookbooks.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -28,7 +28,7 @@ module RuboCop | |
| 28 28 | 
             
                    #   provides "some_thing"
         | 
| 29 29 | 
             
                    #
         | 
| 30 30 | 
             
                    class ProvidesMetadata < Cop
         | 
| 31 | 
            -
                      MSG =  | 
| 31 | 
            +
                      MSG = 'The provides metadata.rb method is not used and is unnecessary in cookbooks.'.freeze
         | 
| 32 32 |  | 
| 33 33 | 
             
                      def on_send(node)
         | 
| 34 34 | 
             
                        add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :provides
         | 
| @@ -18,9 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    # The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented
         | 
| 23 | 
            -
                    # in the README.md file instead.
         | 
| 21 | 
            +
                  module ChefRedundantCode
         | 
| 22 | 
            +
                    # The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead.
         | 
| 24 23 | 
             
                    #
         | 
| 25 24 | 
             
                    # @example
         | 
| 26 25 | 
             
                    #
         | 
| @@ -29,7 +28,7 @@ module RuboCop | |
| 29 28 | 
             
                    #
         | 
| 30 29 | 
             
                    #
         | 
| 31 30 | 
             
                    class RecipeMetadata < Cop
         | 
| 32 | 
            -
                      MSG =  | 
| 31 | 
            +
                      MSG = "The recipe metadata.rb method is not used and is unnecessary in cookbooks. Recipes should be documented in the cookbook's README.md file instead.".freeze
         | 
| 33 32 |  | 
| 34 33 | 
             
                      def on_send(node)
         | 
| 35 34 | 
             
                        add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :recipe
         | 
| @@ -18,8 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    #  | 
| 21 | 
            +
                  module ChefRedundantCode
         | 
| 22 | 
            +
                    # The replaces metadata.rb method is not used and is unnecessary in cookbooks. Replacements for existing cookbooks should be documented in the cookbook's README.md file instead.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -28,7 +28,7 @@ module RuboCop | |
| 28 28 | 
             
                    #   replaces "another_cookbook"
         | 
| 29 29 | 
             
                    #
         | 
| 30 30 | 
             
                    class ReplacesMetadata < Cop
         | 
| 31 | 
            -
                      MSG =  | 
| 31 | 
            +
                      MSG = 'The replaces metadata.rb method is not used and is unnecessary in cookbooks.'.freeze
         | 
| 32 32 |  | 
| 33 33 | 
             
                      def on_send(node)
         | 
| 34 34 | 
             
                        add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :replaces
         | 
| @@ -17,7 +17,7 @@ | |
| 17 17 | 
             
            module RuboCop
         | 
| 18 18 | 
             
              module Cop
         | 
| 19 19 | 
             
                module Chef
         | 
| 20 | 
            -
                  module  | 
| 20 | 
            +
                  module ChefRedundantCode
         | 
| 21 21 | 
             
                    # Chef Infra Client provides the :nothing action by default for every resource. There is no need to define a :nothing action in your resource code.
         | 
| 22 22 | 
             
                    #
         | 
| 23 23 | 
             
                    # @example
         | 
| @@ -18,8 +18,8 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 22 | 
            -
                    #  | 
| 21 | 
            +
                  module ChefRedundantCode
         | 
| 22 | 
            +
                    # The suggests metadata.rb method is not used and is unnecessary in cookbooks.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
| 25 25 | 
             
                    #
         | 
| @@ -28,7 +28,7 @@ module RuboCop | |
| 28 28 | 
             
                    #   suggests "another_cookbook"
         | 
| 29 29 | 
             
                    #
         | 
| 30 30 | 
             
                    class SuggestsMetadata < Cop
         | 
| 31 | 
            -
                      MSG =  | 
| 31 | 
            +
                      MSG = 'The suggests metadata.rb method is not used and is unnecessary in cookbooks.'.freeze
         | 
| 32 32 |  | 
| 33 33 | 
             
                      def on_send(node)
         | 
| 34 34 | 
             
                        add_offense(node, location: :expression, message: MSG, severity: :refactor) if node.method_name == :suggests
         | 
| @@ -18,7 +18,7 @@ | |
| 18 18 | 
             
            module RuboCop
         | 
| 19 19 | 
             
              module Cop
         | 
| 20 20 | 
             
                module Chef
         | 
| 21 | 
            -
                  module  | 
| 21 | 
            +
                  module ChefSharing
         | 
| 22 22 | 
             
                    # Metadata contains default maintainer information from the `chef generate cookbook` command. This should be updated to reflect that actual maintainer of the cookbook.
         | 
| 23 23 | 
             
                    #
         | 
| 24 24 | 
             
                    # @example
         | 
    
        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: 5. | 
| 4 | 
            +
              version: 5.15.7
         | 
| 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: 2019-12- | 
| 12 | 
            +
            date: 2019-12-11 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rubocop
         | 
| @@ -47,32 +47,27 @@ files: | |
| 47 47 | 
             
            - lib/rubocop/chef.rb
         | 
| 48 48 | 
             
            - lib/rubocop/chef/cookbook_helpers.rb
         | 
| 49 49 | 
             
            - lib/rubocop/chef/cookbook_only.rb
         | 
| 50 | 
            +
            - lib/rubocop/chef/platform_helpers.rb
         | 
| 50 51 | 
             
            - lib/rubocop/cop/chef/correctness/block_guard_clause_string_only.rb
         | 
| 51 52 | 
             
            - lib/rubocop/cop/chef/correctness/cb_depends_on_self.rb
         | 
| 52 | 
            -
            - lib/rubocop/cop/chef/correctness/default_maintainer_metadata.rb
         | 
| 53 | 
            -
            - lib/rubocop/cop/chef/correctness/empty_metadata_field.rb
         | 
| 54 53 | 
             
            - lib/rubocop/cop/chef/correctness/incorrect_library_injection.rb
         | 
| 55 | 
            -
            - lib/rubocop/cop/chef/correctness/ | 
| 56 | 
            -
            - lib/rubocop/cop/chef/correctness/ | 
| 54 | 
            +
            - lib/rubocop/cop/chef/correctness/invalid_platform_family_helper.rb
         | 
| 55 | 
            +
            - lib/rubocop/cop/chef/correctness/invalid_platform_helper.rb
         | 
| 57 56 | 
             
            - lib/rubocop/cop/chef/correctness/invalid_platform_metadata.rb
         | 
| 57 | 
            +
            - lib/rubocop/cop/chef/correctness/invalid_value_for_platform_family_helper.rb
         | 
| 58 | 
            +
            - lib/rubocop/cop/chef/correctness/invalid_value_for_platform_helper.rb
         | 
| 58 59 | 
             
            - lib/rubocop/cop/chef/correctness/invalid_version_metadata.rb
         | 
| 59 60 | 
             
            - lib/rubocop/cop/chef/correctness/metadata_missing_name.rb
         | 
| 60 | 
            -
            - lib/rubocop/cop/chef/correctness/name_property_and_required.rb
         | 
| 61 61 | 
             
            - lib/rubocop/cop/chef/correctness/node_normal.rb
         | 
| 62 62 | 
             
            - lib/rubocop/cop/chef/correctness/node_normal_unless.rb
         | 
| 63 63 | 
             
            - lib/rubocop/cop/chef/correctness/node_save.rb
         | 
| 64 64 | 
             
            - lib/rubocop/cop/chef/correctness/notifies_action_not_symbol.rb
         | 
| 65 | 
            -
            - lib/rubocop/cop/chef/correctness/ohai_default_recipe.rb
         | 
| 66 | 
            -
            - lib/rubocop/cop/chef/correctness/property_with_default_and_required.rb
         | 
| 67 | 
            -
            - lib/rubocop/cop/chef/correctness/property_with_name_attribute.rb
         | 
| 68 65 | 
             
            - lib/rubocop/cop/chef/correctness/resource_sets_internal_properties.rb
         | 
| 69 66 | 
             
            - lib/rubocop/cop/chef/correctness/resource_sets_name_property.rb
         | 
| 70 67 | 
             
            - lib/rubocop/cop/chef/correctness/resource_with_none_action.rb
         | 
| 71 | 
            -
            - lib/rubocop/cop/chef/correctness/ | 
| 68 | 
            +
            - lib/rubocop/cop/chef/correctness/scoped_file_exist.rb
         | 
| 72 69 | 
             
            - lib/rubocop/cop/chef/correctness/service_resource.rb
         | 
| 73 70 | 
             
            - lib/rubocop/cop/chef/correctness/tmp_path.rb
         | 
| 74 | 
            -
            - lib/rubocop/cop/chef/correctness/unnecessary_name_property.rb
         | 
| 75 | 
            -
            - lib/rubocop/cop/chef/deprecation/attribute_metadata.rb
         | 
| 76 71 | 
             
            - lib/rubocop/cop/chef/deprecation/chef_handler_supports.rb
         | 
| 77 72 | 
             
            - lib/rubocop/cop/chef/deprecation/chef_rest.rb
         | 
| 78 73 | 
             
            - lib/rubocop/cop/chef/deprecation/chef_rewind.rb
         | 
| @@ -80,7 +75,6 @@ files: | |
| 80 75 | 
             
            - lib/rubocop/cop/chef/deprecation/chefspec_coverage_report.rb
         | 
| 81 76 | 
             
            - lib/rubocop/cop/chef/deprecation/chefspec_legacy_runner.rb
         | 
| 82 77 | 
             
            - lib/rubocop/cop/chef/deprecation/chocolatey_package_uninstall_action.rb
         | 
| 83 | 
            -
            - lib/rubocop/cop/chef/deprecation/conflicts_metadata.rb
         | 
| 84 78 | 
             
            - lib/rubocop/cop/chef/deprecation/depends_compat_resource.rb
         | 
| 85 79 | 
             
            - lib/rubocop/cop/chef/deprecation/depends_partial_search.rb
         | 
| 86 80 | 
             
            - lib/rubocop/cop/chef/deprecation/depends_poise.rb
         | 
| @@ -95,7 +89,6 @@ files: | |
| 95 89 | 
             
            - lib/rubocop/cop/chef/deprecation/legacy_notify_syntax.rb
         | 
| 96 90 | 
             
            - lib/rubocop/cop/chef/deprecation/legacy_yum_cookbook_recipes.rb
         | 
| 97 91 | 
             
            - lib/rubocop/cop/chef/deprecation/locale_lc_all_property.rb
         | 
| 98 | 
            -
            - lib/rubocop/cop/chef/deprecation/long_description_metadata.rb
         | 
| 99 92 | 
             
            - lib/rubocop/cop/chef/deprecation/name_property_and_default.rb
         | 
| 100 93 | 
             
            - lib/rubocop/cop/chef/deprecation/node_deep_fetch.rb
         | 
| 101 94 | 
             
            - lib/rubocop/cop/chef/deprecation/node_methods_not_attributes.rb
         | 
| @@ -105,9 +98,6 @@ files: | |
| 105 98 | 
             
            - lib/rubocop/cop/chef/deprecation/partial_search_class_usage.rb
         | 
| 106 99 | 
             
            - lib/rubocop/cop/chef/deprecation/partial_search_helper_usage.rb
         | 
| 107 100 | 
             
            - lib/rubocop/cop/chef/deprecation/poise_archive.rb
         | 
| 108 | 
            -
            - lib/rubocop/cop/chef/deprecation/provides_metadata.rb
         | 
| 109 | 
            -
            - lib/rubocop/cop/chef/deprecation/recipe_metadata.rb
         | 
| 110 | 
            -
            - lib/rubocop/cop/chef/deprecation/replaces_metadata.rb
         | 
| 111 101 | 
             
            - lib/rubocop/cop/chef/deprecation/require_recipe.rb
         | 
| 112 102 | 
             
            - lib/rubocop/cop/chef/deprecation/resource_overrides_provides_method.rb
         | 
| 113 103 | 
             
            - lib/rubocop/cop/chef/deprecation/resource_uses_dsl_name_method.rb
         | 
| @@ -115,7 +105,6 @@ files: | |
| 115 105 | 
             
            - lib/rubocop/cop/chef/deprecation/resource_uses_updated_method.rb
         | 
| 116 106 | 
             
            - lib/rubocop/cop/chef/deprecation/run_command_helper.rb
         | 
| 117 107 | 
             
            - lib/rubocop/cop/chef/deprecation/search_uses_positional_parameters.rb
         | 
| 118 | 
            -
            - lib/rubocop/cop/chef/deprecation/suggests_metadata.rb
         | 
| 119 108 | 
             
            - lib/rubocop/cop/chef/deprecation/use_inline_resources.rb
         | 
| 120 109 | 
             
            - lib/rubocop/cop/chef/deprecation/user_supports_property.rb
         | 
| 121 110 | 
             
            - lib/rubocop/cop/chef/deprecation/verify_property_file_expansion.rb
         | 
| @@ -129,6 +118,7 @@ files: | |
| 129 118 | 
             
            - lib/rubocop/cop/chef/effortless/node_roles.rb
         | 
| 130 119 | 
             
            - lib/rubocop/cop/chef/effortless/search_for_environments_or_roles.rb
         | 
| 131 120 | 
             
            - lib/rubocop/cop/chef/effortless/search_used.rb
         | 
| 121 | 
            +
            - lib/rubocop/cop/chef/modernize/allowed_actions_initializer.rb
         | 
| 132 122 | 
             
            - lib/rubocop/cop/chef/modernize/apt_default_recipe.rb
         | 
| 133 123 | 
             
            - lib/rubocop/cop/chef/modernize/berksfile_source.rb
         | 
| 134 124 | 
             
            - lib/rubocop/cop/chef/modernize/build_essential.rb
         | 
| @@ -147,6 +137,7 @@ files: | |
| 147 137 | 
             
            - lib/rubocop/cop/chef/modernize/libarchive_file.rb
         | 
| 148 138 | 
             
            - lib/rubocop/cop/chef/modernize/macos_user_defaults.rb
         | 
| 149 139 | 
             
            - lib/rubocop/cop/chef/modernize/minitest_handler_usage.rb
         | 
| 140 | 
            +
            - lib/rubocop/cop/chef/modernize/ohai_default_recipe.rb
         | 
| 150 141 | 
             
            - lib/rubocop/cop/chef/modernize/openssl_rsa_key_resource.rb
         | 
| 151 142 | 
             
            - lib/rubocop/cop/chef/modernize/openssl_x509_resource.rb
         | 
| 152 143 | 
             
            - lib/rubocop/cop/chef/modernize/osx_config_profile_resource.rb
         | 
| @@ -154,9 +145,9 @@ files: | |
| 154 145 | 
             
            - lib/rubocop/cop/chef/modernize/powershell_guard_interpreter.rb
         | 
| 155 146 | 
             
            - lib/rubocop/cop/chef/modernize/powershell_install_package.rb
         | 
| 156 147 | 
             
            - lib/rubocop/cop/chef/modernize/powershell_install_windowsfeature.rb
         | 
| 148 | 
            +
            - lib/rubocop/cop/chef/modernize/property_with_name_attribute.rb
         | 
| 157 149 | 
             
            - lib/rubocop/cop/chef/modernize/resource_name_initializer.rb
         | 
| 158 150 | 
             
            - lib/rubocop/cop/chef/modernize/resource_set_or_return.rb
         | 
| 159 | 
            -
            - lib/rubocop/cop/chef/modernize/resource_with_allowed_actions.rb
         | 
| 160 151 | 
             
            - lib/rubocop/cop/chef/modernize/resource_with_attributes.rb
         | 
| 161 152 | 
             
            - lib/rubocop/cop/chef/modernize/respond_to_metadata.rb
         | 
| 162 153 | 
             
            - lib/rubocop/cop/chef/modernize/respond_to_provides.rb
         | 
| @@ -171,6 +162,22 @@ files: | |
| 171 162 | 
             
            - lib/rubocop/cop/chef/modernize/windows_zipfile.rb
         | 
| 172 163 | 
             
            - lib/rubocop/cop/chef/modernize/zipfile_resource.rb
         | 
| 173 164 | 
             
            - lib/rubocop/cop/chef/modernize/zypper_repo.rb
         | 
| 165 | 
            +
            - lib/rubocop/cop/chef/redundant/attribute_metadata.rb
         | 
| 166 | 
            +
            - lib/rubocop/cop/chef/redundant/conflicts_metadata.rb
         | 
| 167 | 
            +
            - lib/rubocop/cop/chef/redundant/custom_resource_with_allowed_actions.rb
         | 
| 168 | 
            +
            - lib/rubocop/cop/chef/redundant/long_description_metadata.rb
         | 
| 169 | 
            +
            - lib/rubocop/cop/chef/redundant/name_property_and_required.rb
         | 
| 170 | 
            +
            - lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb
         | 
| 171 | 
            +
            - lib/rubocop/cop/chef/redundant/provides_metadata.rb
         | 
| 172 | 
            +
            - lib/rubocop/cop/chef/redundant/recipe_metadata.rb
         | 
| 173 | 
            +
            - lib/rubocop/cop/chef/redundant/replaces_metadata.rb
         | 
| 174 | 
            +
            - lib/rubocop/cop/chef/redundant/resource_with_nothing_action.rb
         | 
| 175 | 
            +
            - lib/rubocop/cop/chef/redundant/suggests_metadata.rb
         | 
| 176 | 
            +
            - lib/rubocop/cop/chef/redundant/unnecessary_name_property.rb
         | 
| 177 | 
            +
            - lib/rubocop/cop/chef/sharing/default_maintainer_metadata.rb
         | 
| 178 | 
            +
            - lib/rubocop/cop/chef/sharing/empty_metadata_field.rb
         | 
| 179 | 
            +
            - lib/rubocop/cop/chef/sharing/insecure_cookbook_url.rb
         | 
| 180 | 
            +
            - lib/rubocop/cop/chef/sharing/invalid_license_string.rb
         | 
| 174 181 | 
             
            - lib/rubocop/cop/chef/style/attribute_keys.rb
         | 
| 175 182 | 
             
            - lib/rubocop/cop/chef/style/comment_sentence_spacing.rb
         | 
| 176 183 | 
             
            - lib/rubocop/cop/chef/style/comments_copyright_format.rb
         | 
| @@ -181,10 +188,15 @@ files: | |
| 181 188 | 
             
            - lib/rubocop/cop/chef/style/use_platform_helpers.rb
         | 
| 182 189 | 
             
            - lib/rubocop/monkey_patches/comment_config.rb
         | 
| 183 190 | 
             
            - lib/rubocop/monkey_patches/json_formatter.rb
         | 
| 184 | 
            -
            homepage:  | 
| 191 | 
            +
            homepage: 
         | 
| 185 192 | 
             
            licenses:
         | 
| 186 193 | 
             
            - Apache-2.0
         | 
| 187 | 
            -
            metadata: | 
| 194 | 
            +
            metadata:
         | 
| 195 | 
            +
              homepage_uri: https://github.com/chef/cookstyle
         | 
| 196 | 
            +
              changelog_uri: https://github.com/chef/cookstyle/blob/master/CHANGELOG.md
         | 
| 197 | 
            +
              source_code_uri: https://github.com/chef/cookstyle
         | 
| 198 | 
            +
              documentation_uri: https://docs.chef.io/cookstyle.html
         | 
| 199 | 
            +
              bug_tracker_uri: https://github.com/chef/cookstyle/issues
         | 
| 188 200 | 
             
            post_install_message: 
         | 
| 189 201 | 
             
            rdoc_options: []
         | 
| 190 202 | 
             
            require_paths:
         |