Bootylicious
view release on metacpan or search on metacpan
bootylicious view on Meta::CPAN
$validator->field($comment_name)->required(1);
return $self->render('article', article => $article)
unless $self->validate($validator);
my $comment_params = $validator->values;
$comment_params->{content} = delete $comment_params->{$comment_name};
my $comment = $article->comment(%$comment_params);
return $self->redirect_to($self->href_to_article($article)
->fragment('comment-' . $comment->number));
} => 'comment';
get '/comments' => sub {
my $self = shift;
return $self->reply->not_found unless $self->comments_enabled;
$self->render_smart;
} => 'comments';
lib/Bootylicious/Plugin/BootyHelpers.pm view on Meta::CPAN
return $self->link_to($href => $cb || sub { $article->title });
}
);
$app->helper(
link_to_full_content => sub {
my $self = shift;
my ($article, $preview_link) = @_;
my $href = $self->href_to_article($article);
$href->fragment('cut');
return $self->link_to($href => sub {$preview_link});
}
);
$app->helper(
link_to_tag => sub {
my $self = shift;
my $tag = shift;
my $name = ref $tag ? $tag->name : $tag;
lib/Bootylicious/Plugin/BootyHelpers.pm view on Meta::CPAN
@_
);
}
);
$app->helper(
href_to_comments => sub {
my $self = shift;
my $article = shift;
return $self->href_to_article($article)->fragment('comments');
}
);
$app->helper(
href_to_comment => sub {
my $self = shift;
my $comment = shift;
return $self->href_to_article($comment->article)
->fragment('comment-' . $comment->number);
}
);
$app->helper(
link_to_comment => sub {
my $self = shift;
my $comment = shift;
return $self->link_to($self->href_to_comment($comment) =>
sub { $comment->article->title });
lib/Bootylicious/Plugin/BootyHelpers.pm view on Meta::CPAN
);
$app->helper(
link_to_comments => sub {
my $self = shift;
my $article = shift;
my $href = $self->href_to_article($article);
return $self->link_to(
$href->fragment('comment-form') => sub {'No comments'})
unless $article->comments->size;
return $self->link_to($href->fragment('comments') =>
sub { 'Comments (' . $article->comments->size . ') '; });
}
);
$app->helper(
comments_enabled => sub {
shift->config('comments_enabled') ? 1 : 0;
}
);
}
( run in 0.950 second using v1.01-cache-2.11-cpan-364913b4093 )