Catalyst Introducing Catalyst #12

Page Class

sub new_revision {
    my ($self, $author, $text) = @_;
    my $date = time;
    my $name = "$date-$author";

    my $encoded = Encode::encode('utf8', $text);

    write_file($self->storage->file($name)->stringify, $encoded) 
      or confess "Failed to write $name";

    $self->_unshift_revision($name);

    return KitiWiki::Backend::Wiki::Page::Revision->new(
        storage  => $self->storage,
        filename => $name,
        author   => $author,
        date     => $date,
    );
}
""