Class: RuboCop::Cop::Chef::ChefEffortless::SearchForEnvironmentsOrRoles

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

Overview

Policyfiles (and Effortless) do not use environments or roles so searching for those will need to be refactored before migrating to Policyfiles and the Effortless pattern.

Examples:


# bad
search(:node, 'chef_environment:foo')
search(:node, 'role:bar')

Constant Summary collapse

MSG =
'Cookbook uses search with a node query that looks for a role or environment'.freeze

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



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

def on_send(node)
  if node.method_name == :search && node.arguments[1]&.value&.match?(/chef_environment|role/)
    add_offense(node, location: :expression, message: MSG, severity: :refactor)
  end
end