Jonathan Swartz > Catalyst-View-Mason2 > Catalyst::View::Mason2

Download:
Catalyst-View-Mason2-0.03.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  1
View/Report Bugs
Module Version: 0.03   Source  

NAME ^

Catalyst::View::Mason2 - Mason 2.x view class

VERSION ^

version 0.03

SYNOPSIS ^

    # use the helper
    script/create.pl view Mason2 Mason2

    # lib/MyApp/View/Mason2.pm
    package MyApp::View::Mason2;
    use base 'Catalyst::View::Mason2';
    __PACKAGE__->config(
        # insert Mason parameters here
    );

    1;

    # in a controller
    package MyApp::Controller::Foo;
    sub bar : Local {
        ...
        $c->stash->{name} = 'Homer';
        $c->stash->{template} = 'foo/bar';   # .mc is automatically added
    }

    # in root/comps/foo/bar.mc
    <%args>
    $.name
    </%args>

    Hello <% $.name %>! Your URI was <% $c->req->uri %>.

DESCRIPTION ^

Allows you to use Mason 2.x for your views.

VIEW CONFIGURATION ^

mason_root_class

Class to use for creating the Mason object. Defaults to 'Mason'.

MASON CONSTRUCTOR ^

Other than any special mentioned keys above, the configuration for this view will be passed directly into Mason->new.

There are a few defaults specific to this view:

comp_root

If not provided, defaults $c->path_to('root', 'comps').

data_dir

If not provided, defaults $c->path_to('data').

allow_globals

Automatically includes $c.

All other defaults are standard Mason.

GLOBALS ^

All components have access to $c, the current Catalyst context.

METHODS ^

process ($c)

Renders the component specified in $c->stash->{template} or, if not specified, $c->action.

The component path is prefixed with a '/' if it does not already have one, and Mason will automatically add a ".mc" extension - to change the latter, you can use

    __PACKAGE__->config(
        autoextend_request_path => 0
    );

Request arguments are taken from $c->stash.

render ($c, $path, \%args)

Renders the component $path with \%args, and returns the output.

AUTHOR ^

Jonathan Swartz <swartz@pobox.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2011 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: