NAME
Dist::Zilla::Role::PluginLoader - A Plugin that can load others.
VERSION
version 0.001001
WARNINGS
STOP
You probably don't want to use this module. You either want a
@PluginBundle, or "PluginLoader::Configurable"
WHEN YOU WANT THIS MODULE
* You don't want a plugin bundle
* You want something harder to understand for people who use your
plugin.
* You *EXPRESSLY* wish to hide the loaded modules from things like
"Dist::Zilla::App::Command::bakeini"
* You are loading a single, or handful of modules, all of which are
*BLATANTLY* obvious *DIRECTLY* in "dist.ini", except with some
special loading semantics.
ADVICE
* Do make consuming plugins have to declare the loaded plugin somehow
* Do make consuming plugins able to directly configure the loaded
plugin somehow
* If at all possible, load at most, one plugin.
* If at all possible, and you are loading only one plugin, use
"PluginLoader::Configurable"
* If you have read this far, and you still are considering using this
Role, please contact me, "kentnl" on "#distzilla@irc.perl.org", and
let me convince you not to.
SYNOPSIS
use Moose;
with 'Dist::Zilla::Role::Plugin', 'Dist::Zilla::Role::PluginLoader';
sub load_plugins {
my ( $self, $loader ) = @_;
# Load raw config
$loader->load ( 'GatherDir', 'GatherDir-for-FooPlugin', [ include_dotfiles => 1, key => value, ... ]);
# Load using ini style input
$loader->load_ini( 'GatherDir', 'GatherDir2-for-FooPlugin', [ 'include_dotfiles = 1', 'key = value', ... ]);
}
REQUIRES METHODS
"load_plugins"
Signature:
void < load_plugins( $self, $loader );
$loader isa Dist::Zilla::Util::PluginLoader;
See "Dist::Zilla::Util::PluginLoader" for details.
"plugin_from_config"
Signature:
$object < plugin_from_config( $class, $plugin_name, $args, $section )
$object does Dist::Zilla::Role::Plugin
$class does Dist::Zilla::Role::Plugin
$plugin_name is Str
$args is HashRef
$section isa Config::MVP::Section
Recommended Provider:
with 'Dist::Zilla::Role::Plugin';
"Dist::Zilla::Role::Plugin"
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.