Catalyst設定をばらばらに書くのが嫌

これをすべて MyApp の config で行うには MyApp::(M|V|C)::Foo などというコンポーネントモジュールの new を以下のように定義してやれば良い。

sub new {
    my $self = shift;

    $self->config($_[-1]);
    $self->NEXT::new(@_);
}

このようにしておけば MyApp で

MyApp->config(
    'M::Foo' => {
        some => 'settings',
    },
);

などとすれば MyApp::M::Foo の設定を MyApp 内で行える。Config::YAML と併用すれば外部ファイルの使用もOK。

emacsにyaml-modeあれば使う気になるんだけどなぁ。。

by typester / at 2005-10-08T00:00:00 / catalyst · perl / Comments(0)