Version 2.008001
[catagits/Catalyst-Controller-DBIC-API.git] / lib / Catalyst / Controller / DBIC / API / Request.pm
index 1361036..3470e92 100644 (file)
@@ -5,47 +5,49 @@ use Moose::Role;
 use MooseX::Types::Moose(':all');
 use namespace::autoclean;
 
-#XXX HACK to satisfy the used roles requirements as long as roles don't support +attr
-sub _application {}
-sub _controller {}
+#XXX HACK to satisfy the used roles requirements
+# see Moose test todo_tests/required_role_accessors.t
+sub _application { }
+sub _controller  { }
 
-=attribute_private _application is: ro, isa: Object|ClassName, handles: Catalyst::Controller::DBIC::API::StoredResultSource
+=attribute_private _application
 
-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>
+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>.
 
 =cut
 
-has '_application' =>
-(
-    is => 'ro',
+has '_application' => (
+    is     => 'ro',
     writer => '_set_application',
-    isa => Object|ClassName,
+    isa    => Object | ClassName,
 );
 
-has '_controller' =>
-(
-    is => 'ro',
-    writer => '_set_controller',
-    isa => Object,
-    trigger => sub
-    {
-        my ($self, $new) = @_;
-
-        $self->_set_class($new->class) if defined($new->class);
-        $self->_set_application($new->_application);
-        $self->_set_prefetch_allows($new->prefetch_allows);
-        $self->_set_search_exposes($new->search_exposes);
-        $self->_set_select_exposes($new->select_exposes);
-    }
+has '_controller' => (
+    is      => 'ro',
+    writer  => '_set_controller',
+    isa     => Object,
+    trigger => sub {
+        my ( $self, $new ) = @_;
+
+        $self->_set_class( $new->class ) if defined( $new->class );
+        $self->_set_application( $new->_application );
+        $self->_set_search_exposes( $new->search_exposes );
+        $self->_set_select_exposes( $new->select_exposes );
+    },
+    handles => ['prefetch_validator'],
 );
 
-with 'Catalyst::Controller::DBIC::API::StoredResultSource';
-with 'Catalyst::Controller::DBIC::API::RequestArguments';
-with 'Catalyst::Controller::DBIC::API::Request::Context';
+with 'Catalyst::Controller::DBIC::API::StoredResultSource',
+    'Catalyst::Controller::DBIC::API::RequestArguments',
+    'Catalyst::Controller::DBIC::API::Request::Context';
 
 =head1 DESCRIPTION
 
-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.
+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.
 
 =cut