The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Catalyst::View::HTML::Mason - HTML::Mason rendering for Catalyst

VERSION

version 0.01

SYNOPSIS

    package MyApp::View::Mason;

    use Moose;
    use namespace::autoclean;

    extends 'Catalyst::View::HTML::Mason';

    __PACKAGE__->config(
        interp_args => {
            comp_root => MyApp->path_to('root'),
        },
    );

    1;

DESCRIPTION

This module provides rendering of HTML::Mason templates for Catalyst applications.

It's basically a rewrite of Catalyst::View::Mason, which became increasingly hard to maintain over time, while keeping backward compatibility.

ATTRIBUTES

interp

The mason interpreter instance responsible for rendering templates.

interp_class

The class the interp instance is constructed from. Defaults to HTML::Mason::Interp.

interp_args

Arguments to be passed to the construction of interp. Defaults to an empty hash reference.

template_extension

File extension to be appended to every component file. By default it's only appended if no explicit component file has been provided in $ctx->stash->{template}.

always_append_template_extension

If this is set to a true value, template_extension will also be appended to component paths provided in $ctx->stash->{template}.

encoding

Encode Mason output with the given encoding. Can be a string encoding name (which will be resolved using Encode::find_encoding()), or an Encode::Encoding object. See Encode::Supported for a list of encodings.

globals

Arrayref of string names to export into each rendered component. Off by default.

Example:

  globals => [qw[ $foo %bar ]]

Would export $foo and %bar to every Mason component as globals using identically-named values in the stash, similar to:

   our $foo = $c->stash->{foo};
   our %bar = %{ $c->stash->{bar} };

To export the context as $c, one would set globals => ['$c'] and make sure to set $c->stash->{c} = $c on each request, such as in an auto in the root controller.

AUTHORS

Florian Ragwitz <rafl@debian.org> Sebastian Willert <willert@cpan.org> Robert Buels <rbuels@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Florian Ragwitz.

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