class RuboCop::Cop::Lint::StringConversionInInterpolation
“result is #{something}”
# good
@example
“result is #{something.to_s}”
# bad
@example
which is redundant.
This cop checks for string conversion in string interpolation,
def autocorrect(node)
def autocorrect(node) lambda do |corrector| receiver, _method_name, *_args = *node corrector.replace( node.source_range, if receiver receiver.source else 'self' end ) end end
def message(node)
def message(node) node.receiver ? MSG_DEFAULT : MSG_SELF end
def on_dstr(node)
def on_dstr(node) node.each_child_node(:begin) do |begin_node| final_node = begin_node.children.last next unless final_node && final_node.send_type? && final_node.method?(:to_s) && !final_node.arguments? add_offense(final_node, location: :selector) end end