-
-
05 Sep 2020 21:22:00 UTC
- Distribution: Module-Starter
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues
- Testers (1643 / 3 / 0)
- Kwalitee
Bus factor: 2- 85.51% Coverage
- License: perl_5
- Perl: v5.6.1
- Activity
24 month- Tools
- Download (58.91KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 25 contributors-
Andy Lester
-
Brendan Byrd
-
Brian Manning
-
Chas. J. Owens IV
-
cjcollier
-
Colin Ewen
-
Dan Book
-
David Pottage
-
David.Pottage
-
David Steinbrunner
-
Diab Jerius
-
Guillermo O. Freschi
-
hobbestigrou
-
Ivan Bessarabov
-
Karen Etheridge
-
MartinMcGrath
-
Pedro Figueiredo
-
petdance
-
Richard Poole
-
rsignes
-
sawyer
-
Sawyer X
-
Shlomi Fish
-
xdaveg
-
xsawyerx
NAME
Module::Starter::Plugin -- how Module::Starter plugins work
VERSION
version 1.77
DESCRIPTION
This document is a guide to writing plugins for Module::Starter. Currently, as is evident, it isn't very comprehensive. It should provide enough information for writing effective plugins, though. After all, Module::Starter's guts are nice and simple.
Module::Starter->import
Module::Starter provides an import method, the arguments to which are plugins, in the order in which they should be loaded. If no plugins are given, Module::Starter::Simple (and only Module::Starter::Simple) is loaded.
By default, the given modules are required and arranged in an is-a chain. That is, Module::Starter subclasses the last plugin given, which subclasses the second-to-last, up to the first plugin given, which is the base class. If a plugin provides a
load_plugins
method, however, the remaining plugins to be loaded are passed to that method, which is responsible for loading the rest of the plugins.This architecture suggests two kinds of plugins:
engine plugins
An engine is a plugin that stands alone, implementing the public
create_distro
method and all the functionality required to carry out that implementation. The only engine included with Module::Starter is Module::Starter::Simple, and I'm not sure any more will be seen in the wild any time soon.plain old plugins
Other plugins are designed to subclass an engine and alter its behavior, just as a normal subclass alters its parent class's. These plugins may add features to Module::Starter engines, or may just provide general APIs for other plugins to exploit (like Module::Starter::Plugin::Template.)
The template plugin is a simple example of a plugin that alters an engine to accept further plugins. Other plugins like template will probably be written in the near future, and plugins that exploit the API provided by Module::Starter::Plugin::Template will be available on the CPAN.
AUTHOR
Ricardo SIGNES
<rjbs at cpan.org>
COPYRIGHT
Copyright 2005, Ricardo SIGNES. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Module Install Instructions
To install Module::Starter, copy and paste the appropriate command in to your terminal.
cpanm Module::Starter
perl -MCPAN -e shell install Module::Starter
For more information on module installation, please visit the detailed CPAN module installation guide.