Catalyst::Model::Factory::PerRequest - use a plain class as a Catalyst model,


Catalyst-Model-Adaptor documentation Contained in the Catalyst-Model-Adaptor distribution.

Index


Code Index:

NAME

Top

Catalyst::Model::Factory::PerRequest - use a plain class as a Catalyst model, instantiating it once per Catalyst request

SYNOPSIS

Top

This module works just like Catalyst::Model::Factory, except that a fresh instance of your adapted class is once per Catalyst request, not every time you ask for the object via $c->model.

CUSTOMIZING

Top

You can customize your subclass just like Catalyst::Model::Adaptor. Instead of $app, though, you'll get $c, the current request context.

METHODS

Top

These methods are called by Catalyst, not by you:

COMPONENT

Load your class

ACCEPT_CONTEXT

Create an instance of your class and return it.

SEE ALSO

Top

For all the critical documentation, see Catalyst::Model::Adaptor.


Catalyst-Model-Adaptor documentation Contained in the Catalyst-Model-Adaptor distribution.

package Catalyst::Model::Factory::PerRequest;
use strict;
use warnings;
use MRO::Compat;

use base 'Catalyst::Model::Factory';

our $VERSION = '0.10';

sub ACCEPT_CONTEXT {
    my ($self, $context, @args) = @_;
    my $id = '__'. ref $self;
    return $context->stash->{$id} ||= $self->next::method($context, @args);
}

1;
__END__