NAME
Catalyst::Plugin::ConfigLoader::Multi - Catalyst Plugin for Multiple ConfigLoader
SYNOPSIS
package MyApp;
use strict;
use warnings;
use Catalyst::Runtime '5.70';
use Catalyst qw/-Debug ConfigLoader::Multi/;
our $VERSION = '0.01';
__PACKAGE__->config( name => 'MyApp' );
# Do not forget add this.
__PACKAGE__->config( 'Plugin::ConfigLoader' => { file => __PACKAGE__->path_to('conf') } );
__PACKAGE__->setup;
1;
Your directory
%tree
/Users/tomyhero/work/MyApp/
|-- Changes
|-- Makefile.PL
|-- README
|-- conf
| |-- my_app_local.yml
| |-- myapp.yml
| |-- myapp_bar.yml
| `-- myapp_foo.yml
|-- lib
| |-- MyApp
| | |-- Controller
| | | `-- Root.pm
| | |-- Model
| | `-- View
| `-- MyApp.pm
|-- root
|-- script
`-- t
DESCRIPTION
When a project is getting bigger and bigger , it is hard to organize a config file. So we create this plugin which divide a config file to multiple. Config files name must start your project prefix. such as 'myapp_' .
__PACKAGE__->config( 'Plugin::ConfigLoader' => { file => __PACKAGE__->path_to('conf') } );
Do not forget add this code to your MyApp.pm
METHOD
find_files
override from ConfigLoader
ENV
you can specify local file with this setting.( you must use local_sufix for the file name )
$ENV{MYAPP_CONFIG_MULTI} = '/tmp/foo/your_own_local.yaml'
SEE ALSO
Catalyst::Plugin::ConfigLoader
AUTHOR
Masahiro Funakoshi <masap@cpan.org>
Yu-suke Amano
Tomohiro Teranishi <tomohiro.teranishi@gmail.com>
COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.