Class: RuboCop::Cop::Chef::Deprecations::ChefSugarHelpers

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb

Overview

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/main/chef-utils#getting-started

Examples:


# bad
vagrant_key?
vagrant_domain?
vagrant_user?
require_chef_gem
best_ip_for(node)
nexus?
ios_xr?
ruby_20?
ruby_19?
includes_recipe?('foo::bar')
wrlinux?
dev_null
nexentacore_platform?
opensolaris_platform?
nexentacore?
opensolaris?

# good
# the equivalents now shipping in Chef Infra Client and in Ruby itself
vagrant?
node.recipe?('foo::bar')
shell_out!('/opt/app/bin/app --version', out: File::NULL)

Constant Summary collapse

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/main/chef-utils#getting-started'
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

Instance Method Summary collapse

Methods inherited from Base

#target_chef_version

Instance Method Details

#on_send(node) ⇒ Object



54
55
56
# File 'lib/rubocop/cop/chef/deprecation/chef_sugar_helpers.rb', line 54

def on_send(node)
  add_offense(node, severity: :refactor)
end