パーフェクトRuby見てたら、出来そうだなーと思ったのでやってみました。
本当はガードオブジェクト作りたい。
def hoge trace = TracePoint.new(:return, :raise) do |tp| next if tp.method_id != :hoge # io.closeなど、ここにhoge()が終わったら実行したい処理を書く trace.disable end trace.enable # なんかそれっぽい処理 end hoge()
TracePoint面白い。
http://docs.ruby-lang.org/ja/2.1.0/class/TracePoint.html