use Catalyst's http method matching for REST
[catagits/Catalyst-Controller-DBIC-API.git] / lib / Catalyst / Controller / DBIC / API / REST.pm
index 04fe041..df58115 100644 (file)
@@ -36,81 +36,103 @@ As described in L<Catalyst::Controller::DBIC::API/setup>, this action is the cha
        ...
   );
 
-=method_protected no_id
+=method_protected update_or_create_objects
 
 Chained: L</objects_no_id>
 PathPart: none
-CaptureArgs: 0
-
-Calls list level methods described in L<Catalyst::Controller::DBIC::API> as follows:
+Args: 0
+Method: POST/PUT
 
-DELETE: L<Catalyst::Controller::DBIC::API/delete>
-POST/PUT: L<Catalyst::Controller::DBIC::API/update_or_create>
-GET: forwards to L<Catalyst::Controller::DBIC::API/list>
+Calls L<Catalyst::Controller::DBIC::API/update_or_create>. 
 
 =cut
 
-sub no_id : Chained('objects_no_id') PathPart('') ActionClass('REST') :Args(0) {}
-
-sub no_id_PUT
+sub update_or_create_objects : POST PUT Chained('objects_no_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->update_or_create($c);
 }
 
-sub no_id_POST
-{
-       my ( $self, $c ) = @_;
-    $self->update_or_create($c);
-}
+=method_protected delete_many_objects
+
+Chained: L</objects_no_id>
+PathPart: none
+Args: 0
+Method: DELETE
 
-sub no_id_DELETE
+Calls L<Catalyst::Controller::DBIC::API/delete>. 
+
+=cut
+
+sub delete_many_objects : DELETE Chained('objects_no_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->delete($c);
 }
 
-sub no_id_GET
+=method_protected list_objects
+
+Chained: L</objects_no_id>
+PathPart: none
+Args: 0
+Method: GET
+
+Calls L<Catalyst::Controller::DBIC::API/list>. 
+
+=cut
+
+sub list_objects : GET Chained('objects_no_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->list($c);
 }
 
-=method_protected with_id
+=method_protected update_or_create_one_object
 
 Chained: L</object_with_id>
 PathPart: none
-CaptureArgs: 0
-
-Forwards to list level methods described in L<Catalyst::Controller::DBIC::API> as follows:
+Args: 0
+Method: POST/PUT
 
-DELETE: L<Catalyst::Controller::DBIC::API/delete>
-POST/PUT: L<Catalyst::Controller::DBIC::API/update_or_create>
-GET: forwards to L<Catalyst::Controller::DBIC::API/item>
+Calls L<Catalyst::Controller::DBIC::API/update_or_create>.
 
 =cut
 
-sub with_id :Chained('object_with_id') :PathPart('') :ActionClass('REST') :Args(0) {}
-
-sub with_id_PUT
+sub update_or_create_one_object : POST PUT Chained('object_with_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->update_or_create($c);
 }
 
-sub with_id_POST
-{
-       my ( $self, $c ) = @_;
-    $self->update_or_create($c);
-}
+=method_protected delete_one_object
+
+Chained: L</object_with_id>
+PathPart: none
+Args: 0
+Method: DELETE
 
-sub with_id_DELETE
+Calls L<Catalyst::Controller::DBIC::API/delete>.
+
+=cut
+
+sub delete_one_object : DELETE Chained('object_with_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->delete($c);
 }
 
-sub with_id_GET
+=method_protected list_one_object
+
+Chained: L</object_with_id>
+PathPart: none
+Args: 0
+Method: GET
+
+Calls L<Catalyst::Controller::DBIC::API/item>.
+
+=cut
+
+sub list_one_object : GET Chained('object_with_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->item($c);