mirror of
https://github.com/ruby/ruby.git
synced 2025-09-18 01:54:00 +02:00
* lib: do not use __send__ to access private methods. [ruby-dev:26935]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b6a9db5005
commit
f42208b70c
15 changed files with 54 additions and 46 deletions
|
@ -26,13 +26,14 @@ class Driver
|
|||
if RUBY_VERSION >= "1.7.0"
|
||||
def __attr_proxy(symbol, assignable = false)
|
||||
name = symbol.to_s
|
||||
self.__send__(:define_method, name, proc {
|
||||
define_method(name) {
|
||||
@proxy.__send__(name)
|
||||
})
|
||||
}
|
||||
if assignable
|
||||
self.__send__(:define_method, name + '=', proc { |rhs|
|
||||
@proxy.__send__(name + '=', rhs)
|
||||
})
|
||||
aname = name + '='
|
||||
define_method(aname) { |rhs|
|
||||
@proxy.__send__(aname, rhs)
|
||||
}
|
||||
end
|
||||
end
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue