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