Issue #4537 has been updated by Koichi Sasada.


So we should choose

>  (2) All "attr_*" methods define all methods in public.

(on #3), right?

----------------------------------------
Bug #4537: Incorrectly creating private method via attr_accessor
https://bugs.ruby-lang.org/issues/4537#change-62770

* Author: Ryan LeCompte
* Status: Assigned
* Priority: Normal
* Assignee: Koichi Sasada
* Target version: 
* ruby -v: ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
```
# The following fails with a failure to call "x=" private method
String.send(:attr_accessor, :x)
s = ""
s.x = 100

# The following works:
class String
  self.send(:attr_accessor, :x)
end
s = ""
s.x = 100
```




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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>