Project

General

Profile

Feature #13026

Updated by subtileos (Daniel Ferreira) over 3 years ago

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.

Back