Commit | Line | Data |
d2739840 |
1 | package Catalyst::Controller::DBIC::API::Request; |
2 | |
3 | #ABSTRACT: Provides a role to be applied to the Request object |
4 | use Moose::Role; |
d2739840 |
5 | use MooseX::Types::Moose(':all'); |
6 | use namespace::autoclean; |
7 | |
ebfdba9d |
8 | #XXX HACK to satisfy the used roles requirements as long as roles don't support +attr |
d2739840 |
9 | sub _application {} |
10 | sub _controller {} |
11 | |
ebfdba9d |
12 | =attribute_private _application is: ro, isa: Object|ClassName, handles: Catalyst::Controller::DBIC::API::StoredResultSource |
d2739840 |
13 | |
14 | This 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 | |
18 | has '_application' => |
19 | ( |
20 | is => 'ro', |
21 | writer => '_set_application', |
22 | isa => Object|ClassName, |
23 | ); |
24 | |
25 | has '_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 | |
42 | with 'Catalyst::Controller::DBIC::API::StoredResultSource'; |
43 | with 'Catalyst::Controller::DBIC::API::RequestArguments'; |
44 | with 'Catalyst::Controller::DBIC::API::Request::Context'; |
45 | |
46 | =head1 DESCRIPTION |
47 | |
48 | Please 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 | |
52 | 1; |