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あれば使う気になるんだけどなぁ。。