use Catalyst's http method matching for REST
[catagits/Catalyst-Controller-DBIC-API.git] / lib / Catalyst / Controller / DBIC / API / REST.pm
index 2414a9c..df58115 100644 (file)
@@ -36,65 +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 update_or_create_objects : Chained('objects_no_id') PathPart('') Does('MatchRequestMethod') Method('POST') Method('PUT') Args(0)
+sub update_or_create_objects : POST PUT Chained('objects_no_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->update_or_create($c);
 }
 
-sub delete_many_objects : Chained('objects_no_id') PathPart('') Does('MatchRequestMethod') Method('DELETE') Args(0)
+=method_protected delete_many_objects
+
+Chained: L</objects_no_id>
+PathPart: none
+Args: 0
+Method: 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 list_objects : Chained('objects_no_id') PathPart('') Does('MatchRequestMethod') Method('GET') Args(0)
+=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 update_or_create_one_object : Chained('object_with_id') PathPart('') Does('MatchRequestMethod') Method('POST') Method('PUT') Args(0)
+sub update_or_create_one_object : POST PUT Chained('object_with_id') PathPart('') Args(0)
 {
        my ( $self, $c ) = @_;
     $self->update_or_create($c);
 }
 
-sub delete_one_object : Chained('object_with_id') PathPart('') Does('MatchRequestMethod') Method('DELETE') Args(0)
+=method_protected delete_one_object
+
+Chained: L</object_with_id>
+PathPart: none
+Args: 0
+Method: 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 list_one_object : Chained('object_with_id') PathPart('') Does('MatchRequestMethod') Method('GET') Args(0)
+=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);