Sha256: 0a48058ce92725a8f565fc78a5cf65eb6b8b817daa69d86b24679b7afd09d757
Contents?: true
Size: 998 Bytes
Versions: 6778
Compression:
Stored size: 998 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
6,778 entries across 6,772 versions & 24 rubygems