On Mar 22, 2:53 am, Yukihiro Matsumoto <m... / ruby-lang.org> wrote: > | 3/ The naming of these methods are quite confusing. Each time I read them I understand "give me the private/public class method ...". The naming is too/very close to private_methods, public_methods, ... > | I would prefer something like class_private, class_protected, class_public. > > What do you confuse with what? For me, class_private etc. mean nothing. If I may attempt to be an interpreter, I think what the OP was saying was if you look at this list... # Return a method by name Module#method Module#instance_method # Return array of method names Module#methods Module#singleton_methods Module#instance_methods Module#private_methods Module#private_instance_methods Module#protected_methods Module#protected_instance_methods Module#public_methods Module#public_instance_methods # Change method 'scope' Module#private_class_method Module#public_class_method ...you see that most methods with "method" in their name return something about methods, but the last two cause a change to the method 'scope'. I can see the confusion in particular between the first two and the last two: Klass.method( :foo ) #=> find a method Klass.public_class_method( :foo ) #=> change scope Klass.instance_method( :foo ) #=> find a method The other question of the OP was "I know about three scopes in Ruby: 'public', 'protected', and 'private'. However, I only see #public_class_method and #private_class_method. For consistency, shouldn't there also be #protected_class_method."