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 ✌
 
![Cover image for [Monkey Patch] Chamando o método original](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4r5bv875fbswwcwre0mu.jpg) 
              
 
    
Top comments (0)