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

use strict;
use warnings;

use parent 'Yote::Obj';

sub _init {
    my $self = shift;
    $self->set__pages( [] );
} #_init

sub fetch_page {
    my( $self, $url ) = @_;
    my $node = $self->_hash_fetch( '_pages', $url );
    my $file_loc = "$ENV{YOTE_ROOT}/html/$url";
    if( -e $file_loc ) {
	
    }
    elsif( $node ) {
	
    }
    else {
	# 404
    }
} #fetch_page

1;

__END__


The idea is to have a page object that keeps track of versions of web
pages written to disc. This would allow versioned pages to be edited
using a web front end easily.

This would have a method to get a page. It would check to see if
the latest version it has in is newer or older than the one on disc.
if newer, the disc one is overwritten. if older, a new version is
created that becomes the current version.

so fields :

Yote::Page
     pages -> { pagename => Yote::Obj with {   current_version => Yote::Obj, versions => [ ... ] }

old versions should be able to be deleted.

methods :
   _fetch_page. Private.. an app is expected to call this.
   

=head1 NAME

Yote::Page

=head1 DESCRIPTION

Not yet used, a class for storing editable pages.

=head1 PUBLIC API METHODS

=over 4

=item fetch_page

=back

=head1 AUTHOR

Eric Wolf
coyocanid@gmail.com
http://madyote.com

=head1 LICENSE AND COPYRIGHT

Copyright (C) 2012 Eric Wolf

This module is free software; it can be used under the same terms as perl
itself.

=cut