initial commit with working tests, docs, and conversion to dzil+podweaver
[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;
5use MooseX::Aliases;
6use MooseX::Types::Moose(':all');
7use namespace::autoclean;
8
9#XXX HACK
10sub _application {}
11sub _controller {}
12
13=attribute_private _application is: ro, isa: Object, handles: Catalyst::Controller::DBIC::API::StoredResultSource
14
15This 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
19has '_application' =>
20(
21 is => 'ro',
22 writer => '_set_application',
23 isa => Object|ClassName,
24);
25
26has '_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
43with 'Catalyst::Controller::DBIC::API::StoredResultSource';
44with 'Catalyst::Controller::DBIC::API::RequestArguments';
45with 'Catalyst::Controller::DBIC::API::Request::Context';
46
47=head1 DESCRIPTION
48
49Please 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
531;