Project

General

Profile

Actions

Feature #16615

open

Group style access scope for macros

Added by ted (Ted Johansson) almost 2 years ago. Updated over 1 year ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:97088]

Description

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

class Foo

  private

  # On evaluation defines a method and returns its name.
  # In current Ruby, that method will be public. The suggested
  # behaviour is to make it private, since the class method
  # which defines the instance method is in the private scope.
  #
  bar :baz
end

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.)

Actions

Also available in: Atom PDF