class Rubocop::Cop::Style::VariableInterpolation
This cop checks for variable interpolation (like “#@ivar”).
def on_dstr(node)
def on_dstr(node) var_nodes(node.children).each do |v| var = (v.type == :nth_ref ? '$' : '') + v.to_a[0].to_s if node.loc.expression.source.include?("##{var}") add_offence(:convention, v.loc.expression, sprintf(MSG, var, var)) end end super end
def var_nodes(nodes)
def var_nodes(nodes) nodes.select { |n| [:ivar, :cvar, :gvar, :nth_ref].include?(n.type) } end