Catalyst-実行ディレクトリをプロジェクトのHOMEに移動するプラグイン
Catalystで作ったWebアプリをApacheにデプロイする際、テンプレートのINCLUDE_PATHとかを環境に合わせて変更しなければいけないのがいやで、実行ディレクトリをプロジェクトのHOMEに移動するプラグインを作った。
sub setup { my $c = shift; chdir "$FindBin::Bin/../" or Catalyst::Exception->throw(message => __PACKAGE__ . qq/: failed to change directory./); $c->NEXT::setup(@_); }
これだけのことなのだが、cgiスクリプトの中でやらずにわざわざプラグインを作ったのは、FormValidator::Simple::Auto とかのsetupよりも先に実行したかった(yamlファイルのパスをプロジェクトHOMEからの相対で書きたい)から。
もっと*まっとうな*方法があるのかもしれないが・・・