Mesmo que não seja uma pratica tão elegante e até perigosa, o Monkey Patch é uma realidade para os programadores Ruby (on Rails). E por este motivo decidi escrever este artigo relatando um desafio que encontrei esses dias, e como resolvi o mesmo.
O desafio encontrado foi: "Tratar a exceção que um método que uma gem levantava". Para isso eu precisava chamar o método antigo, e não sabia bem como fazer isso.
Sem mais delongas, a forma que eu encontrei foi a seguinte:
class ClasseDaGem
def metodo
raise "ERROR!!!!"
end
end
class ClasseDaGem
alias_method :antigo_metodo, :metodo
def metodo
begin
antigo_metodo
rescue
p "Faça o que precisar aqui!"
end
end
end
Caso você tenha uma solução melhor, não deixe de comentar ✌
Top comments (0)