The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Toader::Templates - This handles fetching Toader templates.

VERSION

Version 0.0.0

SYNOPSIS

For information on the storage and rendering of entries, please see 'Documentation/Templates.pod'.

METHODS

new

args hash ref

dir

This is the directory to intiate in.

    my $foo = Toader::Templates->new();

dirGet

This gets Toader directory this entry is associated with.

This will only error if a permanent error is set.

    my $dir=$foo->dirGet;
    if($foo->error){
        warn('Error:'.$foo->error.': '.$foo->errorString);
    }

dirSet

This sets Toader directory this entry is associated with.

One argument is taken and it is the Toader directory to set it to.

    $foo->dirSet($toaderDirectory);
    if($foo->error){
        warn('Error:'.$foo->error.': '.$foo->errorString);
    }

fill_in

This fills in a template that has been passed to it.

Two arguments are taken. The first is the template name. The second is a hash reference.

The returned string is the filled out template.

    my $rendered=$foo->fill_in( $templateName, \%hash );
    if ( $foo->error ){
        warn( 'Error:'.$foo->error.': '.$foo->errorString );
    }

fill_in_string

This fills in a template that has been passed to it.

Two arguments are required and the first is the template string to use and second it is the hash to pass to it.

The returned string is the filled out template.

    my $rendered=$foo->fill_in_string( $templateString, \%hash );
    if ( $foo->error ){
        warn( 'Error:'.$foo->error.': '.$foo->errorString );
    }

findTemplate

This finds a specified template.

One arguement is taken and it is the name of the template.

A return of undef can mean either a error or it was not found. If there was an error, the method error will return true.

    my $templateFile=$foo->findTemplate($templateName);
    if( !defined( $templateFile ) ){
        if($foo->error){
            warn('Error:'.$foo->error.': '.$foo->errorString);
        }else{
            print("Not found\n");
        }
    }else{
        print $templateFile."\n";
    }

getTemplate

This finds a template and then returns it.

The method findTemplate will be used and if that fails the default template will be returned.

One arguement is required and it is the template name.

    my $template=$foo->getTemplate($templateName);
    if($foo->error){
        warn('Error:'.$foo->error.': '.$foo->errorString);
    }

listTemplates

This lists the various themes in the directory.

    my @templates=$foo->listTemplates;
    if($foo->error){
        warn('Error:'.$foo->error.': '.$foo->errorString);
    }

templateNameCheck

This makes sure checks to make sure a template name is valid.

    my $returned=$foo->templateNameCheck($name);
    if ($returned){
        print "Valid\n";
    }

ERROR CODES

1

The specified directory is not a Toader directory.

2

No directory has been specified yet.

3

The directory in question is no longer a toader directory.

4

Not a valid template name.

5

Unable to open the template file.

6

Unable to fetch the default template. It does not exist.

7

Errored filling out the template string.

8

Nothing specified for the template string.

AUTHOR

Zane C. Bowers-Hadley, <vvelox at vvelox.net>

BUGS

Please report any bugs or feature requests to bug-toader at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Toader. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Toader::Templates

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2011 Zane C. Bowers-Hadley.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.