日付フィルタ
ここみたいに Path が /2005/12/27 とかからはじまっていた場合、それを日付情報としてパースし、それ以降の Path とともに default コントローラを呼ぶには
sub day : Regex('^(\d{4})/([01]?\d)/([0-3]?\d)(?:/(.*))?') {
my ( $self, $c ) = @_;
( $c->stash->{yr}, $c->stash->{mo}, $c->stash->{da} )
= @{ $c->req->snippets };
$c->forward( '/default', [ split '/', $c->req->snippets->[-1] ] );
}
sub month : Regex('^(\d{4})/([01]?\d)(?:/(.*))?') {
my ( $self, $c ) = @_;
( $c->stash->{yr}, $c->stash->{mo} ) = @{ $c->req->snippets };
$c->forward( '/default', [ split '/', $c->req->snippets->[-1] ] );
}
sub year : Regex('^(\d{4})(?:/(.*))?') {
my ( $self, $c ) = @_;
( $c->stash->{yr} ) = @{ $c->req->snippets };
$c->forward( '/default', [ split '/', $c->req->snippets->[-1] ] );
}
とかしなくちゃいけなくて(思い付かなくて) DRY すぎるのでなんとかしたい。
がんばればまとめられそうだけど、ううむ。
つか関係ないけど Regex コントローラはマッチした部分がコントローラの引数で飛んでくるって感じならいいのに。