code cleanups
[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
ebfdba9d 8#XXX HACK to satisfy the used roles requirements as long as roles don't support +attr
d2739840 9sub _application {}
10sub _controller {}
11
ebfdba9d 12=attribute_private _application is: ro, isa: Object|ClassName, handles: Catalyst::Controller::DBIC::API::StoredResultSource
d2739840 13
14This attribute helps bridge between the request guts and the application guts; allows request argument validation against the schema. This is set during L<Catalyst::Controller::DBIC::API/inflate_request>
15
16=cut
17
18has '_application' =>
19(
20 is => 'ro',
21 writer => '_set_application',
22 isa => Object|ClassName,
23);
24
25has '_controller' =>
26(
27 is => 'ro',
28 writer => '_set_controller',
29 isa => Object,
30 trigger => sub
31 {
32 my ($self, $new) = @_;
33
34 $self->_set_class($new->class) if defined($new->class);
406086f3 35 $self->_set_application($new->_application);
d2739840 36 $self->_set_prefetch_allows($new->prefetch_allows);
37 $self->_set_search_exposes($new->search_exposes);
38 $self->_set_select_exposes($new->select_exposes);
39 }
40);
41
d72e5927 42with 'Catalyst::Controller::DBIC::API::StoredResultSource',
43 'Catalyst::Controller::DBIC::API::RequestArguments',
44 'Catalyst::Controller::DBIC::API::Request::Context';
d2739840 45
46=head1 DESCRIPTION
47
48Please see L<Catalyst::Controller::DBIC::API::RequestArguments> and L<Catalyst::Controller::DBIC::API::Request::Context> for the details of this class, as both of those roles are consumed in this role.
49
50=cut
51
521;