class RuboCop::Cop::Style::RedundantInterpolationUnfreeze
Before Ruby 3.0, interpolated strings followed the frozen string literal magic comment which sometimes made it necessary to explicitly unfreeze them. Ruby 3.0 changed interpolated strings to always be unfrozen which makes unfreezing them redundant.
@example
# bad +"#{foo} bar" # bad "#{foo} bar".dup # good "#{foo} bar"
Constants
- MSG
- RESTRICT_ON_SEND
Public Instance Methods
on_send(node)
click to toggle source
# File lib/rubocop/cop/style/redundant_interpolation_unfreeze.rb, line 32 def on_send(node) return if node.arguments? return unless (receiver = node.receiver) return unless receiver.dstr_type? return if uninterpolated_string?(receiver) || uninterpolated_heredoc?(receiver) add_offense(node.loc.selector) do |corrector| corrector.remove(node.loc.selector) corrector.remove(node.loc.dot) unless node.unary_operation? end end