class RuboCop::Cop::Style::VariableInterpolation
This cop checks for variable interpolation (like “#@ivar”).
def autocorrect(node)
def autocorrect(node) @corrections << lambda do |corrector| expr = node.loc.expression corrector.replace(expr, "{#{expr.source}}") end end
def check_for_interpolation(node)
def check_for_interpolation(node) var_nodes(node.children).each do |v| var = v.loc.expression.source add_offense(v, :expression, format(MSG, var, var)) end end
def on_dstr(node)
def on_dstr(node) check_for_interpolation(node) end
def on_regexp(node)
def on_regexp(node) check_for_interpolation(node) end
def on_xstr(node)
def on_xstr(node) check_for_interpolation(node) end
def var_nodes(nodes)
def var_nodes(nodes) nodes.select { |n| [:ivar, :cvar, :gvar, :nth_ref].include?(n.type) } end