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