Scroll to navigation

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.77

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 appropriate 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.

AUTHOR

Ricardo SIGNES, "<rjbs at cpan.org>"

Bugs

Please report any bugs or feature requests to the bugtracker for this project on GitHub at: <https://github.com/xsawyerx/module-starter/issues>. 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.

2020-09-08 perl v5.30.3