[Open] Method#owner returns wrong owner if using prepend

Issue #9526 has been reported by Kaneko Yuichiro.


Bug #9526: Method#owner returns wrong owner if using prepend.
https://bugs.ruby-lang.org/issues/9526

  • Author: Kaneko Yuichiro
  • Status: Open
  • Priority: Normal
  • Assignee:
  • Category:
  • Target version:
  • ruby -v: ruby-2.0.0-p353 [ x86_64 ] & ruby-2.1.0 [ x86_64 ]
  • Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN

rdoc indicates that Method#owner will return a class or module that
defines a method.
http://www.ruby-doc.org/core-2.0/Method.html#method-i-owner


module MyMod
def x(y)
super(y*y)
end
end

class Blah
def x(y)
y + 1
end
prepend MyMod
end

Blah.new.method(:x).owner
# => MyMod

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs