1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
# Copyright (C) 2008-2010, Sebastian Riedel.
package Mojolicious::Plugin::DefaultHelpers;
use strict;
use warnings;
use base 'Mojolicious::Plugin';
require Data::Dumper;
# You're watching Futurama,
# the show that doesn't condone the cool crime of robbery.
sub register {
my ($self, $app) = @_;
# Add "content" helper
$app->renderer->add_helper(content => sub { shift->render_inner(@_) });
# Add "dumper" helper
$app->renderer->add_helper(
dumper => sub {
shift;
Data::Dumper->new([@_])->Maxdepth(2)->Indent(1)->Terse(1)->Dump;
}
);
# Add "extends" helper
$app->renderer->add_helper(extends => sub { shift->stash(extends => @_) }
);
# Add "flash" helper
$app->renderer->add_helper(flash => sub { shift->flash(@_) });
# Add "include" helper
$app->renderer->add_helper(include => sub { shift->render_partial(@_) });
# Add "layout" helper
$app->renderer->add_helper(layout => sub { shift->stash(layout => @_) });
# Add "param" helper
$app->renderer->add_helper(param =>
sub { wantarray ? (shift->param(@_)) : scalar shift->param(@_); });
# Add "session" helper
$app->renderer->add_helper(session => sub { shift->session(@_) });
# Add "stash" helper
$app->renderer->add_helper(stash => sub { shift->stash(@_) });
# Add "url_for" helper
$app->renderer->add_helper(url_for => sub { shift->url_for(@_) });
}
1;
__END__
=head1 NAME
Mojolicious::Plugin::DefaultHelpers - Default Helpers Plugin
=head1 SYNOPSIS
# Mojolicious
$self->plugin('default_helpers');
# Mojolicious::Lite
plugin 'default_helpers';
=head1 DESCRIPTION
L<Mojolicous::Plugin::DefaultHelpers> is a collection of renderer helpers for
L<Mojolicious>.
=head2 HELPERS
=over 4
=item content
Insert content into a layout template.
=item dumper
Dump a Perl data structure using L<Data::Dumper>.
=item extends
Extend a template.
=item flash
Access flash values.
=item include
Include a partial template.
=item layout
Render this template with a layout.
=item param
Access request parameters and routes captures.
=item session
Access session values.
=item stash
Access stash values.
=item url_for
Generate URLs.
=back
=head1 METHODS
L<Mojolicious::Plugin::DefaultHelpers> inherits all methods from
L<Mojolicious::Plugin> and implements the following new ones.
=head2 C<register>
$plugin->register;
Register helpers in L<Mojolicious> application.
=head1 SEE ALSO
L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicious.org>.
=cut
|