Sha256: 4494969038352c8b1db0bd2e08070019f0d8b350c1e1b73d0d87c7ae737af538
Contents?: true
Size: 933 Bytes
Versions: 159
Compression:
Stored size: 933 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module Lint # Checks for regexp literals used as `match-current-line`. # If a regexp literal is in condition, the regexp matches `$_` implicitly. # # @example # # bad # if /foo/ # do_something # end # # # good # if /foo/ =~ $_ # do_something # end class RegexpAsCondition < Base include IgnoredNode extend AutoCorrector MSG = 'Do not use regexp literal as a condition. ' \ 'The regexp literal matches `$_` implicitly.' def on_match_current_line(node) return if node.ancestors.none?(&:conditional?) return if part_of_ignored_node?(node) add_offense(node) { |corrector| corrector.replace(node, "#{node.source} =~ $_") } ignore_node(node) end end end end end
Version data entries
159 entries across 158 versions & 17 rubygems