1package Toader::Render::Entry::backends::html; 2 3use warnings; 4use strict; 5use base 'Error::Helper'; 6 7=head1 NAME 8 9Toader::Render::Entry::backends::html - This handles the html backend stuff for Toader::Render::Entry. 10 11=head1 VERSION 12 13Version 0.1.0 14 15=cut 16 17our $VERSION = '0.1.0'; 18 19=head1 SYNOPSIS 20 21 use Toader::Render::Entry::backends::html; 22 23 my $renderer=Toader::Render::Directory::backends::html->new({ toader=>$toader, obj=>$entryObj }); 24 my $rendered; 25 if ( $renderer->error ){ 26 warn( 'Error:'.$renderer->error.': '.$renderer->errorString ); 27 }else{ 28 $rendered=$renderer->render($torender); 29 } 30 31While this will error etc, this module is basically a pass through as HTML the native. 32 33=head1 METHODS 34 35=head2 new 36 37This initiates the object. 38 39=head3 args hash ref 40 41=head4 obj 42 43This is the L<Toader::Entry> object to render. 44 45=head4 toader 46 47This is the L<Toader> object to use. 48 49 my $foo=Toader::Render::Entry::backends::html->new(\%args); 50 if($foo->error){ 51 warn('error: '.$foo->error.":".$foo->errorString); 52 } 53 54=cut 55 56sub new{ 57 my %args; 58 if(defined($_[1])){ 59 %args= %{$_[1]}; 60 }; 61 62 my $self={ 63 error=>undef, 64 errorString=>'', 65 perror=>undef, 66 errorExtra=>{ 67 flags=>{ 68 1=>'noObj', 69 2=>'noToaderObj', 70 3=>'objPerror', 71 4=>'toaderPerror', 72 5=>'noDirSet', 73 6=>'nothingToRender', 74 }, 75 }, 76 }; 77 bless $self; 78 79 #make sure we have a Toader::Entry object. 80 if ( ! defined( $args{obj} ) ){ 81 $self->{perror}=1; 82 $self->{error}=1; 83 $self->{errorString}='Nothing defined for the Toader::Directory object'; 84 $self->warn; 85 return $self; 86 } 87 if ( ref( $args{obj} ) ne 'Toader::Entry' ){ 88 $self->{perror}=1; 89 $self->{error}=1; 90 $self->{errorString}='The specified object is not a Toader::Entry object, but a "'. 91 ref( $args{obj} ).'"'; 92 $self->warn; 93 return $self; 94 } 95 $self->{obj}=$args{obj}; 96 97 #make sure the object does not have a permanent error set 98 if( ! $self->{obj}->errorblank ){ 99 $self->{perror}=1; 100 $self->{error}=3; 101 $self->{errorString}='The Toader::Entry object has a permanent error set'; 102 $self->warn; 103 return $self; 104 } 105 106 #make sure a Toader object is given 107 if ( ! defined( $args{toader} ) ){ 108 $self->{perror}=1; 109 $self->{error}=2; 110 $self->{errorString}='Nothing defined for the Toader object'; 111 $self->warn; 112 return $self; 113 } 114 if ( ref( $args{toader} ) ne 'Toader' ){ 115 $self->{perror}=1; 116 $self->{error}=2; 117 $self->{errorString}='The specified object is not a Toader object, but a "'. 118 ref( $args{toader} ).'"'; 119 $self->warn; 120 return $self; 121 } 122 $self->{toader}=$args{toader}; 123 124 #make sure the Toader object does not have a permanent error set 125 if( ! $self->{toader}->errorblank ){ 126 $self->{perror}=1; 127 $self->{error}=4; 128 $self->{errorString}='The Toader object has an permanent error set'; 129 $self->warn; 130 return $self; 131 } 132 133 #make sure a directory is set 134 if( ! defined( $self->{obj}->dirGet ) ){ 135 $self->{perror}=1; 136 $self->{error}=5; 137 $self->{errorString}='The Toader::Entry object does not have a directory set'; 138 $self->warn; 139 return $self; 140 } 141 142 return $self; 143} 144 145=head2 render 146 147This renders the object. 148 149No arguments are taken. 150 151=cut 152 153sub render{ 154 my $self=$_[0]; 155 my $torender=$_[1]; 156 157 if ( ! $self->errorblank ){ 158 return undef; 159 } 160 161 if ( !defined( $torender ) ){ 162 $self->{error}=6; 163 $self->{errorString}='Nothing to render specified'; 164 $self->warn; 165 return undef; 166 } 167 168 169 170 return $torender; 171} 172 173=head1 ERROR CODES 174 175=head2 1, noObj 176 177No L<Toader::Entry> object specified. 178 179=head2 2, noToaderObj 180 181No L<Toader> object specified. 182 183=head2 3, objPerror 184 185The L<Toader::Entry> object has a permanent error set. 186 187=head2 4, toaderPerror 188 189The L<Toader> object has a permanent error set. 190 191=head2 5, noDirSet 192 193The L<Toader::Entry> object does not have a directory set. 194 195=head2 6, nothingToRender 196 197Nothing specified to render. 198 199=head1 AUTHOR 200 201Zane C. Bowers-Hadley, C<< <vvelox at vvelox.net> >> 202 203=head1 BUGS 204 205Please report any bugs or feature requests to C<bug-toader at rt.cpan.org>, or through 206the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Toader>. I will be notified, and then you'll 207automatically be notified of progress on your bug as I make changes. 208 209=head1 SUPPORT 210 211You can find documentation for this module with the perldoc command. 212 213 perldoc Toader::Render::Entry::backends::html 214 215 216You can also look for information at: 217 218=over 4 219 220=item * RT: CPAN's request tracker 221 222L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Toader> 223 224=item * AnnoCPAN: Annotated CPAN documentation 225 226L<http://annocpan.org/dist/Toader> 227 228=item * CPAN Ratings 229 230L<http://cpanratings.perl.org/d/Toader> 231 232=item * Search CPAN 233 234L<http://search.cpan.org/dist/Toader/> 235 236=back 237 238 239=head1 ACKNOWLEDGEMENTS 240 241 242=head1 LICENSE AND COPYRIGHT 243 244Copyright 2013. Zane C. Bowers-Hadley. 245 246This program is free software; you can redistribute it and/or modify it 247under the terms of either: the GNU General Public License as published 248by the Free Software Foundation; or the Artistic License. 249 250See http://dev.perl.org/licenses/ for more information. 251 252 253=cut 254 2551; # End of Toader::Render::Entry::backends::html 256