Class: RuboCop::Cop::Chef::ChefEffortless::CookbookUsesRoles

Inherits:
RuboCop::Cop
  • Object
show all
Defined in:
lib/rubocop/cop/chef/effortless/node_roles.rb

Overview

Neither Policyfiles or Effortless Infra which is based on Policyfiles supports Chef Roles

Examples:


# bad
node.role?('webserver')
node.roles.include?('webserver')

Constant Summary collapse

MSG =
'Cookbook uses roles, which cannot be used in Policyfiles or Effortless Infra'.freeze

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



32
33
34
35
36
# File 'lib/rubocop/cop/chef/effortless/node_roles.rb', line 32

def on_send(node)
  if i(role? roles).include?(node.method_name) && node.receiver && node.receiver.send_type? && node.receiver.method_name == :node
    add_offense(node, location: :expression, message: MSG, severity: :refactor)
  end
end