++ed by:
STAUGAARD

1 PAUSE user
2 non-PAUSE users.

Tomohiro Teranishi
and 1 contributors

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.