class RubbyCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters
Checks for unnecessary additional spaces inside the delimiters of %i/%w/%x literals.
@example
@good %i(foo bar baz) @bad %w( foo bar baz ) @bad %x( ls -l )
Constants
- BEGIN_REGEX
- END_REGEX
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubbycop/cop/layout/space_inside_percent_literal_delimiters.rb, line 38 def autocorrect(node) lambda do |corrector| regex_matches(node) do |match_range| corrector.remove(match_range) end end end
on_array(node)
click to toggle source
# File lib/rubbycop/cop/layout/space_inside_percent_literal_delimiters.rb, line 26 def on_array(node) process(node, '%i', '%I', '%w', '%W') end
on_percent_literal(node)
click to toggle source
# File lib/rubbycop/cop/layout/space_inside_percent_literal_delimiters.rb, line 30 def on_percent_literal(node) add_offenses_for_unnecessary_spaces(node) end
on_xstr(node)
click to toggle source
# File lib/rubbycop/cop/layout/space_inside_percent_literal_delimiters.rb, line 34 def on_xstr(node) add_offenses_for_unnecessary_spaces(node) end
Private Instance Methods
add_offenses_for_unnecessary_spaces(node)
click to toggle source
# File lib/rubbycop/cop/layout/space_inside_percent_literal_delimiters.rb, line 48 def add_offenses_for_unnecessary_spaces(node) return unless node.single_line? regex_matches(node) do |match_range| add_offense(node, match_range, MSG) end end
regex_matches(node, &blk)
click to toggle source
# File lib/rubbycop/cop/layout/space_inside_percent_literal_delimiters.rb, line 56 def regex_matches(node, &blk) [BEGIN_REGEX, END_REGEX].each do |regex| each_match_range(contents_range(node), regex, &blk) end end