概要
Module#private_method_defined?(name) -> bool
詳細
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返却。
そうでなければ false を返却。
サンプルコード
require 'tbpgr_utils' module Hogeable def hogeable end private def private_hogeable end end class Hoge include Hogeable def hoge print 'hoge' end private def private_hoge end end class ChildHoge < Hoge end bulk_puts_eval binding, <<-EOS Hoge.private_method_defined? :hogeable Hoge.private_method_defined? :private_hogeable Hoge.private_method_defined? :hoge Hoge.private_method_defined? :private_hoge Hoge.private_method_defined? 'private_hoge' ChildHoge.private_method_defined? :private_hogeable ChildHoge.private_method_defined? :private_hoge Hogeable.private_method_defined? :private_hogeable EOS __END__ 下記はTbpgrUtils gemの機能 bulk_puts_eval https://rubygems.org/gems/tbpgr_utils https://github.com/tbpgr/tbpgr_utils
出力
出力
Hoge.private_method_defined? :hogeable # => false Hoge.private_method_defined? :private_hogeable # => true Hoge.private_method_defined? :hoge # => false Hoge.private_method_defined? :private_hoge # => true Hoge.private_method_defined? 'private_hoge' # => true ChildHoge.private_method_defined? :private_hogeable # => true ChildHoge.private_method_defined? :private_hoge # => true Hogeable.private_method_defined? :private_hogeable # => true