class RuboCop::Cop::Layout::AssignmentIndentation
Checks the indentation of the first line of the right-hand-side of a multi-line assignment.
@example
# bad value = if foo 'bar' end # good value = if foo 'bar' end
The indentation of the remaining lines can be corrected with other cops such as ‘IndentationConsistency` and `EndAlignment`.
Constants
- MSG
Private Instance Methods
autocorrect(corrector, node)
click to toggle source
# File lib/rubocop/cop/layout/assignment_indentation.rb, line 42 def autocorrect(corrector, node) AlignmentCorrector.correct(corrector, processed_source, node, column_delta) end
check_assignment(node, rhs)
click to toggle source
# File lib/rubocop/cop/layout/assignment_indentation.rb, line 33 def check_assignment(node, rhs) return unless rhs return unless node.loc.operator return if same_line?(node.loc.operator, rhs) base = display_column(leftmost_multiple_assignment(node).source_range) check_alignment([rhs], base + configured_indentation_width) end
leftmost_multiple_assignment(node)
click to toggle source
# File lib/rubocop/cop/layout/assignment_indentation.rb, line 46 def leftmost_multiple_assignment(node) return node unless same_line?(node, node.parent) && node.parent.assignment? leftmost_multiple_assignment(node.parent) node.parent end