Version 2.008001
[catagits/Catalyst-Controller-DBIC-API.git] / lib / Catalyst / Controller / DBIC / API / Request.pm
CommitLineData
d2739840 1package Catalyst::Controller::DBIC::API::Request;
2
3#ABSTRACT: Provides a role to be applied to the Request object
4use Moose::Role;
d2739840 5use MooseX::Types::Moose(':all');
6use namespace::autoclean;
7
4bbabfcf 8#XXX HACK to satisfy the used roles requirements
8ea592cb 9# see Moose test todo_tests/required_role_accessors.t
10sub _application { }
11sub _controller { }
d2739840 12
c0c8e1c6 13=attribute_private _application
d2739840 14
c0c8e1c6 15This attribute helps bridge between the request guts and the application guts;
16allows request argument validation against the schema. This is set during
17L<Catalyst::Controller::DBIC::API/inflate_request>.
d2739840 18
19=cut
20
8ea592cb 21has '_application' => (
22 is => 'ro',
d2739840 23 writer => '_set_application',
8ea592cb 24 isa => Object | ClassName,
d2739840 25);
26
8ea592cb 27has '_controller' => (
28 is => 'ro',
29 writer => '_set_controller',
30 isa => Object,
31 trigger => sub {
32 my ( $self, $new ) = @_;
33
34 $self->_set_class( $new->class ) if defined( $new->class );
35 $self->_set_application( $new->_application );
36 $self->_set_search_exposes( $new->search_exposes );
37 $self->_set_select_exposes( $new->select_exposes );
4e5983f2 38 },
39 handles => ['prefetch_validator'],
d2739840 40);
41
d72e5927 42with 'Catalyst::Controller::DBIC::API::StoredResultSource',
8ea592cb 43 'Catalyst::Controller::DBIC::API::RequestArguments',
44 'Catalyst::Controller::DBIC::API::Request::Context';
d2739840 45
46=head1 DESCRIPTION
47
c0c8e1c6 48Please see L<Catalyst::Controller::DBIC::API::RequestArguments> and
49L<Catalyst::Controller::DBIC::API::Request::Context> for the details of this
50class, as both of those roles are consumed in this role.
d2739840 51
52=cut
53
541;