Project

General

Profile

Feature #6470

Updated by hsbt (Hiroshi SHIBATA) 3 months ago

attr_accesor currently returns nil. It would be more helpful if it return list of generated methods so that it can become an argument to other methods like :private or :protected. That way private accessors can still be defined at top of the class and be private without changing the visibility of next methods.

```
class Something
private *attr_accessor :user, :action # IMHO This is nice
# private attr_accessor :user, :action # <-- would be even better if :private method accepted arrays

def initialize(user, action)
self.user = user
self.action = action
end

def public_method
user.do_something(action)
end
end
```



VS

```


class Something
private; attr_accessor :user, :action; public # IMHO Hack!!

def initialize(user, action)
self.user = user
self.action = action
end

def public_method
user.do_something(action)
end
end
```



VS

```


class Something
def initialize(user, action)
self.user = user
self.action = action
end

def public_method
user.do_something(action)
end

private
attr_accessor :user, :action # IMHO Does not look nice at bottom of the class definition
end
```

Back