Actions
Feature #8275
openAdd Module#public_const_get
Status:
Open
Assignee:
-
Target version:
-
Description
Right now, const_get
will always return a constant, no matter the visibility, which is probably what we want most of the time. But if you for instance have code that does some automatic name to constant resolution, you might now want to leak private constants.
module Foo
Bar = 42
private_constant :Bar
end
currently:¶
Foo::Bar # raises NameError
Foo.const_get("Bar") # => 42
Object.const_get("Foo::Bar") # => 42
proposed:¶
Foo.public_const_get("Bar") # raises NameError
Object.public_const_get("Foo::Bar") # raises NameError
Actions
Like0
Like0Like0Like0Like0Like0