From: shugo@... Date: 2014-02-19T09:09:52+00:00 Subject: [ruby-dev:47987] [ruby-trunk - Bug #9526] [Rejected] Method#owner returns wrong owner if using prepend. Issue #9526 has been updated by Shugo Maeda. Status changed from Feedback to Rejected Kaneko Yuichiro wrote: > Sorry, I misunderstood behavior of prepend. Shugo and Boris are right. Thanks for your quick responce. Please close this ticket :) Thanks for your confirmation. ---------------------------------------- Bug #9526: Method#owner returns wrong owner if using prepend. https://bugs.ruby-lang.org/issues/9526#change-45276 * Author: Kaneko Yuichiro * Status: Rejected * 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 -------------------- In this case, a class or module that defines a method is Blah. So I think Blah.new.method(:x).owner should return Blah. -- http://bugs.ruby-lang.org/