Module: RuboCop::AST::BinaryOperatorNode
Overview
Common functionality for nodes that are binary operations: ‘or`, `and` …
Instance Method Summary collapse
-
#conditions ⇒ Array<Node>
Returns all of the conditions, including nested conditions, of the binary operation.
-
#lhs ⇒ Node
Returns the left hand side node of the binary operation.
-
#rhs ⇒ Node
Returns the right hand side node of the binary operation.
Instance Method Details
#conditions ⇒ Array<Node>
Returns all of the conditions, including nested conditions, of the binary operation.
operation and the let and right hand side of any nested binary operators
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/rubocop/ast/node/mixin/binary_operator_node.rb', line 28 def conditions lhs, rhs = *self lhs = lhs.children.first if lhs.begin_type? rhs = rhs.children.first if rhs.begin_type? [lhs, rhs].each_with_object([]) do |side, collection| if AST::Node::OPERATOR_KEYWORDS.include?(side.type) collection.concat(side.conditions) else collection << side end end end |
#lhs ⇒ Node
Returns the left hand side node of the binary operation.
11 12 13 |
# File 'lib/rubocop/ast/node/mixin/binary_operator_node.rb', line 11 def lhs node_parts[0] end |
#rhs ⇒ Node
Returns the right hand side node of the binary operation.
18 19 20 |
# File 'lib/rubocop/ast/node/mixin/binary_operator_node.rb', line 18 def rhs node_parts[1] end |