Sha256: 7837159f8ade7f8b607c9379ebd91825bfc9405334afe6bb5cb4d0cd4d4a2537
Contents?: true
Size: 996 Bytes
Versions: 11
Compression:
Stored size: 996 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module Lint # This cop checks for interpolation in a single quoted string. # # @example # # # bad # # foo = 'something with #{interpolation} inside' # # @example # # # good # # foo = "something with #{interpolation} inside" class InterpolationCheck < Cop MSG = 'Interpolation in single quoted string detected. '\ 'Use double quoted strings if you need interpolation.'.freeze def on_str(node) return if heredoc?(node) parent = node.parent return if parent && (parent.dstr_type? || parent.regexp_type?) return unless node.source.scrub =~ /(?<!\\)#\{.*\}/ add_offense(node) end def heredoc?(node) node.loc.is_a?(Parser::Source::Map::Heredoc) || (node.parent && heredoc?(node.parent)) end end end end end
Version data entries
11 entries across 11 versions & 2 rubygems