class RubbyCop::AST::ForNode

A node extension for `for` nodes. This will be used in place of a plain node when the builder constructs the AST, making its methods available to all `for` nodes within RubbyCop.

Public Instance Methods

body() click to toggle source

Returns the body of the `for` loop.

@return [Node, nil] The body of the `for` loop.

# File lib/rubbycop/ast/node/for_node.rb, line 40
def body
  node_parts[2]
end
collection() click to toggle source

Returns the collection the `for` loop is iterating over.

@return [Node] The collection the `for` loop is iterating over

# File lib/rubbycop/ast/node/for_node.rb, line 33
def collection
  node_parts[1]
end
do?() click to toggle source

Checks whether the `for` node has a `do` keyword.

@return [Boolean] whether the `for` node has a `do` keyword

# File lib/rubbycop/ast/node/for_node.rb, line 19
def do?
  loc.begin && loc.begin.is?('do')
end
keyword() click to toggle source

Returns the keyword of the `for` statement as a string.

@return [String] the keyword of the `until` statement

# File lib/rubbycop/ast/node/for_node.rb, line 12
def keyword
  'for'
end
node_parts() click to toggle source

Custom destructuring method. This can be used to normalize destructuring for different variations of the node.

@return [Array<Node>] the different parts of the `until` statement

# File lib/rubbycop/ast/node/for_node.rb, line 48
def node_parts
  to_a
end
variable() click to toggle source

Returns the iteration variable of the `for` loop.

@return [Node] The iteration variable of the `for` loop

# File lib/rubbycop/ast/node/for_node.rb, line 26
def variable
  node_parts[0]
end