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 |
8ea592cb |
9 | # see Moose test todo_tests/required_role_accessors.t |
10 | sub _application { } |
11 | sub _controller { } |
d2739840 |
12 | |
c0c8e1c6 |
13 | =attribute_private _application |
d2739840 |
14 | |
c0c8e1c6 |
15 | This attribute helps bridge between the request guts and the application guts; |
16 | allows request argument validation against the schema. This is set during |
17 | L<Catalyst::Controller::DBIC::API/inflate_request>. |
d2739840 |
18 | |
19 | =cut |
20 | |
8ea592cb |
21 | has '_application' => ( |
22 | is => 'ro', |
d2739840 |
23 | writer => '_set_application', |
8ea592cb |
24 | isa => Object | ClassName, |
d2739840 |
25 | ); |
26 | |
8ea592cb |
27 | has '_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 |
42 | with '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 |
48 | Please see L<Catalyst::Controller::DBIC::API::RequestArguments> and |
49 | L<Catalyst::Controller::DBIC::API::Request::Context> for the details of this |
50 | class, as both of those roles are consumed in this role. |
d2739840 |
51 | |
52 | =cut |
53 | |
54 | 1; |