class RuboCop::Cop::Lint::StringConversionInInterpolation
This cop checks for string conversion in string interpolation, which is redundant.
@example
# bad "result is #{something.to_s}"
@example
# good "result is #{something}"
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 24 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
Private Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/lint/string_conversion_in_interpolation.rb, line 41 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
message(node)
click to toggle source
# File lib/rubocop/cop/lint/string_conversion_in_interpolation.rb, line 37 def message(node) node.receiver ? MSG_DEFAULT : MSG_SELF end