Usando o SimpleDelegator para criar decorators em Ruby
Criado em: 13/02/2013
Recentemente postei no blog da HE:labs sobre como extrair responsabilidade de models no rails utilizando-se de decorators para quem curtiu e já está utilizando decorators em suas apps apresento agora o SimpleDelegator que nos ajuda a criar nossos decorators.
Imagine que tenhamos a seguinte classe:
uma simples classe ruby, mas que poderia ser um de seus models active record por exemplo.
A nossa classe é utilizada assim:
Agora iremos criar o Super Sayajin, vamos a nossa classe:
a nossa classe Super Sayajin poderia ser utilizada assim:
Criando o nosso decorator herdando de SimpleDelegator
não precisamos criar um initialize
e agora o nosso decorator responde a todos os métodos da classe “decorada”. Perceba que podemos utilizar o super
para nos referenciarmos a métodos da classe “decorada”, como usamos em SuperSaiyajin#name
.
Fica a dica do SimpleDelegator
para quando formos criar nossos decorators. Se você não conhecia o SimpleDelegator
ou usa outra abordagem comenta aí.
Comentários
Comentários powered by Disqus