Class: RuboCop::Cop::Chef::RedundantCode::PropertyWithRequiredAndDefault
- Inherits:
 - 
      Base
      
        
- Object
 - Base
 - RuboCop::Cop::Chef::RedundantCode::PropertyWithRequiredAndDefault
 
 
- Extended by:
 - AutoCorrector
 
- Includes:
 - RangeHelp
 
- Defined in:
 - lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb
 
Overview
When using properties in a custom resource you shouldn’t set a property to required and then provide a default value. If a property is required the user will always pass in a value and the default will never be used. In Chef Infra Client 13+ this became an error.
Constant Summary collapse
- MSG =
 'Resource properties should not be both required and have a default value. This will fail on Chef Infra Client 13+'- RESTRICT_ON_SEND =
 [:property, :attribute].freeze
Instance Method Summary collapse
Methods inherited from Base
Instance Method Details
#on_send(node) ⇒ Object
      49 50 51 52 53 54 55 56  | 
    
      # File 'lib/rubocop/cop/chef/redundant/property_with_default_and_required.rb', line 49 def on_send(node) required_and_default?(node) do |default| add_offense(node, severity: :refactor) do |corrector| range = range_with_surrounding_comma(range_with_surrounding_space(range: default.loc.expression, side: :left), :left) corrector.remove(range) end end end  |