class RuboCop::Cop::Lint::DuplicateRequire
require_relative ‘foo’
require ‘foo’
# good
require ‘bar’
require ‘foo’
# good
require ‘foo’
require ‘bar’
require ‘foo’
# bad
@example
This cop checks for duplicate ‘require`s and `require_relative`s.
def on_new_investigation
def on_new_investigation # Holds the known required files for a given parent node (used as key) @required = Hash.new { |h, k| h[k] = Set.new }.compare_by_identity super end
def on_send(node)
def on_send(node) return unless require_call?(node) return if @required[node.parent].add?("#{node.method_name}#{node.first_argument}") add_offense(node, message: format(MSG, method: node.method_name)) end