Escrevendo filtros HAML

Publicado: 20-07-2011 em HAML, Ruby, Ruby on Rails
Tags:, , ,

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.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s