Railsのモデルなど、各ファイルのメソッドの調査をirbで行いたかったので、以下のようなスクリプトを作成した。
methods = []
File.foreach("foo.rb") { |line|
methods << line.chomp.gsub(/^\s*def\s/, '').gsub(/\(.+\)/, '') if /^\s*def\s/ =~ line
}
趣旨からは外れるがアプリの挙動をコンソールで確認できるのであれば、クラスメソッドとインスタンスメソッドを分けるのは以下でできる。
instance_methods = Foo.instance_methods(false)
private_instance_methods = Foo.private_instance_methods(false)
class_methods = Foo.methods(false)
private_class_methods = Foo.private_methods(false)