Revision history for Perl extension Catalyst::Model::DBIC::Schema
+ - add POD for PerRequestSchema trait
+
0.56 2011-10-22 15:34:59
- add PerRequestSchema trait (t0m)
package Catalyst::TraitFor::Model::DBIC::Schema::PerRequestSchema;
+
use Moose::Role;
use namespace::autoclean;
with 'Catalyst::Component::InstancePerContext';
+=head1 NAME
+
+Catalyst::TraitFor::Model::DBIC::Schema::PerRequestSchema - Clone the schema
+with attributes for each requests
+
+=head1 SYNOPSIS
+
+ __PACKAGE__->config({
+ traits => ['PerRequestSchema'],
+ });
+
+ method per_request_schema_attributes($c) {
+ return (restricting_object => $c->user->obj);
+ }
+
+=head1 DESCRIPTION
+
+Clones the schema for each new request with the attributes retrieved from your
+C<per_request_schema_attributes> method, which you must implement. This method
+is passed the context.
+
+=cut
+
sub build_per_context_instance {
my ( $self, $ctx ) = @_;
return $self unless blessed($ctx);
__PACKAGE__->meta->make_immutable;
+=head1 SEE ALSO
+
+L<Catalyst::Model::DBIC::Schema>, L<DBIx::Class::Schema>
+
+=head1 AUTHOR
+
+See L<Catalyst::Model::DBIC::Schema/AUTHOR> and
+L<Catalyst::Model::DBIC::Schema/CONTRIBUTORS>.
+
+=head1 COPYRIGHT
+
+See L<Catalyst::Model::DBIC::Schema/COPYRIGHT>.
+
+=head1 LICENSE
+
+This program is free software, you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=cut
+
+1;