Class: RuboCop::Cop::Chef::Effortless::CookbookUsesRoles

Inherits:
Base
  • 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 Infra Roles

Examples:


### incorrect
node.role?('web_server')
node.roles.include?('web_server')

Constant Summary collapse

MSG =
'Cookbook uses roles, which cannot be used in Policyfiles or Effortless Infra'
RESTRICT_ON_SEND =
[:role?, :roles].freeze

Instance Method Summary collapse

Methods inherited from Base

#target_chef_version

Instance Method Details

#on_send(node) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/rubocop/cop/chef/effortless/node_roles.rb', line 34

def on_send(node)
  if node.receiver &&
     node.receiver.send_type? &&
     node.receiver.method?(:node)
    add_offense(node, severity: :refactor)
  end
end