Jonathan Swartz > Mason-2.22 > Mason::Plugin::Defer

Download:
Mason-2.22.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  4
Open  1
View/Report Bugs
Module Version: 2.22   Source  

NAME ^

Mason::Plugin::Defer - Defer computing parts of output until the end of the request

SYNOPSIS ^

    <head>
    <title><% $m->defer(sub { $m->page->title }) %></title>

    % $.Defer {{
    %   my $content = join(", ", @{ $m->page->meta_content });
    <meta name="description" content="<% $content %>">
    % }}

    <body>
    ...

DESCRIPTION ^

The defer feature allows sections of output to be deferred til the end of the request. You can set up multiple deferred code blocks which will execute and insert themselves into the output stream at request end.

REQUEST METHOD ^

defer (code)

Returns a marker string that is unique and will not appear in normal output. At the end of the request, each marker string is replaced with the output of its associated code. e.g.

    <title><% $m->defer(sub { $m->page->title }) %></title>

FILTER ^

Defer

Applies $m->defer to the content block. e.g.

    % $.Defer {{
    %   my $content = join(", ", @{ $m->page->meta_content });
    <meta name="description" content="<% $content %>">
    % }}

SEE ALSO ^

Mason

AUTHOR ^

Jonathan Swartz <swartz@pobox.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2012 by Jonathan Swartz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: