Sha256: 219d58761ddb4bbb31f2db0ada8113fe87319a16392c0aaeb42fd4b0cc58d209
Contents?: true
Size: 926 Bytes
Versions: 155
Compression:
Stored size: 926 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module Lint # Do not mix named captures and numbered captures in a Regexp literal # because numbered capture is ignored if they're mixed. # Replace numbered captures with non-capturing groupings or # named captures. # # @example # # bad # /(?<foo>FOO)(BAR)/ # # # good # /(?<foo>FOO)(?<bar>BAR)/ # # # good # /(?<foo>FOO)(?:BAR)/ # # # good # /(FOO)(BAR)/ # class MixedRegexpCaptureTypes < Base MSG = 'Do not mix named captures and numbered captures in a Regexp literal.' def on_regexp(node) return if node.interpolation? return if node.each_capture(named: false).none? return if node.each_capture(named: true).none? add_offense(node) end end end end end
Version data entries
155 entries across 154 versions & 16 rubygems