class RuboCop::Cop::Layout::SpaceInsideArrayPercentLiteral

Checks for unnecessary additional spaces inside array percent literals (i.e. %i/%w).

@example

# bad
%w(foo  bar  baz)
# good
%i(foo bar baz)

Constants

MSG
MULTIPLE_SPACES_BETWEEN_ITEMS_REGEX

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/layout/space_inside_array_percent_literal.rb, line 33
def autocorrect(node)
  lambda do |corrector|
    each_unnecessary_space_match(node) do |range|
      corrector.replace(range, ' ')
    end
  end
end
on_array(node) click to toggle source
# File lib/rubocop/cop/layout/space_inside_array_percent_literal.rb, line 23
def on_array(node)
  process(node, '%i', '%I', '%w', '%W')
end
on_percent_literal(node) click to toggle source
# File lib/rubocop/cop/layout/space_inside_array_percent_literal.rb, line 27
def on_percent_literal(node)
  each_unnecessary_space_match(node) do |range|
    add_offense(node, location: range)
  end
end

Private Instance Methods

each_unnecessary_space_match(node, &blk) click to toggle source
# File lib/rubocop/cop/layout/space_inside_array_percent_literal.rb, line 43
def each_unnecessary_space_match(node, &blk)
  each_match_range(
    contents_range(node),
    MULTIPLE_SPACES_BETWEEN_ITEMS_REGEX,
    &blk
  )
end