Feature #16615

Updated by ted (Ted Johansson) almost 2 years ago

Given a method `.bar`, `.macro`, which defines an instance method `#bar` on a class, and returns the defined method's name as a symbol (`:baz`). (`:bar`). 

 class Foo 


   bar :baz macro :bar # On evaluation defines a method and returns its name. 

 it would be neat if the dynamically defined instance method respected the scope in which its definition originated. (In this particular case `private`.) 

 Essentially the request is to extend the special powers of `attr_*` (being able to define methods that honour visibility scopes) to any method. 

 Note: I am aware that inline access scopes already work for dynamically defined methods, as they merely accept a symbol as an argument. 

 Edit: Changed `macro` to `bar` so people don't get hung up on the name of the method (which has no importance to the proposal.)