class RuboCop::Cop::Style::CharacterLiteral

Checks for uses of the character literal ?x.

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/style/character_literal.rb, line 18
def autocorrect(node)
  lambda do |corrector|
    string = node.source[1..-1]

    # special character like \n
    # or ' which needs to use "" or be escaped.
    if string.length == 2 || string == "'"
      corrector.replace(node.source_range, %("#{string}"))
    elsif string.length == 1 # normal character
      corrector.replace(node.source_range, "'#{string}'")
    end
  end
end
correct_style_detected() click to toggle source

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

# File lib/rubocop/cop/style/character_literal.rb, line 38
def correct_style_detected; end
offense?(node) click to toggle source
# File lib/rubocop/cop/style/character_literal.rb, line 12
def offense?(node)
  # we don't register an offense for things like ?\C-\M-d
  node.loc.begin.is?('?') &&
    node.source.size.between?(2, 3)
end
opposite_style_detected() click to toggle source

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

# File lib/rubocop/cop/style/character_literal.rb, line 34
def opposite_style_detected; end