Sha256: 7e91b21e02606ddfd36edda362255c483b432afd0052f4241c54be40a82fd519

Contents?: true

Size: 764 Bytes

Versions: 7

Compression:

Stored size: 764 Bytes

Contents

# encoding: utf-8

module RuboCop
  module Cop
    # Common functionality for cops checking single/double quotes.
    module StringLiteralsHelp
      include StringHelp

      def wrong_quotes?(node, style)
        src = node.loc.expression.source
        return false if src.start_with?('%') || src.start_with?('?')
        if style == :single_quotes
          src !~ /'/ && src !~ StringHelp::ESCAPED_CHAR_REGEXP
        else
          src !~ /" | \\/x
        end
      end

      def autocorrect(node)
        @corrections << lambda do |corrector|
          replacement = node.loc.begin.is?('"') ? "'" : '"'
          corrector.replace(node.loc.begin, replacement)
          corrector.replace(node.loc.end, replacement)
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rubocop-0.30.1 lib/rubocop/cop/mixin/string_literals_help.rb
rubocop-0.30.0 lib/rubocop/cop/mixin/string_literals_help.rb
rubocop-0.29.1 lib/rubocop/cop/mixin/string_literals_help.rb
rubocop-0.29.0 lib/rubocop/cop/mixin/string_literals_help.rb
rubocop-0.28.0 lib/rubocop/cop/mixin/string_literals_help.rb
rubocop-0.27.1 lib/rubocop/cop/mixin/string_literals_help.rb
rubocop-0.27.0 lib/rubocop/cop/mixin/string_literals_help.rb