started porting form building to templates
[blog.pm.git] / lib / Blog / Plugin / Helper / Post.pm
blobc64a4a63bf66839fc5470ba8bfe0e494ce5dbf7a
1 package Blog::Plugin::Helper::Post;
2 use strict;
4 use base 'Blog::Plugin::Helper::Base';
6 sub recent {
7 my ( $self, $limit ) = @_;
9 $limit ||= 10;
11 return $self->{ c }->model( 'Post' )->search(
12 select => [ qw/ id title / ],
13 sort_by => 'addtime DESC',
14 limit => $limit
18 sub newer {
19 my ( $self, $post ) = @_;
21 return unless ref $post;
23 my $addtime = $post->addtime;
24 my $newer_post = $self->{ c }->model( 'Post' )->search(
25 query => [ addtime => { gt => $addtime } ],
26 select => [ qw/ id title / ],
27 sort_by => 'addtime ASC',
28 limit => 1
31 return unless @$newer_post;
33 $newer_post = $newer_post->[ 0 ];
35 return { id => $newer_post->id, title => $newer_post->title };
38 sub older {
39 my ( $self, $post ) = @_;
41 return unless ref $post;
43 my $addtime = $post->addtime;
44 my $older_post = $self->{ c }->model( 'Post' )->search(
45 query => [ addtime => { lt => $addtime } ],
46 select => [ qw/ id title / ],
47 sort_by => 'addtime DESC',
48 limit => 1
51 return unless @$older_post;
53 $older_post = $older_post->[ 0 ];
55 return { id => $older_post->id, title => $older_post->title };