class RuboCop::Cop::Chef::Modernize::ChefGemNokogiri

The nokogiri gem ships in Chef Infra Client 12+ and does not need to be installed before being used

@example

#### incorrect
chef_gem 'nokogiri'

Constants

MSG
RESTRICT_ON_SEND

Public Instance Methods

on_block(node) click to toggle source
# File lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb, line 41
def on_block(node)
  match_property_in_resource?(:chef_gem, 'package_name', node) do |pkg_name|
    return unless pkg_name.arguments&.first&.str_content == 'nokogiri'
    add_offense(node, severity: :refactor) do |corrector|
      node = node.parent if node.parent&.block_type? # make sure we get the whole block not just the method in the block
      corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
    end
  end
end
on_send(node) click to toggle source
# File lib/rubocop/cop/chef/modernize/chef_gem_nokogiri.rb, line 51
def on_send(node)
  nokogiri_install?(node) do
    add_offense(node, severity: :refactor) do |corrector|
      node = node.parent if node.parent&.block_type? # make sure we get the whole block not just the method in the block
      corrector.remove(range_with_surrounding_space(range: node.loc.expression, side: :left))
    end
  end
end