From: nobu@...
Date: 2014-10-10T04:34:14+00:00
Subject: [ruby-dev:48613] [ruby-trunk - Feature #10355] [Feedback] Feature request: Module#prepended?(mod)

Issue #10355 has been updated by Nobuyoshi Nakada.

Description updated
Category set to core
Status changed from Open to Feedback
Assignee set to Yukihiro Matsumoto
Target version set to current: 2.2.0

このメソッドに反対なわけではないですが、メソッド定義が上書きされているかどうかを調べたいのであれば、`UnboundMethod#owner`などを使うほうがいいのではないでしょうか。

----------------------------------------
Feature #10355: Feature request: Module#prepended?(mod)
https://bugs.ruby-lang.org/issues/10355#change-49336

* Author: Satoshi TAGOMORI
* Status: Feedback
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: core
* Target version: current: 2.2.0
----------------------------------------
あるモジュール X に対してモジュール P1 がprependされているかどうかを調べる方法があると嬉しく思います。
`Module#include?` を使うと継承関係に含まれているかどうかはわかりますが、それが対象モジュールに対してprependされたものかは分かりません。

~~~ruby
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
~~~



-- 
https://bugs.ruby-lang.org/