class RuboCop::Cop::Lint::DeprecatedClassMethods

File.exist?(some_path)
# good
@example
File.exists?(some_path)
# bad
@example
This cop checks for uses of the deprecated class method usages.

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    check(node) do |data|
      corrector.replace(node.loc.selector,
                        data.replacement_method.to_s)
    end
  end
end

def check(node)

def check(node)
  DEPRECATED_METHODS_OBJECT.each do |data|
    next unless data.class_nodes.include?(node.receiver)
    next unless node.method?(data.deprecated_method)
    yield data
  end
end

def deprecated_method(data)

def deprecated_method(data)
  method_call(data.class_constant, data.deprecated_method)
end

def method_call(class_constant, method)

def method_call(class_constant, method)
  format('%<constant>s.%<method>s', constant: class_constant,
                                    method: method)
end

def on_send(node)

def on_send(node)
  check(node) do |data|
    message = format(MSG, current: deprecated_method(data),
                          prefer: replacement_method(data))
    add_offense(node, location: :selector, message: message)
  end
end

def replacement_method(data)

def replacement_method(data)
  method_call(data.class_constant, data.replacement_method)
end