Sha256: f2068e463d434566d227c4b2f3458c69603a23e9fc26ad0b233fc7aa0b429743
Contents?: true
Size: 996 Bytes
Versions: 10
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.' def on_str(node) return if heredoc?(node) parent = node.parent return if parent && (parent.dstr_type? || parent.regexp_type?) return unless /(?<!\\)#\{.*\}/.match?(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
10 entries across 10 versions & 3 rubygems