Catalyst::Plugin::Config::Multi - Catalyst Config Plugin using L<Config::Multi>


Catalyst-Plugin-Config-Multi documentation Contained in the Catalyst-Plugin-Config-Multi distribution.

Index


Code Index:

NAME

Top

Catalyst::Plugin::Config::Multi - Catalyst Config Plugin using Config::Multi

SYNOPSIS

Top

 package TestApp;

 use strict;
 use warnings;

 use Catalyst::Runtime '5.7008';

 use Catalyst qw/Config::Multi/;

 our $VERSION = '0.01';

 __PACKAGE__->config(
     'Plugin::Config::Multi' => { 
         dir => __PACKAGE__->path_to('./../conf'), 
         prefix => 'web', # optional
         app_name => 'testapp',
     },
 );

 __PACKAGE__->setup;

 1;

DESCRIPTION

Top

This module load multiple config file using Config::Multi. This module is useful when your have multiple catalyst applications or CLI interface and want to share your config files.

METHODS

Top

setup

SEE ALSO

Top

Config::Multi

AUTHOR

Top

Tomohiro Teranishi <tomohiro.teranishi@gmail.com>

THANKS

Top

woremacx

vkgtaro

COPYRIGHT

Top

LICENSE

Top

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Catalyst-Plugin-Config-Multi documentation Contained in the Catalyst-Plugin-Config-Multi distribution.

package Catalyst::Plugin::Config::Multi;

use strict;
use warnings;
use Config::Multi;
use NEXT;

our $VERSION ='0.02';

sub setup {
    my $c = shift;
    my %config = %{$c->config()->{'Plugin::Config::Multi'}} ;
    my $cm = Config::Multi->new( \%config );
    my $config = $cm->load();
    if( $c->debug ) {
        for my $file (  @{$cm->files} ) {
            $c->log->debug( 'Load Config ' . $file );
        }
    }
    $c->config( $config ) ;
    $c->NEXT::setup( @_ );
}

1;