class RuboCop::Cop::Style::StringLiteralsInInterpolation

This cop checks that quotes inside the string interpolation match the configured preference.

@example

# EnforcedStyle: single_quotes

# 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"}"

Private Instance Methods

message(*) click to toggle source
# File lib/rubocop/cop/style/string_literals_in_interpolation.rb, line 34
def message(*)
  # single_quotes -> single-quoted
  kind = style.to_s.sub(/_(.*)s/, '-\1d')

  "Prefer #{kind} strings inside interpolations."
end
offense?(node) click to toggle source
# File lib/rubocop/cop/style/string_literals_in_interpolation.rb, line 41
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