Ich habe dieses Blog-Posting gefunden, das darauf eingeht, wie man method_added verwendet, um Affen-Patches zu verfolgen. Es ist nicht schwer, es zu erweitern, um die Methoden zu verfolgen, die gepatcht wurden.
Ссылка :
Indem wir offene Klassen verwenden, können wir method_added für Klasseninstanzen neu definieren und jedes Mal, wenn eine Methode für eine Klasse definiert wird, einige benutzerdefinierte Funktionen ausführen. In diesem Beispiel definieren wir method_added neu, damit es verfolgt, wo die Methode zuletzt definiert wurde.
%Vor%
Es gibt die Hooks method_added
und method_undefined
. Garry Dolley hat ein mmutable-Modul geschrieben, das das Patchen von Affen verhindert.
Tags und Links ruby metaprogramming