Для любого объекта, который я могу вызвать #public_methods
, и увидеть все методы, которые он ответит на. Однако я считаю, что иногда было бы удобно получить быстрый список всех общедоступных методов, которые не унаследованы, то есть того, что действительно является частью этого класса.
Я обнаружил в « Простой способ составить список общедоступных методов для объекта Ruby », что, если я использую:
(Foo.public_methods - Object.public_methods).sort
, я могу отфильтровать множество базовых вещей Ruby. Я хотел бы иметь возможность фильтровать все, что было унаследовано на всем протяжении цепочки. Если я знаю родительский класс, я могу использовать его для фильтрации, но я бы хотел придумать общую команду, которая могла бы возвращать массив ненаследуемых общедоступных методов для любого объекта.