The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

VERSION

version 1.001003

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 <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.