Module: RuboCop::Cop::ArraySyntax

Included in:
Style::SymbolArray, Style::TrailingComma, Style::WordArray
Defined in:
lib/rubocop/cop/mixin/array_syntax.rb

Overview

Common code for ordinary arrays with [] that can be written with % syntax.

Instance Method Summary collapse

Instance Method Details

#array_of?(element_type, node) ⇒ Boolean

Returns:

  • (Boolean)

8
9
10
11
12
13
14
15
16
17
# File 'lib/rubocop/cop/mixin/array_syntax.rb', line 8

def array_of?(element_type, node)
  return false unless square_brackets?(node)

  array_elems = node.children

  # no need to check empty arrays
  return false unless array_elems && array_elems.size > 1

  array_elems.all? { |e| e.type == element_type }
end

#square_brackets?(node) ⇒ Boolean

Returns:

  • (Boolean)

19
20
21
# File 'lib/rubocop/cop/mixin/array_syntax.rb', line 19

def square_brackets?(node)
  node.loc.begin && node.loc.begin.is?('[')
end