Why not adopt me?
NAME
Dist::Zilla::Util::ExpandINI - Read an INI file and expand bundles as you go.
VERSION
version 0.001002
SYNOPSIS
# Write a dist.ini with a bundle anywhere you like
my $string = <<"EOF";
name = Foo
version = 1.000
[@Some::Author]
EOF;
path('dist.ini.meta')->spew( $string );
# Generate a copy with bundles inlined.
use Dist::Zilla::Util::ExpandINI;
Dist::Zilla::Util::ExpandINI->filter_file( 'dist.ini.meta' => 'dist.ini' );
# Hurrah, dist.ini has all the things!
DESCRIPTION
This module builds upon the previous work :Util::BundleInfo
( Which can extract configuration from a bundle in a manner similar to how dzil
does it ) and integrates it with some very minimal INI
handling to provide a tool capable of generating bundle-free dist.ini
files from bundle-using dist.ini
files!
At present its very naïve and only keeps semantic ordering, and I've probably gotten something wrong due to cutting the complexity of Config::MVP out of the loop.
But at this stage, bundles are the only thing modified in transit.
Every thing else is practically a token-level copy-paste.
METHODS
filter_file
# $source , $dest
Dist::Zilla::Util::ExpandINI->filter_file('source.ini','target.ini');
Reads $source
, performs expansions, and emits $dest
filter_handle
Dist::Zilla::Util::ExpandINI->filter_handle($reader,$writer);
Reads $reader
, performs expansions, and emits to $writer
filter_string
my $return = Dist::Zilla::Util::ExpandINI->filter_string($source);
Decodes $source
, performs expansions, and returns expanded source.
AUTHOR
Kent Fredric <kentfredric@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Kent Fredric <kentfredric@gmail.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.