allow setting the result_class to undef to prevent the usage of HashRefInflator
[catagits/Catalyst-Controller-DBIC-API.git] / lib / Catalyst / Controller / DBIC / API / StoredResultSource.pm
index b2e1e43..2d9f9f3 100644 (file)
@@ -1,5 +1,5 @@
 package Catalyst::Controller::DBIC::API::StoredResultSource;
-#ABSTRACT: Provides acessors for static resources
+#ABSTRACT: Provides accessors for static resources
 
 use Moose::Role;
 use MooseX::Types::Moose(':all');
@@ -17,40 +17,34 @@ class is the name of the class that is the model for this controller
 
 has 'class' => ( is => 'ro', isa => Str, writer => '_set_class' );
 
-=attribute_public stored_result_source is: ro, isa: L<Catalyst::Controller::DBIC::API::Types/ResultSource>
+=attribute_public result_class is: ro, isa: Str
 
-This is the result source for the controller
+result_class is the name of the resultset class that is the model for this controller
 
 =cut
 
-has 'stored_result_source' =>
-(
-    is => 'ro',
-    isa => ResultSource,
-    lazy_build => 1,
-);
+has 'result_class' => ( is => 'ro', isa => Maybe[Str], default => 'DBIx::Class::ResultClass::HashRefInflator' );
 
-=attribute_public stored_model is: ro, isa: L<Catalyst::Controller::DBIC::API::Types/Model>
+=method_public stored_result_source
 
-This is the model for the controller
+This is the result source for the controller
 
 =cut
 
-has 'stored_model' =>
-(
-    is => 'ro',
-    isa => Model,
-    lazy_build => 1,
-);
-
-sub _build_stored_model
+sub stored_result_source
 {
-    return $_[0]->_application->model($_[0]->class);
+    return shift->stored_model->result_source;
 }
 
-sub _build_stored_result_source
+=method_public stored_model
+
+This is the model for the controller
+
+=cut
+
+sub stored_model
 {
-    return shift->stored_model->result_source();
+    return $_[0]->_application->model($_[0]->class);
 }
 
 =method_public check_has_column