Method: RuboCop::Cop::Lint::AssignmentInCondition#on_if

Defined in:
lib/rubocop/cop/lint/assignment_in_condition.rb

#on_if(node) ⇒ Object Also known as: on_while, on_until

[View source]

55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/rubocop/cop/lint/assignment_in_condition.rb', line 55

def on_if(node)
  traverse_node(node.condition) do |asgn_node|
    next :skip_children if skip_children?(asgn_node)
    next if allowed_construct?(asgn_node)

    add_offense(asgn_node.loc.operator) do |corrector|
      next unless safe_assignment_allowed?

      corrector.wrap(asgn_node, '(', ')')
    end
  end
end