Ruby

Rubyでクラスで使えるメソッドの一覧を取得する方法

e.g.:
CSVで使用可能なメソッド配列 – CSV以外でも使えるメソッド配列 = CSVでのみ使用可能なメソッド配列


require_relative '../lib/requrie'
# require 'csv'
# require 'yaml'

def original_methods(target_class="CSV")
eval %(@target_class_methods=#{target_class}.methods)
@target_class_ancestors=['Module','Class','Object','Kernel','BasicObject']
@target_class_ancestors.each {|ancestor|
  eval %(@target_class_methods-=#{ancestor}.methods)
}
return @target_class_methods
end

puts original_methods("YAML")

issue
メソッド名が被っていると一緒に消えるので完璧ではない。取り急ぎ。