Sha256: 411b6c648030c4937ef1cb67bfcdab9bd9ac691acd8a530a80ea665a40fdfd51
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 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 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-0.10.0 | lib/rubocop/cop/style/regexp_literal.rb |