class RuboCop::Cop::Lint::DeprecatedClassMethods
This cop checks for uses of the deprecated class method usages.
def autocorrect(node)
def autocorrect(node) @corrections << lambda do |corrector| receiver, method_name, *_args = *node DEPRECATED_METHODS.each do |data| next unless class_nodes(data).include?(receiver) next unless method_name == data[1] corrector.replace(node.loc.selector, data[2].to_s) end end end
def class_nodes(data)
def class_nodes(data) [s(:const, nil, data[0]), s(:const, s(:cbase), data[0])] end
def deprecated_method(data)
def deprecated_method(data) format('%s.%s', data[0], data[1]) end
def on_send(node)
def on_send(node) receiver, method_name, *_args = *node DEPRECATED_METHODS.each do |data| next unless class_nodes(data).include?(receiver) next unless method_name == data[1] add_offense(node, :selector, format(MSG, deprecated_method(data), replacement_method(data))) end end
def replacement_method(data)
def replacement_method(data) format('%s.%s', data[0], data[2]) end