Sha256: cf99821b25c2621288aa5839830ee1438d530881ce1c67c3f1f78460c09448dc
Contents?: true
Size: 1.34 KB
Versions: 61
Compression:
Stored size: 1.34 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Style # Checks that quotes inside the string interpolation # match the configured preference. # # @example EnforcedStyle: single_quotes (default) # # bad # result = "Tests #{success ? "PASS" : "FAIL"}" # # # good # result = "Tests #{success ? 'PASS' : 'FAIL'}" # # @example EnforcedStyle: double_quotes # # bad # result = "Tests #{success ? 'PASS' : 'FAIL'}" # # # good # result = "Tests #{success ? "PASS" : "FAIL"}" class StringLiteralsInInterpolation < Base include ConfigurableEnforcedStyle include StringLiteralsHelp include StringHelp extend AutoCorrector def autocorrect(corrector, node) StringLiteralCorrector.correct(corrector, node, style) end private def message(_node) # single_quotes -> single-quoted kind = style.to_s.sub(/_(.*)s/, '-\1d') "Prefer #{kind} strings inside interpolations." end def offense?(node) # If it's not a string within an interpolation, then it's not an # offense for this cop. return false unless inside_interpolation?(node) wrong_quotes?(node) end end end end end
Version data entries
61 entries across 54 versions & 8 rubygems