public_method_defined?(name, inherit=true) -> bool
[permalink][rdoc][edit]-
インスタンスメソッド name がモジュールに定義されており、しかもその可視性が public であるときに true を返します。そうでなければ false を返します。
- [PARAM] name:
- Symbol か String を指定します。
- [PARAM] inherit:
- 真を指定するとスーパークラスや include したモジュールで定義されたメソッドも対象になります。
[SEE_ALSO] Module#method_defined?, Module#private_method_defined?, Module#protected_method_defined?
module A def method1() end end class B protected def method2() end end class C < B include A def method3() end end A.method_defined? :method1 #=> true C.public_method_defined? "method1" #=> true C.public_method_defined? "method1", true #=> true C.public_method_defined? "method1", false #=> true C.public_method_defined? "method2" #=> false C.method_defined? "method2" #=> true