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

NAME

Toader::Page - This provides methods for a named page.

VERSION

Version 1.0.0

SYNOPSIS

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

NEW METHODS

If any of the new methods error, the error is permanent.

new

This creates the a object that represents a page.

Two arguments are taken. The first is a hash reference that is documented below.

args hash

renderer

This is the rendering engine the body should use.

If not defined, html will be used.

body

This is the body.

name

This is the short name of the page.

from

This is the from address to use.

files

This is a list of files that will be made available with this page.

publish

Wether or not to publish it or not. This is a boolean value and uses "0" and "1".

If not specified, it uses "1".

toader

This is a Toader object.

    my $foo = Toader::isaToaderDir->new(\%args);
    if ($foo->error){
       warn('Error:'.$foo->error.': '.$foo->errorString);
    }

newFromString

This creates a new page from a string.

There are two required arguments, the first being a string containing the page in question and the second being Toader object.

    my $foo=Toader::Page->newFromString($pageString, $toader);
    if($foo->error){
        warn('Error:'.$foo->error.': '.$foo->errorString);
    }

GENERAL METHODS

as_string

This returns the page as a string.

    my $mimeString=$foo->as_string;
    if($foo->error)
        warn('Error:'.$foo->error.': '.$foo->errorString);
    }

bodyGet

This gets body.

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

bodySet

This sets the body.

One argument is required and it is the body.

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

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);
    }

fromGet

This returns the from.

    my $from=$foo->fromGet;
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

fromSet

This sets the from.

One argument is taken and it is the name.

    $foo->fromSet($name);
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

nameGet

This returns the name.

    my $name=$foo->nameGet;
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

nameSet

This sets the short name.

One argument is taken and it is the name.

    $foo->nameSet($name);
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

publishGet

This returns the publish value.

    my $publish=$foo->publishGet;
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

publishSet

This sets the publish value.

One argument is taken and it is the publish value.

If no value is set, it uses the default, "1".

It must be a recognized boolean value, either "0" or "1".

    $foo->publishSet($publish);
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

rendererGet

This returns the renderer type.

    my $renderer=$foo->rendererGet;
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

rendererSet

This sets the renderer type.

One argument is taken and it is the render type.

A value of undef sets it to the default, 'html'.

    my $renderer=$foo->rendererGet;
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

subpartsAdd

This adds a new file as a subpart.

One argument is required and it is the path to the file.

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

subpartsExtract

This extracts the subparts of a entry.

One argument is extracted, it is the directory to extract the files to.

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

subpartsGet

This returns the results from the subparts methods from the internal Email::MIME object.

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

subpartsList

This returns a list filenames for the subparts.

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

subpartsRemove

This removes the specified subpart.

One argument is required and it is the name of the file to remove.

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

summaryGet

This returns the summary.

    my $summary=$foo->summaryGet;
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

summarySet

This sets the summary.

One argument is taken and it is the summary.

    $foo->summarySet($summary);
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

write

This saves the page file. It requires dirSet to have been called previously.

    $foo->write;
    if($foo->error){
        warn('error: '.$foo->error.":".$foo->errorString);
    }

REQUIRED RENDERING METHODS

filesDir

This returns the file directory for the object.

This is not a full path, but a partial path that should be appended the directory current directory being outputted to.

locationID

This returns the location ID.

This one requires the object to be initialized.

renderDir

This is the directory that it will be rendered to.

The base directory that will be used for rendering.

renderUsing

This returns the module to use for rendering.

    my $module=$foo->renderUsing;

toaderRenderable

This method returns true and marks it as being Toader renderable.

toDir

This returns the relative path to the object.

This is not a full path, but a partial path that should be appended the directory current directory being outputted to.

ERROR CODES/FLAGS

1, noPageName

No name specified.

2, emailMIMEcreationFailed

Unable to create Email::MIME object.

3, notAnArray

Has files specified, but the passed object is not a array.

4, fileDoesNotExist

The file does not exist or is not a file.

5, MIMEinfoError

File::MimeInfo->mimetype returned undef, meaning the file does not exist or is not readable.

6, unableToOpenFile

Unable to open the file.

7, emailMIMEerror

Unable to create a Email::MIME object for one of the parts/files.

8, noBody

No body defined.

9, notAtoaderDir

Not a Toader directory.

10, noLonderAtoaderDir

No longer appears to be a Toader directory.

11, noDirSet

No directory has been specified.

12, pagesDirCreationFailed

The pages directory could not be created.

13, publishValError

The publish value is not a recognized boolean value.

Only '0' and '1' is recognized.

14, notAtoaderObj

The specified object is not a Toader object.

15, getVCSerrored

Toader->getVCS errored.

16, VCSusableErrored

Toader::VCS->usable errored.

17, underVCSerror

Toader::VCS->underVCS errored.

18, VCSaddErrored

Toader::VCS->add errored.

19, noToaderObj

No Toader object specified.

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::Page

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.