Project

General

Profile

Bug #1802

Ruby 1.9.2: No longer possible to use send to call protected methods

Added by shyouhei (Shyouhei Urabe) over 11 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
ruby 1.9.2dev (2009-07-18 trunk 24186) [i686-linux]
Backport:
[ruby-core:24500]

Description

=begin
# This mail is to file this bug into our ITS. Please ignore.

Philip Ross wrote:

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 <main>': protected methodprotected_test'
called for #TestClass:0x82134c0 (NoMethodError)

Is this an intentional change for Ruby 1.9.2, or should I raise a bug?

Thanks,

Phil

Attachment: signature.asc
=end

#1

Updated by shyouhei (Shyouhei Urabe) over 11 years ago

  • Category set to core
  • Priority changed from 3 to Normal
  • Target version set to 1.9.2
  • ruby -v set to ruby 1.9.2dev (2009-07-18 trunk 24186) [i686-linux]

=begin

=end

#2

Updated by shyouhei (Shyouhei Urabe) over 11 years ago

  • Status changed from Open to Assigned
  • Assignee set to ko1 (Koichi Sasada)

=begin

=end

#3

Updated by nobu (Nobuyoshi Nakada) over 11 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r24280.
=end

Also available in: Atom PDF