Remover acentos em Ruby
Quantas vezes você precisou remover acentos de malditas palavras em qualquer linguagem de programação? É recursivo, sempre aparece.
Em Ruby eu nunca tinha encontrado uma solução legal, pequena e que cumprisse a missão. Esses dias precisei de novo, trocar acentos por “letras normais”. Foi aí que encontrei o Extend String, um pequeno script que faz o trabalho sujo.
A utilização é bem simples, através de meta-programação esse script injeta dois métodos de instancia na classe String. Assim:
require 'extend_string'
str = "Isso é bem fácil!"
str.removeaccents
str.urlize
str.gsub(' ', '-').urlize
Resulta nisso:
Isso e bem facil! issoebemfacil isso-e-bem-facil
Mel na teta, né!?
Update
Tino Gomes comentou sobre a gem brstring, do Brazilian Rails. É uma implementação mais completa. Pra quem quer um pouquinho mais de sofisticação é uma boa pedida. Obrigado Tino!