Вам просто нужен шаблон, который соответствует 2 или более пробелам, затем используйте блочную форму gsub
и посмотрите, как долго это совпадение:
s.gsub(/ {2,}/) { ' ' * $&.length }
Например:
>> ' '.gsub(/ {2,}/) { ' ' * $&.length }
=> " "
>> (' ' * 2).gsub(/ {2,}/) { ' ' * $&.length }
=> " "
>> (' ' * 3).gsub(/ {2,}/) { ' ' * $&.length }
=> " "
>> (' ' * 11).gsub(/ {2,}/) { ' ' * $&.length }
=> " "