NAME
Mojolicious::Plugin::Config - Perl-ish configuration plugin
SYNOPSIS
# myapp.conf
{
foo => "bar",
music_dir => app->home->rel_dir('music')
};
# Mojolicious
my $config = $self->plugin('Config');
# Mojolicious::Lite
my $config = plugin 'Config';
# Reads myapp.conf by default and puts the parsed version into the stash
my $config = $self->stash('config');
# Everything can be customized with options
my $config = plugin Config => {
file => '/etc/myapp.stuff',
stash_key => 'conf'
};
DESCRIPTION
Mojolicious::Plugin::Config is a Perl-ish configuration plugin. The application object can be accessed via the app
helper. You can extend the normal config file myapp.conf
with mode
specific ones like myapp.$mode.conf
.
OPTIONS
Mojolicious::Plugin::Config supports the following options.
default
# Mojolicious::Lite
plugin Config => {default => {foo => 'bar'}};
Default configuration.
ext
# Mojolicious::Lite
plugin Config => {ext => 'stuff'};
File extension of config file, defaults to conf
.
file
# Mojolicious::Lite
plugin Config => {file => 'myapp.conf'};
plugin Config => {file => '/etc/foo.stuff'};
Configuration file, defaults to the value of the MOJO_CONFIG
environment variable or myapp.conf
in the application home directory.
stash_key
# Mojolicious::Lite
plugin Config => {stash_key => 'conf'};
Configuration stash key.
HELPERS
Mojolicious::Plugin::Config implements the following helpers.
config
%= config 'something'
%= config->{something}
Access config values.
METHODS
Mojolicious::Plugin::Config inherits all methods from Mojolicious::Plugin and implements the following new ones.
load
$plugin->load($file, $conf, $app);
Loads config file and passes the content to parse
.
sub load {
my ($self, $file, $conf, $app) = @_;
...
return $self->parse($content, $file, $conf, $app);
}
parse
$plugin->parse($content, $file, $conf, $app);
Parse config file.
sub parse {
my ($self, $content, $file, $conf, $app) = @_;
...
return $hash;
}
register
$plugin->register;
Register plugin in Mojolicious application.
DEBUGGING
You can set the MOJO_CONFIG_DEBUG
environment variable to get some advanced diagnostics information printed to STDERR
.
MOJO_CONFIG_DEBUG=1