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; |
5 | use MooseX::Aliases; |
6 | use MooseX::Types::Moose(':all'); |
7 | use namespace::autoclean; |
8 | |
9 | #XXX HACK |
10 | sub _application {} |
11 | sub _controller {} |
12 | |
13 | =attribute_private _application is: ro, isa: Object, handles: Catalyst::Controller::DBIC::API::StoredResultSource |
14 | |
15 | 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> |
16 | |
17 | =cut |
18 | |
19 | has '_application' => |
20 | ( |
21 | is => 'ro', |
22 | writer => '_set_application', |
23 | isa => Object|ClassName, |
24 | ); |
25 | |
26 | has '_controller' => |
27 | ( |
28 | is => 'ro', |
29 | writer => '_set_controller', |
30 | isa => Object, |
31 | trigger => sub |
32 | { |
33 | my ($self, $new) = @_; |
34 | |
35 | $self->_set_class($new->class) if defined($new->class); |
36 | $self->_set_application($new->_application); |
37 | $self->_set_prefetch_allows($new->prefetch_allows); |
38 | $self->_set_search_exposes($new->search_exposes); |
39 | $self->_set_select_exposes($new->select_exposes); |
40 | } |
41 | ); |
42 | |
43 | with 'Catalyst::Controller::DBIC::API::StoredResultSource'; |
44 | with 'Catalyst::Controller::DBIC::API::RequestArguments'; |
45 | with 'Catalyst::Controller::DBIC::API::Request::Context'; |
46 | |
47 | =head1 DESCRIPTION |
48 | |
49 | 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. |
50 | |
51 | =cut |
52 | |
53 | 1; |