Forum: Ruby listing Object.methods

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Alex C. (Guest)
on 2006-01-28 11:39
(Received via mailing list)
Hello,
Tonight I was thinking that it would be handy to
have a way to list all the methods in a class but
not list any of the standard methods that it inherits
from its parent object enless they have been added
to by the class in question.

Something like this, but better.

`Foo.new.methods - Object.methods`

For example if Foo reimplenents .to_s then I would like to know about
it.
Eero S. (Guest)
on 2006-01-28 11:54
(Received via mailing list)
On 2006.01.28 18:39, Alex C. wrote:
> Hello,
> Tonight I was thinking that it would be handy to
> have a way to list all the methods in a class but
> not list any of the standard methods that it inherits
> from its parent object enless they have been added
> to by the class in question.
>
> Something like this, but better.
>
> `Foo.new.methods - Object.methods`

As a workaround, you can do this:

  class << foo; self; end.instance_methods false

> For example if Foo reimplenents .to_s then I would like to know about it.
>
> Alex C.


E
James G. (Guest)
on 2006-01-28 18:15
(Received via mailing list)
On Jan 28, 2006, at 3:52 AM, Eero S. wrote:

> On 2006.01.28 18:39, Alex C. wrote:
>> Something like this, but better.
>>
>> `Foo.new.methods - Object.methods`
>
> As a workaround, you can do this:
>
>   class << foo; self; end.instance_methods false

Do we really need a singleton class for that?  I prefer:

self.class.instance_methods(false)

James Edward G. II
Eero S. (Guest)
on 2006-01-28 23:09
(Received via mailing list)
On 2006.01.29 01:13, James Edward G. II wrote:
>
> Do we really need a singleton class for that?  I prefer:
>
> self.class.instance_methods(false)

Yep, otherwise singleton methods will not be included.

> James Edward G. II


E
This topic is locked and can not be replied to.