Rubyでメタプロ
といえばsend,define_method,eval,method_missing,とかでしょうか。
sendはたまに使うのですが、sendと__send__って、なんなん?ってずっと思っていました。
send が再定義された場合に備えて別名 __send__ も 用意されており、ライブラリではこちらを使うべきです。
instance method Object#__send__ (Ruby 2.1.0)
sendって名前のメソッドを作っちゃったときのためだったんですね。。。