Sha256: 2848e3ea202686c11e5bdaec056ee72135126961f45b9ad90501ea12f57d6987
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
# encoding: utf-8 module Rubocop module Cop module Style # This cop checks for regexp literals and reports offences based # on how many escaped slashes there are in the regexp and on the # value of the configuration parameter MaxSlashes. class RegexpLiteral < Cop def on_regexp(node) slashes = node.loc.expression.source[1...-1].scan(/\//).size max = RegexpLiteral.max_slashes msg = if node.loc.begin.is?('/') error_message('') if slashes > max else error_message('only ') if slashes <= max end add_offence(:convention, node.loc.expression, msg) if msg super end def self.max_slashes RegexpLiteral.config['MaxSlashes'] end private def error_message(word) sprintf('Use %%r %sfor regular expressions matching more ' + "than %d '/' character%s.", word, RegexpLiteral.max_slashes, RegexpLiteral.max_slashes == 1 ? '' : 's') end end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
rubocop-0.9.1 | lib/rubocop/cop/style/regexp_literal.rb |
sabat-rubocop-0.9.0 | lib/rubocop/cop/style/regexp_literal.rb |
rubocop-0.9.0 | lib/rubocop/cop/style/regexp_literal.rb |