Module: RuboCop::Cop::CheckAssignment
- Included in:
- Lint::EndAlignment, Style::ElseAlignment, Style::IndentAssignment, Style::IndentationWidth, Style::MultilineAssignmentLayout
- Defined in:
- lib/rubocop/cop/mixin/check_assignment.rb
Overview
Common functionality for checking assignment nodes.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extract_rhs(node) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rubocop/cop/mixin/check_assignment.rb', line 26 def extract_rhs(node) if node.casgn_type? _scope, _lhs, rhs = *node elsif node.op_asgn_type? _lhs, _op, rhs = *node elsif Util::ASGN_NODES.include?(node.type) _lhs, rhs = *node elsif node.send_type? rhs = node.children.last end rhs end |
Instance Method Details
#on_send(node) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/rubocop/cop/mixin/check_assignment.rb', line 14 def on_send(node) # we only want to indent relative to the receiver # when the method called looks like a setter return unless node.asgn_method_call? # This will match if, case, begin, blocks, etc. rhs = extract_rhs(node) check_assignment(node, rhs) if rhs.is_a?(AST::Node) end |