[ruby-core:63392] [ruby-trunk - Feature #9992] [Open] Access Modifiers (Internal Interfaces)

From: danieldasilvaferreira@...
Date: 2014-06-28 19:05:49 UTC
List: ruby-core #63392
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:=20
* Category:=20
* Target version:=20
----------------------------------------
 Hi,
=20
 I=E2=80=99m would like to discuss with you the concept of Internal Interfa=
ces.
=20
 Currently ruby offers three access modifiers choices to set methods visibi=
lity:
 - public
 - protected
 - private
=20
 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.
=20
 I would like to work with a new access modifier that would allow the creat=
ion of Internal methods.
=20
 Internal methods would be object methods that could only be called within =
the namespace.
=20
 Ex: module Foo; end
=20
 class Foo::Bar
   def baz=20
       puts =E2=80=98baz=E2=80=99
    end
    internal :baz
 end
=20
 class Foo::Qux
   def baz
      ::Foo::Bar.new.baz
   end
 end
=20
 Is this something that we can think about in a future implementation of ru=
by?
 An extra feature that would not break backward compatibility.
=20
 Cheers,
 Daniel



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

In This Thread

Prev Next