確かにerubyだけで全部済まそうとすると読めたもんじゃないと思うけど、
データ処理のロジックの部分は普通のスクリプトで書いて表示部分だけerubyで書くと、
処理と出力の分離もできて一石二鳥だと思う。