NAME
Mojolicious::Plugin::Config - Perlish 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
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 MOJO_CONFIG
or myapp.conf
in the application home directory.
stash_key
# Mojolicious::Lite
plugin config => {stash_key => 'conf'};
Configuration stash key.
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.