[ruby-core:63391] Access Modifiers (Internal Interfaces)

From: Daniel da Silva Ferreira <danieldasilvaferreira@...>
Date: 2014-06-28 18:17:51 UTC
List: ruby-core #63391
Hi,

I知 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 礎az
   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

In This Thread

Prev Next