DEV Community

Cover image for [Monkey Patch] Chamando o método original
Marcelo Junior
Marcelo Junior

Posted on • Edited on

[Monkey Patch] Chamando o método original

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
Enter fullscreen mode Exit fullscreen mode
class ClasseDaGem
  alias_method :antigo_metodo, :metodo

  def metodo
    begin
      antigo_metodo
    rescue
      p "Faça o que precisar aqui!"
    end
  end
end
Enter fullscreen mode Exit fullscreen mode

Caso você tenha uma solução melhor, não deixe de comentar ✌

Top comments (0)