Tworzę dziwną klasę, w której chcę przechwycić każdą metodę wysłaną do obiektu klasy. Mogę osiągnąć większość tego, czego chcę przy użyciu metody method_missing, np.Ruby: Łapanie wszystkich metod wysłanych do obiektu
class MyClass
def method_missing m, *args
# do stuff
end
end
Problem stanowią wszystkie metody instancji, które MyClass dziedziczy po Object. Mógłbym przejrzeć każdą metodę jeden po drugim i przedefiniować je, ale liczyłem na bardziej elastyczne podejście. Wszystkie metody metaprogramowania, które wypróbowałem, skarżyły się z NameError, gdy próbuję dotknąć tych metod instancji.
Dokładnie tego szukałem! – Max
Znacznie lepiej jest używać BasicObject, ponieważ osiąga to samo i jest o wiele bezpieczniejsze. – Max
Noted. Kiedy ta odpowiedź została opublikowana, 1.8 wciąż było dość powszechne w scenariuszach produkcyjnych, a jako takie "BasicObject" jeszcze nie istniało. – numbers1311407