class RuboCop::Cop::Lint::StringConversionInInterpolation
This cop checks for string conversion in string interpolation, which is redundant.
@example
"result is #{something.to_s}"
Constants
- MSG_DEFAULT
- MSG_SELF
Public Instance Methods
on_dstr(node)
click to toggle source
# File lib/rubocop/cop/lint/string_conversion_in_interpolation.rb, line 17 def on_dstr(node) node.children.select { |n| n.type == :begin }.each do |begin_node| final_node = begin_node.children.last next unless final_node && final_node.type == :send receiver, method_name, *args = *final_node next unless method_name == :to_s && args.empty? add_offense( final_node, :selector, receiver ? MSG_DEFAULT : MSG_SELF ) end end
Private Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/lint/string_conversion_in_interpolation.rb, line 35 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