class RuboCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters
%x( ls -l )
# bad
%w( foo bar baz )
# bad
%i(foo bar baz)
# good
@example
%i/%w/%x literals.
Checks for unnecessary additional spaces inside the delimiters of
def add_offenses_for_unnecessary_spaces(node)
def add_offenses_for_unnecessary_spaces(node) return unless node.single_line? regex_matches(node) do |match_range| add_offense(node, location: match_range) end end
def autocorrect(node)
def autocorrect(node) lambda do |corrector| regex_matches(node) do |match_range| corrector.remove(match_range) end end end
def on_array(node)
def on_array(node) process(node, '%i', '%I', '%w', '%W') end
def on_percent_literal(node)
def on_percent_literal(node) add_offenses_for_unnecessary_spaces(node) end
def on_xstr(node)
def on_xstr(node) process(node, '%x') end
def regex_matches(node, &blk)
def regex_matches(node, &blk) [BEGIN_REGEX, END_REGEX].each do |regex| each_match_range(contents_range(node), regex, &blk) end end