Catalyst進化してる

結局学校の画題を作るのにCatalystを使うことにした。で、かなりひさしぶりにCatalyst触ったんだけどなにかと強力になってるね。以下は現在CPAN最新の5.7001の話。

Viewのレンダリング

昔のCatalystだと自分でRoot.pmのendアクションにViewにフォワードするように書かないとダメだった。

sub end : Private {
    my ( $self, $c ) = @_;
    $c->forward('MyApp::View::TT') unless $c->response->body;
}

という風。しかし、今のバージョンだと、

sub end : ActionClass('RenderView') {}

とするだけで、よかれと思われるViewにforwardしてくれて、かなり簡単になった。Using RenderView for the Default Viewにつらつらと説明されてる。Viewのレンダーの説明からされているのがCool。

TTSiteヘルパー

Viewをヘルパーで作るときに、

$ script/myapp_create.pl view TT TTSite

とすると。Viewクラスだけじゃなくてレイアウト用のttやらcssやらをごそっと作ってくれる。Ruby on Railsのlayoutと同じような機能が実現される感じ。自分で作るttでもの中だけ書けば良いのでらくちんらくちん。Create a Catalyst View Using TTSITEを参照した。
ていうか、これがあるだけですぐにそれっぽい見た目になるので、とりあえず課題提出が迫っている身としては助かるというか(ぉ。

急いで作ってるのでじっくり調べられてないんだけど、けっこう強化されていたんだなぁ。最近あんまりCatalystな記事を見ないけど、どういう扱いなんかな。もうわりとプロダクションコードで使われてたり?