Class: RuboCop::Cop::Chef::Modernize::ExecuteTzUtil
- Extended by:
 - TargetChefVersion
 
- Includes:
 - RuboCop::Chef::CookbookHelpers
 
- Defined in:
 - lib/rubocop/cop/chef/modernize/execute_tzutil.rb
 
Overview
Instead of using the execute or powershell_script resources to run the ‘tzutil` command, use Chef Infra Client’s built-in timezone resource which is available in Chef Infra Client 14.6 and later.
Constant Summary collapse
- MSG =
 'Use the timezone resource included in Chef Infra Client 14.6+ instead of shelling out to tzutil'- RESTRICT_ON_SEND =
 [:execute].freeze
Instance Method Summary collapse
Methods included from TargetChefVersion
minimum_target_chef_version, required_minimum_chef_version, support_target_chef_version?
Methods included from RuboCop::Chef::CookbookHelpers
#match_property_in_resource?, #match_resource_type?, #method_arg_ast_to_string, #resource_block_name_if_string
Methods inherited from Base
Instance Method Details
#on_block(node) ⇒ Object
      61 62 63 64 65 66 67 68 69 70 71  | 
    
      # File 'lib/rubocop/cop/chef/modernize/execute_tzutil.rb', line 61 def on_block(node) match_property_in_resource?(:execute, 'command', node) do |code_property| next unless calls_tzutil?(code_property) add_offense(node, severity: :refactor) end match_property_in_resource?(:powershell_script, 'code', node) do |code_property| next unless calls_tzutil?(code_property) add_offense(node, severity: :refactor) end end  | 
  
#on_send(node) ⇒ Object
      54 55 56 57 58 59  | 
    
      # File 'lib/rubocop/cop/chef/modernize/execute_tzutil.rb', line 54 def on_send(node) execute_resource?(node) do return unless node.arguments.first.value.match?(/^tzutil/i) add_offense(node, severity: :refactor) end end  |