mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (rb_f_send): allow send/__send__ to call methods of all
visibility again. we no longer provide __send, __send!. * eval.c (rb_invoke_method): new method to honor private visibility. if it's invoked in a function call style, it calls private methods as well (previous 1.9 send behavior). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ed823523e3
commit
1eee78b876
28 changed files with 92 additions and 101 deletions
|
@ -19,7 +19,7 @@ class TestBasicSocket < Test::Unit::TestCase
|
|||
n = s.getsockopt(Socket::SOL_SOCKET, Socket::SO_ERROR)
|
||||
assert_equal([0].pack("i"), n)
|
||||
val = Object.new
|
||||
class << val; self end.send!(:define_method, :to_int) {
|
||||
class << val; self end.send(:define_method, :to_int) {
|
||||
s.close
|
||||
Socket::SO_TYPE
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ class TestBasicSocket < Test::Unit::TestCase
|
|||
linger = [0, 0].pack("ii")
|
||||
|
||||
val = Object.new
|
||||
class << val; self end.send!(:define_method, :to_str) {
|
||||
class << val; self end.send(:define_method, :to_str) {
|
||||
s.close
|
||||
linger
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ class TestBasicSocket < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
val = Object.new
|
||||
class << val; self end.send!(:define_method, :to_int) {
|
||||
class << val; self end.send(:define_method, :to_int) {
|
||||
s.close
|
||||
Socket::SO_LINGER
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ class TestBasicSocket < Test::Unit::TestCase
|
|||
def test_listen
|
||||
s = nil
|
||||
log = Object.new
|
||||
class << log; self end.send!(:define_method, :to_int) {
|
||||
class << log; self end.send(:define_method, :to_int) {
|
||||
s.close
|
||||
2
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue