Issue #10355 has been updated by Nobuyoshi N…
Description updated
Category set to core
Status changed from Open to Feedback
Assignee set to Yukihiro M.
Target version set to current: 2.2.0
このメソッドに反対なわけではないですが、メソッド定義が上書きされているかどうかを調べたいのであれば、UnboundMethod#owner
などを使うほうがいいのではないでしょうか。
Feature #10355: Feature request: Module#prepended?(mod)
- Author: Satoshi TAGOMORI
- Status: Feedback
- Priority: Normal
- Assignee: Yukihiro M.
- Category: core
- Target version: current: 2.2.0
あるモジュール X に対してモジュール P1 がprependされているかどうかを調べる方法があると嬉しく思います。
Module#include?
を使うと継承関係に含まれているかどうかはわかりますが、それが対象モジュールに対してprependされたものかは分かりません。
module P1; end
module P2; end
class X
prepend P1
end
class Y< X
prepend P2
end
X.include?(P1) #=> true
Y.include?(P2) #=> true
Y.include?(P1) #=> true
# I want
X.prepended?(P1) #=> true
Y.prepended?(P2) #=> true
Y.prepended?(P1) #=> false