Sha256: 70bd08b47e686144f99bee2617cc6931e5ee7e80d671143a94e7b04a56a13f22
Contents?: true
Size: 1.07 KB
Versions: 5
Compression:
Stored size: 1.07 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.count('/') msg = if node.loc.begin.is?('/') slashes -= 2 # subtract delimiters error_message('') if slashes > max_slashes else error_message('only ') if slashes <= max_slashes end convention(node, :expression, msg) if msg end def max_slashes cop_config['MaxSlashes'] end private def error_message(word) sprintf('Use %%r %sfor regular expressions matching more ' + "than %d '/' character%s.", word, max_slashes, max_slashes == 1 ? '' : 's') end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems