Feature #9992
Updated by nobu (Nobuyoshi Nakada) over 10 years ago
Hi, I’m would like to discuss with you the concept of Internal Interfaces. Currently ruby offers three access modifiers choices to set methods visibility: - public - protected - private Public methods define what we may call the Public Interface. Private methods are private to the class and its subclasses. Protected methods are public for the subclasses. I would like to work with a new access modifier that would allow the creation of Internal methods. Internal methods would be object methods that could only be called within the namespace. Ex: ~~~ruby module Foo; end class Foo::Bar def baz puts ‘baz’ end internal :baz end class Foo::Qux def baz ::Foo::Bar.new.baz end end ~~~ Is this something that we can think about in a future implementation of ruby? An extra feature that would not break backward compatibility. Cheers, Daniel