Bootylicious

 view release on metacpan or  search on metacpan

lib/Bootylicious/Comment.pm  view on Meta::CPAN

    my %params = @_;

    foreach my $method (qw/author email url content/) {
        $self->$method($params{$method}) if defined $params{$method};
    }

    return $self;
}

sub created {
    Bootylicious::Timestamp->new(epoch => stat(shift->path)->mtime);
}
sub email { shift->metadata(email => @_) }
sub url   { shift->metadata(url   =>) }

sub content { shift->inner(content => @_) }

sub number {
    my $self = shift;

    my $path = $self->path;

lib/Bootylicious/Document.pm  view on Meta::CPAN

    my $self = shift;
    my $path = shift;

    return unless -e $path;

    $self->path($path);

    return $self;
}

sub name     { shift->stat(name     => @_) }
sub format   { shift->stat(format   => @_) }
sub filename { shift->stat(filename => @_) }
sub created  { shift->stat(created  => @_) }
sub modified { shift->stat(modified => @_) }

sub author { shift->metadata(author => @_) }

sub content { shift->inner(content => @_) }

sub stat     { shift->_group(stat     => @_) }
sub metadata { shift->_group(metadata => @_) }
sub inner    { shift->_group(inner    => @_) }

sub _group {

lib/Bootylicious/DocumentStatLoader.pm  view on Meta::CPAN

    Carp::croak qq/Bad file $path/ unless $name && $format;

    my $filename = join '.' => $name, $format;

    my $created;
    if ($name =~ s/^($TIMESTAMP_RE)-//) {
        $created = Bootylicious::Timestamp->new(timestamp => $1)->epoch;
        return unless defined $created;
    }

    my $modified = stat($path)->mtime;
    $created ||= $modified;

    return {
        name     => $name,
        filename => $filename,
        format   => $format,
        created  => Bootylicious::Timestamp->new(epoch => $created),
        modified => Bootylicious::Timestamp->new(epoch => $modified)
    };
}

lib/Bootylicious/Plugin/PageCache.pm  view on Meta::CPAN


    return unless my $booty = $c->stash('booty');

    my $last_modified = $booty->modified->epoch;
    return unless $last_modified;

    my $path = _cache_path($c, $conf->{root});
    my $file = _cache_file($c, $path);
    return unless $file;

    if (-r $file && stat($file)->mtime >= $last_modified) {
        $c->app->log->debug('Serving cached version');
        return $c->render_static($path);
    }

    $c->stash(page_cache => 1);

    return;
}

sub _cache_response {



( run in 1.468 second using v1.01-cache-2.11-cpan-49f99fa48dc )