From: Philip Ross Date: 2009-07-22T05:43:31+09:00 Subject: [ruby-core:24488] Ruby 1.9.2: No longer possible to use send to call protected methods With Ruby 1.9.2-preview1, it is no longer possible to use send to call protected methods. It is however still possible to call private methods. class TestClass protected def protected_test puts 'called protected' end private def private_test puts 'called private' end end t = TestClass.new t.send :private_test t.send :protected_test With ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux], this gives the output: called private called protected But with ruby 1.9.2dev (2009-07-18 trunk 24186) [i686-linux], an exception is raised calling the protected method: called private /tmp/protected.rb:17:in `
': protected method `protected_test' called for # (NoMethodError) Is this an intentional change for Ruby 1.9.2, or should I raise a bug? Thanks, Phil