class RuboCop::Cop::Lint::DuplicateCaseCondition
end
do_something_else
when ‘second’
do_something
when ‘first’
case x
# good
end
do_something_else
when ‘first’
do_something
when ‘first’
case x
# bad
@example
used in case ‘when’ expressions.
Checks that there are no repeated conditions
def on_case(case_node)
def on_case(case_node) case_node.when_branches.each_with_object(Set.new) do |when_node, previous| when_node.conditions.each do |condition| add_offense(condition) unless previous.add?(condition) end end end