The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

version 1.001000

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.