November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Listy metod zwracane przez opisane wcześniej metody są dość obszerne, a duża część ich zawartości dotyczy zwykle metod dziedziczonych od przodków. Chcielibyśmy tę część odfiltrować, pozostawiając jedynie metody charakterystyczne dla danej klasy czy obiektu.
Od zbioru metod definiowanych przez dany obiekt czy klasę należy odjąć zbiór metod definiowanych przez jego (jej) superklasę. Widoczna poniżej metoda my_methods_only wykonuje to zadanie dla każdego obiektu:
class Object def my_methods_only my_super = self.class.superclass return my_super ? methods - my_super.instance_methods : methods end end s = '' s.methods.size # => 158 Object.instance_methods.size # => 53 s.my_methods_only.size ...