Abstract --------- I would like to propose the implementation of: ``` Object#public_singleton_methods Object#singleton_public_methods ``` `Object#public_singleton_methods` `Object#singleton_public_methods` should return a list of public singleton methods. Background ------------ Currently `Object#singleton_methods` returns a list of public and protected singleton methods. Currently the best way I know of retrieving a list of public singleton methods is: ``` foo = Foo.new foo.singleton_methods(false) & foo.public_methods(false) ``` I consider the definition of the public interface of any object very important. For that reason I tend to keep it as simple as possible. Also, the way I like to enforce the design is by using unit tests, testing the interface itself. That way a change of the interface is very visible for the developer and code reviewer. I also tend to use `protected` a lot to give private methods a higher level of relevance. Implementation --------------- This is a feature that I would be very interested in developing. It would be my first contribution to ruby core. If you understand that it is worth the effort I would be more than happy to do it.