MooX::ConfigFromFile::Role::HashMergeLoaded - allows better merge strategies for
multiple config files
package MyApp::Cmd::TPau;
use DBI;
use Moo;
use MooX::Cmd with_configfromfile => 1;
with "MooX::ConfigFromFile::Role::HashMergeLoaded";
has csv => (is => "ro", required => 1);
sub execute
{
my $self = shift;
DBI->connect("DBI::csv:", undef, undef, $self->csv);
}
__END__
$ cat etc/myapp.json
{
"csv": {
"f_ext": ".csv/r",
"csv_sep_char": ";",
"csv_class": "Text::CSV_XS"
}
}
$cat etc/myapp-tpau.json
{
"csv": {
"f_dir": "data/tpau"
}
}
This is an additional role for MooX::ConfigFromFile to allow better merging of
deep structures.
This attribute contains the behavior which will config_merger use to merge
particular loaded configurations.
This attribute contains the instance of Hash::Merge used to merge the
raw_loaded_config into loaded_config.
This role modifies the builder for loaded_config by merging the items
from raw_loaded_config in order of appearance. It is assumed that more
relevant config files are in front and are filled up with defaults in
following ones.
Jens Rehsack, "<rehsack at cpan.org>"
Copyright 2015-2018 Jens Rehsack.
This program is free software; you can redistribute it and/or
modify it under the terms of either: the GNU General Public License as
published by the Free Software Foundation; or the Artistic License.
See <http://dev.perl.org/licenses/> for more
information.