NAME

Dist::Zilla::Util::BundleInfo - Load and interpret a bundle

VERSION

version 1.001005

SYNOPSIS

use Dist::Zilla::Util::BundleInfo;

# [@RJBS]
# -myparam = foo
# param = bar
# param = quux
#
my $info = Dist::Zilla::Util::BundleInfo->new(
  bundle_name => '@RJBS',
  bundle_payload => [
    '-myparam' => 'foo',
    'param'    => 'bar',
    'param'    => 'quux'
  ]
);
for my $plugin ( $info->plugins ) {
  print $plugin->to_dist_ini; # emit each plugin in order in dist.ini format.
}

METHODS

plugins

Returns a list of ::BundleInfo::Plugin instances representing the configuration data for each section returned by the bundle.

ATTRIBUTES

bundle_name

The name of the bundle to get info from

->new( bundle_name => '@RJBS' )
->new( bundle_name => 'Dist::Zilla::PluginBundle::RJBS' )

bundle_dz_name

The name to pass to the bundle in the name parameter.

This is synonymous to the value of Foo in

[@Bundle / Foo]

bundle_payload

The parameter list to pass to the bundle.

This is synonymous with the properties passed in dist.ini

{
  foo => 'bar',
  quux => 'do',
  multivalue => [ 'a' , 'b', 'c' ]
}

==

[
  'foo' => 'bar',
  'quux' => 'do',
  'multivalue' => 'a',
  'multivalue' => 'b',
  'multivalue' => 'c',
]

==

foo = bar
quux = do
multivalue = a
multivalue = b
multivalue = c

PRIVATE FUNCTIONS

_coerce_bundle_name

_coerce_bundle_name('@Foo') # Dist::Zilla::PluginBundle::Foo

_isa_bundle

_isa_bundle('Foo::Bar::Baz') # fatals if Foo::Bar::Baz can't do ->bundle_config

AUTHOR

Kent Fredric <kentnl@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 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.