module::starter::plugin::template(3pm) [debian man page]
Module::Starter::Plugin::Template(3pm) User Contributed Perl Documentation Module::Starter::Plugin::Template(3pm)NAME
Module::Starter::Plugin::Template - module starter with templates
VERSION
Version 1.58
SYNOPSIS
use Module::Starter qw(
Module::Starter::Simple
Module::Starter::Plugin::Template
);
Module::Starter->create_distro(%args);
DESCRIPTION
This plugin is designed to be added to a Module::Starter::Simple-compatible Module::Starter class. It adds stub methods for template
retrieval and rendering, and it replaces all of Simple's _guts methods with methods that will retrieve and render the apropriate templates.
CLASS METHODS
"new(%args)"
This plugin calls the "new" supermethod and then initializes the template store and renderer. (See "templates" and "renderer" below.)
OBJECT METHODS
"templates()"
This method is used to initialize the template store on the Module::Starter object. It returns a hash of templates; each key is a filename
and each value is the body of the template. The filename Module.pm is used for the module template.
"renderer()"
This method is used to initialize the template renderer. Its result is stored in the object's "renderer" entry. The implementation will
determine its use.
"render($template, \%options)"
The "render" method will render the template passed to it, using the data in the Module::Starter object and in the hash of passed
parameters.
_guts methods
All of the "FILE_guts" methods from Module::Starter::Simple are subclassed to look something like this:
sub file_guts {
my $self = shift;
my %options;
@options{qw(first second third)} = @_;
my $template = $self->{templates}{filename};
$self->render($template, \%options);
}
These methods will need to be rewritten when (as is likely) Module::Starter::Simple's _guts methods are refactored into a registry.
module_guts
Makefile_PL_guts
MI_Makefile_PL_guts
Build_PL_guts
Changes_guts
README_guts
t_guts
MANIFEST_guts
item ignores_guts
AUTHOR
Ricardo SIGNES, "<rjbs at cpan.org>"
Bugs
Please report any bugs or feature requests to "bug-module-starter at rt.cpan.org", or through the web interface at <http://rt.cpan.org>. I
will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT
Copyright 2005-2007 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.
perl v5.12.4 2011-07-02 Module::Starter::Plugin::Template(3pm)
Check Out this Related Man Page
Module::Starter::Simple(3pm) User Contributed Perl Documentation Module::Starter::Simple(3pm)NAME
Module::Starter::Simple - a simple, comprehensive Module::Starter plugin
VERSION
Version 1.58
SYNOPSIS
use Module::Starter qw(Module::Starter::Simple);
Module::Starter->create_distro(%args);
DESCRIPTION
Module::Starter::Simple is a plugin for Module::Starter that will perform all the work needed to create a distribution. Given the
parameters detailed in Module::Starter, it will create content, create directories, and populate the directories with the required files.
CLASS METHODS
"new(%args)"
This method is called to construct and initialize a new Module::Starter object. It is never called by the end user, only internally by
"create_distro", which creates ephemeral Module::Starter objects. It's documented only to call it to the attention of subclass authors.
OBJECT METHODS
All the methods documented below are object methods, meant to be called internally by the ephemeral objects created during the execution of
the class method "create_distro" above.
postprocess_config
A hook to do any work after the configuration is initially processed.
pre_create_distro
A hook to do any work right before the distro is created.
"create_distro(%args)"
This method works as advertised in Module::Starter.
post_create_distro
A hook to do any work after creating the distribution.
pre_exit
A hook to do any work right before exit time.
create_basedir
Creates the base directory for the distribution. If the directory already exists, and $force is true, then the existing directory will get
erased.
If the directory can't be created, or re-created, it dies.
create_modules( @modules )
This method will create a starter module file for each module named in @modules.
module_guts( $module, $rtname )
This method returns the text which should serve as the contents for the named module. $rtname is the email suffix which rt.cpan.org will
use for bug reports. (This should, and will, be moved out of the parameters for this method eventually.)
create_Makefile_PL( $main_module )
This will create the Makefile.PL for the distribution, and will use the module named in $main_module as the main module of the
distribution.
create_MI_Makefile_PL( $main_module )
This will create a Module::Install Makefile.PL for the distribution, and will use the module named in $main_module as the main module of
the distribution.
Makefile_PL_guts( $main_module, $main_pm_file )
This method is called by create_Makefile_PL and returns text used to populate Makefile.PL; $main_pm_file is the filename of the
distribution's main module, $main_module.
MI_Makefile_PL_guts( $main_module, $main_pm_file )
This method is called by create_MI_Makefile_PL and returns text used to populate Makefile.PL; $main_pm_file is the filename of the
distribution's main module, $main_module.
create_Build_PL( $main_module )
This will create the Build.PL for the distribution, and will use the module named in $main_module as the main module of the distribution.
Build_PL_guts( $main_module, $main_pm_file )
This method is called by create_Build_PL and returns text used to populate Build.PL; $main_pm_file is the filename of the distribution's
main module, $main_module.
create_Changes( )
This method creates a skeletal Changes file.
Changes_guts
Called by create_Changes, this method returns content for the Changes file.
create_README( $build_instructions )
This method creates the distribution's README file.
README_guts
Called by create_README, this method returns content for the README file.
create_t( @modules )
This method creates a bunch of *.t files. @modules is a list of all modules in the distribution.
t_guts( @modules )
This method is called by create_t, and returns a description of the *.t files to be created.
The return value is a hash of test files to create. Each key is a filename and each value is the contents of that file.
create_MB_MANIFEST
This methods creates a MANIFEST file using Module::Build's methods.
create_MI_MANIFEST
This method creates a MANIFEST file using Module::Install's methods.
Currently runs ExtUtils::MakeMaker's methods.
create_EUMM_MANIFEST
This method creates a MANIFEST file using ExtUtils::MakeMaker's methods.
create_MANIFEST( $method )
This method creates the distribution's MANIFEST file. It must be run last, because all the other create_* functions have been returning
the functions they create.
It receives a method to run in order to create the MANIFEST file. That way it can create a MANIFEST file according to the builder used.
get_builders( )
This methods gets the correct builder(s).
It is called by "create_build", and returns an arrayref with the builders.
create_build( )
This method creates the build file(s) and puts together some build instructions. The builders currently supported are:
ExtUtils::MakeMaker Module::Build Module::Install
create_ignores()
This creates an ignore.txt file for use as MANIFEST.SKIP, .cvsignore, .gitignore, or whatever you use.
ignores_guts()
Called by "create_ignores", this method returns the contents of the ignore.txt file.
HELPER METHODS
verbose
"verbose" tells us whether we're in verbose mode.
create_file( $fname, @content_lines )
Creates $fname, dumps @content_lines in it, and closes it. Dies on any error.
progress( @list )
"progress" prints the given progress message if we're in verbose mode.
filter_lines_in_file( $filename, @compiled_regexes )
"filter_lines_in_file" goes over a file and removes lines with the received regexes.
For example, removing t/boilerplate.t in the MANIFEST.
BUGS
Please report any bugs or feature requests to "bug-module-starter at rt.cpan.org", or through the web interface at <http://rt.cpan.org>. I
will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
AUTHOR
Sawyer X, "<xsawyerx@cpan.org>"
Andy Lester, "<andy@petdance.com>"
C.J. Adams-Collier, "<cjac@colliertech.org>"
Copyright & License
Copyright 2005-2009 Andy Lester and C.J. Adams-Collier, All Rights Reserved.
Copyright 2010 Sawyer X, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Please note that these modules are not products of or supported by the employers of the various contributors to the code.
perl v5.12.4 2011-07-02 Module::Starter::Simple(3pm)