class RuboCop::Cop::Style::StringLiteralsInInterpolation

result = “Tests #{success ? ”PASS“ : ”FAIL“}”
# good
result = “Tests #{success ? ‘PASS’ : ‘FAIL’}”
# bad
@example EnforcedStyle: double_quotes
result = “Tests #{success ? ‘PASS’ : ‘FAIL’}”
# good
result = “Tests #{success ? ”PASS“ : ”FAIL“}”
# bad
@example EnforcedStyle: single_quotes (default)
match the configured preference.
This cop checks that quotes inside the string interpolation

def autocorrect(corrector, node)

def autocorrect(corrector, node)
  StringLiteralCorrector.correct(corrector, node, style)
end

def message(_node)

def message(_node)
  # single_quotes -> single-quoted
  kind = style.to_s.sub(/_(.*)s/, '-\1d')
  "Prefer #{kind} strings inside interpolations."
end

def offense?(node)

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