Forum: Ruby-dev Method#owner returns wrong owner if using prepend.

B3ba3ccedfbf4d605f00bafd1a732529?d=identicon&s=25 unknown (Guest)
on 2014-02-18 14:47
(Received via mailing list)
Issue #9526 has been updated by Kaneko Yuichiro.


Sorry, I misunderstood behavior of prepend. Shugo and Boris are right.
Thanks for your quick responce. Please close this ticket :)

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

* Author: Kaneko Yuichiro
* Status: Feedback
* 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 topic is locked and can not be replied to.