Mojolicious-Plugin-ConfigSimple
===============================
A Mojolicious wrapper around Config::Simple and Config::Simple::Extended
With much appreciation to the helpful folks on the #mojo channel,
especially: sri, batman, marcus, crab and buu; each of whom helped
walk me back from dead-ends on the way here and apologies to anyone
I missed in these acknowledgements; I offer for your consideration:
https://github.com/hesco/Mojolicious-Plugin-ConfigSimple
http://search.cpan.org/~hesco/Mojolicious-Plugin-ConfigSimple-0.01/
<-- PAUSE coming soon, url unconfirmed, still waiting on the indexer
NAME
Mojolicious::Plugin::ConfigSimple - Config::Simple::Extended
VERSION
Version 0.04
my $version = &Mojolicious::Plugin::ConfigSimple::version; will return
the currently installed version numbers for the key dependent modules.
SYNOPSIS
# Mojolicious
my $ini = '/etc/myapp/config.ini';
my ($config, $cfg) = $self->plugin('ConfigSimple' => { config_files => [ $ini ] } );
# Mojolicious::Lite
my ($config, $cfg) = $plugin 'ConfigSimple' => { config_file => $ini };
DESCRIPTION
Mojolicious::Plugin::ConfigSimple is a Mojolicious plugin. It is a very
simple wrapper around Config::Simple::Extended, which in turn wraps
Config::Simple. Those two modules fully document their uses and
interfaces and you are encouraged to review their perldoc to learn more.
But a quick summary is available below. If you prefer the more idiomatic
Mojo tradition of an $app->config->{'data_structure'} to the object
oriented interface provided by the returned $cfg object, say for
instance to support hypnotoad, then by all means. The non-object data
structure is returned if invoked in scalar context.
METHODS
Mojolicious::Plugin::ConfigSimple inherits all methods from
Mojolicious::Plugin and implements the following new ones.
register
$plugin->register(Mojolicious->new, { config_files => [ $ini ] });
Register plugin in Mojolicious application.
Once that has been invoked in the ->starter() method of your
application, you should then be able to invoke all of the methdos of
Config::Simple and Config::Simple::Extended from anywhere in your
application to access and manipulate your configuration.
The plugin's constructor recognized only two keys. It requires one or
the other, if both are provided, config_file wins. config_file requires
a scalar value. config_files requires an arrayref value.
If you pass the wrong data type or fail to pass one of the recognized
keys, then the plugin dies with an informative error message.
Try these:
my $debug = $cfg->param("default.debug");
my $db_connection_credentials = $cfg->get_block( 'db' );
my %cfg = $cfg->vars;
If this plugin is registered in scalar context, it returns
\%{$cfg->vars}, providing the data structure traditionally provided by
$app->config in a Mojolicious environment.
SEE ALSO
Mojolicious, Mojolicious::Guides, <
http://mojolicio.us>.
AUTHOR & COPYRIGHT
Copyright 2013
Hugh Esco <
[email protected]>
Released under the Gnu Public License v2, copy included