NAME
    Catalyst::View::Mason - Mason View Class

SYNOPSIS
        # use the helper
        script/create.pl view Mason Mason

        # lib/MyApp/View/Mason.pm
        package MyApp::View::Mason;

        use base 'Catalyst::View::Mason';

        __PACKAGE__->config(use_match => 0);

        1;

        $c->forward('MyApp::View::Mason');

DESCRIPTION
    Want to use a Mason component in your views? No problem!
    Catalyst::View::Mason comes to the rescue.

EXAMPLE
    From the Catalyst controller:

        $c->stash->{name} = 'Homer'; # Pass a scalar
        $c->stash->{extra_info} = {
                   last_name => 'Simpson',
                   children => [qw(Bart Lisa Maggie)]
        }; # A ref works too

    From the Mason template:

        <%args>
        $name
        $extra_info
        </%args>
        <p>Your name is <strong><% $name %> <% $extra_info->{last_name} %></strong>
        <p>Your children are:
        <ul>
        % foreach my $child (@{$extra_info->{children}}) {
        <li>$child
        % }
        </ul>

METHODS
  new($c, \%config)
  process
    Renders the component specified in $c->stash->{template} or
    $c->request->match or $c->action (depending on the use_match setting) to
    $c->response->body.

    Note that the component name must be absolute, or is converted to
    absolute (i.e., a / is added to the beginning if it doesn't start with
    one).

    Mason global variables $base, $c, and $name are automatically set to the
    base, context, and name of the app, respectively.

  render($c, $component_path, \%args)
    Renders the given template and returns output, or a
    HTML::Mason::Exception object upon error.

    The template variables are set to %$args if $args is a hashref, or
    $c->stash otherwise.

   config
    This allows you to to pass additional settings to the
    HTML::Mason::Interp constructor or to set the options as below:

    "template_extension"
        This string is appended (if present) to "$c->action" when generating
        a template path.

        Example: "template_extension => '.html'"

    "use_match"
        Use "$c->request->match" instead of "$c->action" to determine which
        template to use if "$c->stash->{template}" isn't set. This option is
        deprecated and exists for backward compatibility only.

        Currently defaults to 1, to avoid breaking older code, but new code
        should always set this to 0.

    The default HTML::Mason::Interp config options are as follows:

    "comp_root"
        "$c->config->root"

    "data_dir"
        "File::Spec->tmpdir"

    "allow_globals"
        "qw/$c $name $base/"

        If you add additional allowed globals those will be appended to the
        list of default globals.

SEE ALSO
    Catalyst, HTML::Mason, "Using Mason from a Standalone Script" in
    HTML::Mason::Admin

AUTHORS
    Andres Kievsky "ank@cpan.org"
    Sebastian Riedel "sri@cpan.org"
    Marcus Ramberg
    Florian Ragwitz "rafl@debian.org"

COPYRIGHT
    This program is free software, you can redistribute it and/or modify it
    under the same terms as Perl itself.

