Created
November 17, 2013 18:54
-
-
Save brunoandradd/7516748 to your computer and use it in GitHub Desktop.
Dsl para relatórios
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#definição | |
module RepositorioRelatorios | |
extend self | |
def adicionar(relatorio) | |
@relatorios ||= [] | |
@relatorios.push relatorio | |
end | |
def find(id) | |
@relatorios ||= [] | |
@relatorios.detect{|r| r.id == id.to_sym} | |
end | |
def all | |
@relatorios ||= [] | |
end | |
end | |
def definir_relatorio(id,&bloco) | |
relatorio = Relatorio.new(id) | |
relatorio.instance_eval(&bloco) | |
RepositorioRelatorios.adicionar(relatorio) | |
end | |
#uso da dsl | |
definir_relatorio :cp04 do | |
nome '04' | |
nome_completo "Formulário 04" | |
descricao 'Declaração de Responsabilidade' | |
template 'relatorios/cp04' | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Antes nos tinhamos que definir os dados dos relatorios atraves de um array de hash o que dificultava muito a
manutenção.