class RuboCop::Cop::Lint::DuplicateElsifCondition
Checks that there are no repeated conditions used in if 'elsif'.
@example
# bad if x == 1 do_something elsif x == 1 do_something_else end # good if x == 1 do_something elsif x == 2 do_something_else end
Constants
- MSG
Public Instance Methods
on_if(node)
click to toggle source
# File lib/rubocop/cop/lint/duplicate_elsif_condition.rb, line 26 def on_if(node) previous = [] while node.if? || node.elsif? condition = node.condition add_offense(condition) if previous.include?(condition) previous << condition node = node.else_branch break unless node&.if_type? end end