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 | |
4bbabfcf |
8 | #XXX HACK to satisfy the used roles requirements |
9 | # see Moose test 600_todo_tests/006_required_role_accessors.t |
d2739840 |
10 | sub _application {} |
11 | sub _controller {} |
12 | |
ebfdba9d |
13 | =attribute_private _application is: ro, isa: Object|ClassName, handles: Catalyst::Controller::DBIC::API::StoredResultSource |
d2739840 |
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); |
406086f3 |
36 | $self->_set_application($new->_application); |
d2739840 |
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 | |
d72e5927 |
43 | with 'Catalyst::Controller::DBIC::API::StoredResultSource', |
44 | 'Catalyst::Controller::DBIC::API::RequestArguments', |
45 | 'Catalyst::Controller::DBIC::API::Request::Context'; |
d2739840 |
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; |