kivanio/brcobranca

Alterar o modelo em tempo de execução

antoniospneto opened this issue · 2 comments

Alguém tem ideia de como fazer uma implementação para alterar o modelo do boleto em tempo de execução?

Atualmente da forma que está implementado só é possível definir o modelo no inicio da aplicação, mas queria que ao instanciar um novo boleto (new) pudesse ser passado o modelo como parâmetro. podendo assim alterar o modelo em tempo de execução, a cada instancia de um boleto poder informar um modelo diferente.

Eu dei uma olhada de como foi feito com o carne, foi feito a opção "both" onde todas classes de modelo são injetadas ( include e extend) e os nomes dos métodos foram alterados para não dar conflito, ficando os métodos, to, to_carne, to_lote, to_lote_carne. agora como temos um modelo novo eu adicionaria os métodos .to2 .to_carne2? acho que fica meio estranho.

Pretendo fazer essa implementação, mas meu conhecimento em ruby ainda é bem limitado, se alguém já pensou em uma estrutura para isso e quiser compartilhar, fico agradecido.

@netosjb faz tempo que não altero a base do código,
mas o que poderia ser feito é o layout/modelo ser passado como parâmetro pro boleto.

Ou criar uma classe Impressora que recebesse os dois e fosse responsável pela impressão.

Se quiser fazer o mais simples e colocar um to_with_recibo também não tenho impedimentos.

@kivanio ok, depois vou tentar fazer aqui, obrigado!