From: Ganesh Kaliannan Date: 2013-08-02T11:27:44+09:00 Subject: Re: public_methods on a class In the defination of class B, the part “< A" tells ruby that class B is inheriting from class A. When class B inherits from class A, all the properties(methods, instance and class variables) in class A are available to class B Ex: class A def self.foo "FOO" end end class B < A end class C < B end C.public_methods(false) [:foo, :allocate, :new, :superclass] When we inherit class B in C will result the same... Thanks, Ganesh Kaliannan On Fri, Aug 2, 2013 at 4:21 AM, Steve S. wrote: > Hi > > is anyone able to to explain to me why :foo is in the array below? > > My understanding of the docs would suggest that calling > public_methods(false) should only include methods defined on the class > itself? > > >>> class A >>> def self.foo >>> "FOO" >>> end >>> end >>> class B < A >>> end >>> p B.public_methods(false) > > => [:foo, :allocate, :new, :superclass] > > (https://eval.in/40208) > > Thanks > > Steve > > -- > Posted via http://www.ruby-forum.com/. >