Class: RuboCop::AST::NodePattern::Node::AnyOrder

Inherits:
RuboCop::AST::NodePattern::Node show all
Includes:
ForbidInSeqHead
Defined in:
lib/rubocop/ast/node_pattern/node.rb

Overview

Node class for ‘<int str …>`

Constant Summary

Constants inherited from RuboCop::AST::NodePattern::Node

FunctionCall, MAP

Instance Method Summary collapse

Methods included from ForbidInSeqHead

#in_sequence_head

Methods inherited from RuboCop::AST::NodePattern::Node

#arity_range, #capture?, #child, #children_nodes, #in_sequence_head, #matches_within_set?, #nb_captures, #rest?, #source_range, #variadic?, #with

Methods included from SimpleForwardable

#def_delegators

Methods included from Descendence

#child_nodes, #descendants, #each_child_node, #each_descendant, #each_node

Instance Method Details

#arityObject



197
198
199
200
201
# File 'lib/rubocop/ast/node_pattern/node.rb', line 197

def arity
  return children.size unless ends_with_rest?

  ARITIES[children.size]
end

#ends_with_rest?Boolean

Returns:

  • (Boolean)


189
190
191
# File 'lib/rubocop/ast/node_pattern/node.rb', line 189

def ends_with_rest?
  children.last.rest?
end

#rest_nodeObject



193
194
195
# File 'lib/rubocop/ast/node_pattern/node.rb', line 193

def rest_node
  children.last if ends_with_rest?
end

#term_nodesObject



185
186
187
# File 'lib/rubocop/ast/node_pattern/node.rb', line 185

def term_nodes
  ends_with_rest? ? children[0...-1] : children
end