NAME

Kelp::Module::Config::General - Config::General as config module for your Kelp applications.

SYNOPSIS

# app.psgi
use MyApp;
my $app = MyApp->new( config_module => 'Config::General' );
$app->run;

DESCRIPTION

This module provides support of Config::General as your Kelp::Module::Config module.

Config::General module is loaded with following configuration options:

-ForceArray      => 1,
-IncludeAgain    => 1,
-InterPolateVars => 1,
-IncludeRelative => 1,

Because Config::General provides key/value interface you are not able to create array of arrays for your default Kelp::Module::Logger configuration. This module does it for you but only in this situation.

Example:

modules = [ Logger ]

<modules_init Logger>
  <outputs Screen>
     name      debug
     min_level debug
     newline   1
     binmode   :encoding(UTF-8)
  </outputs>
  <outputs Screen>
     name      error
     min_level error
     newline   1
     stderr    1
     binmode   :encoding(UTF-8)
  </outputs>
</modules_init>

becomes:

{
    modules => [ 'Logger' ],
},
{
    modules_init => {
        Logger => [
            [
                'Screen',
                name      => 'debug',
                min_level => 'debug',
                newline   => 1
                binmode   => ':encoding(UTF-8)'
            ], [
                'Screen',
                name      => 'error',
                min_level => 'error',
                newline   => 1,
                stderr    => 1,
                binmode   => ':encoding(UTF-8)'
            ]
        ],
    }
}

AUTHOR

Konstantin Yakunin <twinhooker@gmail.com>

COPYRIGHT

Copyright 2017- Konstantin Yakunin

LICENSE

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

SEE ALSO