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

NAME

Toader::Entry - This holds a blog/article/whatever entry.

VERSION

Version 1.0.0

SYNOPSIS

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

NEW METHODS

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

new

This creates the a object that represents a entry.

One argument is taken and it s a hash reference.

args hash

renderer

This is the rendering engine the body should use.

If not defined, html will be used.

body

This is the body.

title

This is the title of the entry.

from

This is the from address to use.

publish

If it should be published or not.

The default value is '1'.

summary

This is a summary of the entry.

tags

This is a Text::Tags parsable string for the tags.

files

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

toader

This is a Toader object.

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

newFromString

This creates a new entry from a string.

Two argument are accepted. The first is the entry string and the second is a Toader object.

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

GENERAL METHODS

as_string

This returns the entry 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.

This will return undef if no directory has been 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.

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

entryNameGet

This gets Toader directory this entry is associated with.

This will only error if a permanent error is set.

This will return undef if no entry name has been set.

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

entryNameSet

This sets Toader directory this entry is associated with.

One argument is taken and it is the Toader directory to set it to. If none is specified it will be generated.

    $foo->entryNameSet($entryName);
    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);
    }

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.

    $foo->publishSet($publish);
    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);
    }

titleGet

This returns the title.

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

titleSet

This sets the title.

One argument is taken and it is the title.

    $foo->titleSet($title);
    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);
    }

tagsGet

Returns a array of tags tags.

The returned value is an array.

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

tagsGetAsString

This returns the tags as a string.

As long as this object has initiated with out issue, then there is no need to do error checking for this method.

    my $tagsString=$foo->tagsGetAsString;

tagsSet

This sets the tags.

One value is taken and that is the a array reference.

    $foo->tagsSet( \@tags );
    if ( $foo->error ){
        warn('Error:'.$foo->error.': '.$foo->errorString);
    }

tagsSetFromString

This sets the tags.

One value is taken and that is a Text::Tags parsable string. A value of undef will blank the tags.

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

write

This writes the entry out to a file.

This requires a Toader directory to have been specified.

        $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 directory that will return the directory that contains where this object should be rendered to.

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

ERROR CODES

1, noNameSpecified

No name specified.

2, emailMIMEerror

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, invalidEntryName

Not a valid entry name.

10. notAtoaderDir

The specified directory is not a Toader directory.

11, noDirSpecified

No directory specified.

12, noDirSet

No directory has been set yet.

13, noLongerAtoaderDir

The directory is no longer a Toader directory. It looks like it has been removed.

14, noEntryDir

The entries directory did not exist and was not able to create it.

15, noSummarySpecified

No summary specified.

16, noEntryNameSet

No entry name has been set.

17, dirDNEorNAD

The directory does not exist or is a not a directory.

18, noFileSpecified

No file specified.

19, publishValError

Invalid publish value. It is not a recognized boolean value of either "0" or "1".

20, getVCSerrored

Toader->getVCS errored.

21, VCSusableErrored

Toader::VCS->usable errored.

22, underVCSerrored

Toader::VCS->underVCS errored.

23, VCSaddErrored

Toader::VCS->add errored.

24, notAtoaderObj

The specified object is not a Toader object.

25, noToaderObj

Nothing passed for a Toader object.

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

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2013 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.