Sha256: 1edc7829203d3b438f87526c1bcd8c2d4af70811a72c6e90e53f761b85203947
Contents?: true
Size: 1.28 KB
Versions: 3
Compression:
Stored size: 1.28 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module Style # Checks for uses of the character literal ?x. class CharacterLiteral < Cop include StringHelp MSG = 'Do not use the character literal - ' \ 'use string literal instead.'.freeze 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 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 # Dummy implementation of method in ConfigurableEnforcedStyle that is # called from StringHelp. def opposite_style_detected end # Dummy implementation of method in ConfigurableEnforcedStyle that is # called from StringHelp. def correct_style_detected end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rubocop-0.45.0 | lib/rubocop/cop/style/character_literal.rb |
rubocop-0.44.1 | lib/rubocop/cop/style/character_literal.rb |
rubocop-0.44.0 | lib/rubocop/cop/style/character_literal.rb |