Dois novos métodos foram acrescentados ao objeto String, o squish e o squish!.
Estes métodos fazem o mesmo que o método strip, removendo espaços em branco do inicio e fim do texto, mas além disso também arrumam casos onde no meio do texto temos mais de um espaço deixando com apenas um.
Veja um exemplo:
" Um texto cheio de espaços ".strip
#=> "Um texto cheio de espaços"
" Um texto cheio de espaços ".squish
#=> "Um texto cheio de espaços"
No que se diferenciam squish! de squish Carlos?
Diego, no ruby quando um método tem o sinal de !, segue-se uma convensão de que este método é destrutivo. Por exemplo:
a = " meu texto "puts a.squish
pusts a
Vai retornar:
"meu texto"" meu texto "
Note que o valor da variável contina intacto. Mas se você usar o método com o sinal de ! no fim, Ele vai alterar o valor da variável também. Como convensão, isto vale para qualquer método com o sinal de !.
Abraço!
Metodozinho simpático :D