Sha256: ff6a3f393e4b220eb5ea015e2b9e348531611d31215d285cd15c0d08fa9c6f6d
Contents?: true
Size: 961 Bytes
Versions: 57
Compression:
Stored size: 961 Bytes
Contents
# frozen_string_literal: true module RuboCop module Cop module Lint # This cop checks that there are no repeated conditions # used in case 'when' expressions. # # @example # # # bad # # case x # when 'first' # do_something # when 'first' # do_something_else # end # # @example # # # good # # case x # when 'first' # do_something # when 'second' # do_something_else # end class DuplicateCaseCondition < Base MSG = 'Duplicate `when` condition detected.' def on_case(case_node) case_node.when_branches.each_with_object(Set.new) do |when_node, previous| when_node.each_condition do |condition| add_offense(condition) unless previous.add?(condition) end end end end end end end
Version data entries
57 entries across 57 versions & 6 rubygems