Para quem usa HAML é mais que comum usar os filtros no código, por exemplo:
:javascript
alert('')
:css
body { background-color: #000; }
Já senti várias vezes a necessidade de alterar um destes filtros, especialmente porque tornam o código mais limpo.
Para criar um filtro é necessário apenas, montar um modulo e adicioná-lo ao filtros. Veja o exemplo:
#File: lib/meu_filtro.rb # O nome do arquivo não tem importância
module Haml
module Filters
module MeuFiltro #Nome do seu módulo
include Base
def render_with_options(text, options)
#Aqui pode ser colocado qualquer execução para compilar seu texto
"Ola #{text}! <=> !#{text.reverse} alO"
end
end
Filters.defined['meu_filtro'] = MeuFiltro #Adicionando aos filtros do haml
end
end
Feito isso agora é só incluí-lo nas suas dependências:
#File: config/application.rb require "../lib/meu_filtro.rb"
E utilizá-lo na view.
%br
Abaixo vou utilizar meu filtro.
:meu_filtro
mundo
:meu_filtro
dannnylo
Assim você pode criar seus filtros pro haml e limpar mais ainda seu código.
