Rubyはメタプログラミングがかなり柔軟に
使える言語です。U^^U
実行中にクラスへメソッドを追加したり
methodmissing で動的に処理を作ったり
definemethod でメソッドを生成したりと
コードそのものを操作するような書き方が
自然にできます。
Railsのようなフレームワークが「書いてない
のに動く」ように見えるのも、この仕組みを
うまく活用しているからで、Rubyの特徴として
よく挙げられる部分です。
慣れると便利ですが、やりすぎると読みづらく
なるので、使いどころがポイントになります。