class RuboCop::Cop::Style::SpaceInsideRangeLiteral
‘a’..‘z’
# good
’a’ .. ‘z’
# bad
1..3
# good
1 .. 3
# bad
@example
Checks for spaces inside range literals.
def autocorrect(node)
def autocorrect(node) expression = node.loc.expression.source operator = node.loc.operator.source operator_escaped = operator.gsub(/\./, '\.') @corrections << lambda do |corrector| corrector.replace( node.loc.expression, expression .sub(/\s+#{operator_escaped}/, operator) .sub(/#{operator_escaped}\s+/, operator) ) end end
def check(node)
def check(node) expression = node.loc.expression.source operator = node.loc.operator.source.gsub(/\./, '\.') return unless expression =~ /(\s#{operator})|(#{operator}\s)/ add_offense(node, :expression) end
def on_erange(node)
def on_erange(node) check(node) end
def on_irange(node)
def on_irange(node) check(node) end