Issue #9992 has been reported by Daniel Ferreira.

----------------------------------------
Feature #9992: Access Modifiers (Internal Interfaces)
https://bugs.ruby-lang.org/issues/9992

* Author: Daniel Ferreira
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
 Hi,
 
 Im 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: 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



-- 
https://bugs.ruby-lang.org/