Ricardo SIGNES > Dist-Zilla-5.019 > Dist::Zilla::Role::PluginBundle::Easy

Download:
Dist-Zilla-5.019.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 5.019   Source  

NAME ^

Dist::Zilla::Role::PluginBundle::Easy - something that bundles a bunch of plugins easily

VERSION ^

version 5.019

SYNOPSIS ^

  package Dist::Zilla::PluginBundle::Example;
  use Moose;
  with 'Dist::Zilla::Role::PluginBundle::Easy';

  sub configure {
    my $self = shift;

    $self->add_plugins('VersionFromModule');
    $self->add_bundle('Basic');
  }

DESCRIPTION ^

This role builds upon the PluginBundle role, adding methods to take most of the grunt work out of creating a bundle. It supplies the bundle_config method for you. In exchange, you must supply a configure method, which will store the bundle's configuration in the plugins attribute by calling add_plugins and/or add_bundle.

ATTRIBUTES ^

name

This is the bundle name, taken from the Section passed to bundle_config.

payload

This hashref contains the bundle's parameters (if any), taken from the Section passed to bundle_config.

plugins

This arrayref contains the configuration that will be returned by bundle_config. You normally modify this by using the add_plugins and add_bundle methods.

METHODS ^

add_plugins

  $self->add_plugins('Plugin1', [ Plugin2 => \%plugin2config ])

Use this method to add plugins to your bundle.

It is passed a list of plugin specifiers, which can be one of a few things:

In the case of an arrayref, both $plugin_name and \%plugin_config are optional.

The plugins are added to the config in the order given.

add_bundle

  $self->add_bundle(BundleName => \%bundle_config)

Use this method to add all the plugins from another bundle to your bundle. If you omit %bundle_config, an empty hashref will be supplied.

config_slice

  $hash_ref = $self->config_slice(arg1, { arg2 => 'plugin_arg2' })

Use this method to extract parameters from your bundle's payload so that you can pass them to a plugin or subsidiary bundle. It supports easy renaming of parameters, since a plugin may expect a parameter name that's too generic to be suitable for a bundle.

Each arg is either a key in payload, or a hashref that maps keys in payload to keys in the hash being constructed. If any specified key does not exist in payload, then it is omitted from the result.

AUTHOR ^

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2014 by Ricardo SIGNES.

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

syntax highlighting: