Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Moduleクラス > private_method_defined?

instance method Module#private_method_defined?

private_method_defined?(name, inherit=true) -> bool[permalink][rdoc]

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返します。 そうでなければ false を返します。

[PARAM] name:
SymbolString を指定します。
[PARAM] inherit:
真を指定するとスーパークラスや include したモジュールで 定義されたメソッドも対象になります。

[SEE_ALSO] Module#method_defined?, Module#public_method_defined?, Module#protected_method_defined?



module A
  def method1()  end
end
class B
  private
  def method2()  end
end
class C < B
  include A
  def method3()  end
end

A.method_defined? :method1                   #=> true
C.private_method_defined? "method1"          #=> false
C.private_method_defined? "method2"          #=> true
C.private_method_defined? "method2", true    #=> true
C.private_method_defined? "method2", false   #=> false
C.method_defined? "method2"                  #=> false