Feature #8164

Public/Private

Added by Anonymous about 2 years ago. Updated about 2 years ago.

[ruby-core:53727]
Status:Assigned
Priority:Normal
Assignee:Yukihiro Matsumoto

Description

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

History

#1 Updated by Eric Hodel about 2 years ago

  • Category set to core

=begin

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

class C
def self.foo() end
def foo() end

private :foo

end

=end

#2 Updated by Edward Chen about 2 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.

#3 Updated by Eric Hodel about 2 years ago

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

#4 Updated by Nobuyoshi Nakada about 2 years ago

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

Also available in: Atom PDF