Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kentnl/dist-zilla-util-bundleinfo

Load and interpret a bundle
https://github.com/kentnl/dist-zilla-util-bundleinfo

dist-zilla perl

Last synced: about 2 months ago
JSON representation

Load and interpret a bundle

Awesome Lists containing this project

README

        

# NAME

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

# VERSION

version 1.001006

# 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`](https://metacpan.org/pod/Dist::Zilla::Util::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

# COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Kent Fredric .

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.