class RuboCop::AST::ArrayNode

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

Constants

PERCENT_LITERAL_TYPES

Public Instance Methods

bracketed?() click to toggle source

Checks whether the `array` literal is delimited by either percent or square brackets

@return [Boolean] whether the array is enclosed in percent or square brackets

# File lib/rubocop/ast/node/array_node.rb, line 51
def bracketed?
  square_brackets? || percent_literal?
end
percent_literal?(type = nil) click to toggle source

Checks whether the `array` literal is delimited by percent brackets.

@overload percent_literal?

Check for any percent literal.

@overload percent_literal?(type)

Check for percent literaly of type `type`.

@param type [Symbol] an optional percent literal type

@return [Boolean] whether the array is enclosed in percent brackets

# File lib/rubocop/ast/node/array_node.rb, line 38
def percent_literal?(type = nil)
  if type
    loc.begin && loc.begin.source =~ PERCENT_LITERAL_TYPES[type]
  else
    loc.begin && loc.begin.source.start_with?('%')
  end
end
square_brackets?() click to toggle source

Checks whether the `array` literal is delimited by square brackets.

@return [Boolean] whether the array is enclosed in square brackets

# File lib/rubocop/ast/node/array_node.rb, line 23
def square_brackets?
  loc.begin && loc.begin.is?('[')
end
values() click to toggle source

Returns an array of all value nodes in the `array` literal.

@return [Array<Node>] an array of value nodes

# File lib/rubocop/ast/node/array_node.rb, line 16
def values
  each_child_node.to_a
end