Actions
Bug #7499
closedpublic_send can be used to invoke protected methods
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.0.0dev (2012-12-03) [x86_64-darwin12.2.1]
Backport:
Description
class Foo
def bar
"wtf?"
end
protected :bar
def invoke_bar
public_send(:bar)
end
end
puts Foo.public_send(:bar) rescue puts "error; this seems normal"
puts Foo.new.invoke_bar
The last statement outputs "wtf?" on:¶
* 1.9.3p194¶
* 1.9.3p327¶
* ruby-head (2012-12-03)¶
The last statement raises a NoMethodError on:¶
* JRuby 1.7.0¶
* rubinius 2.0.0dev 2279857e¶
I /expected/ the NoMethodError behavior¶
Files
Actions
Like0
Like0Like0Like0