Feature #8164


Added by Anonymous about 6 years ago. Updated almost 6 years ago.

Target version:


Would it be a good idea to compress these 4 methods to 2 methods?

public - Can set both instance and class methods to public by passing
them in as symbol
private - Can set both instance and class methods to private by passing
them in as symbol

and enable them to be called at top of class? Is this a good idea? It would
clean up Module# and encourage use of these two
as methods rather than keywords



Updated by drbrain (Eric Hodel) about 6 years ago

  • Category set to core


If private_class_method is removed, how will the class method foo be set to private here:

class C
def end
def foo() end

private :foo



Updated by EdwardCh (Edward Chen) almost 6 years ago

"Stuff" the private() method to take the explicit options.
A possible solution would be:
private (:instance => [], :class => [:foo])

In this way, although it adds a bit of complexity to the private and public methods, we would have reduced the method count of Module by 2 and simplified a class view => I can see all the public, private methods at a glance.

Updated by drbrain (Eric Hodel) almost 6 years ago

  • Status changed from Open to Assigned
  • Assignee set to matz (Yukihiro Matsumoto)
  • Target version set to Next Major

Updated by nobu (Nobuyoshi Nakada) almost 6 years ago

Class methods and instance methods are different things.
I don't see advantages of this proposal.

Also available in: Atom PDF