class RuboCop::Cop::Style::CharacterLiteral

Checks for uses of the character literal ?x.

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    string = node.loc.expression.source[1..-1]
    if string.length == 1 # normal character
      corrector.replace(node.loc.expression, "'#{string}'")
    elsif string.length == 2 # special character like \n
      corrector.replace(node.loc.expression, %("#{string}"))
    end
  end
end

def correct_style_detected

called from StringHelp.
Dummy implementation of method in ConfigurableEnforcedStyle that is
def correct_style_detected
end

def offense?(node)

def offense?(node)
  # we don't register an offense for things like ?\C-\M-d
  node.loc.begin.is?('?') &&
    node.loc.expression.source.size.between?(2, 3)
end

def opposite_style_detected

called from StringHelp.
Dummy implementation of method in ConfigurableEnforcedStyle that is
def opposite_style_detected
end