Fix docs
Tomas Doran [Thu, 2 Dec 2010 18:12:43 +0000 (18:12 +0000)]
Changes
lib/Catalyst/Controller/REST.pm

diff --git a/Changes b/Changes
index 1d605a8..ca20d2b 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+  Fix documentation for overriding Serialize and Deserialize actions
+  in Catalyst::Controller::REST.
+
 Wed  3 Nov 2010 19:46:00 GMT - Release 0.87
 
   Fix Request class role when used with new Moose and other request
index 87bb7aa..090284e 100644 (file)
@@ -565,28 +565,33 @@ L<Catalyst::Action::Serialize>.
 The C<begin> method uses L<Catalyst::Action::Deserialize>.  The C<end>
 method uses L<Catalyst::Action::Serialize>.  If you want to override
 either behavior, simply implement your own C<begin> and C<end> actions
-and use MRO::Compat:
+and forward to another action with the Serialize and/or Deserialize
+action classes:
 
   package Foo::Controller::Monkey;
   use Moose;
   use namespace::autoclean;
-  
+
   BEGIN { extends 'Catalyst::Controller::REST' }
 
-  sub begin :Private {
+  sub begin : Private {
     my ($self, $c) = @_;
     ... do things before Deserializing ...
-    $self->maybe::next::method($c);
+    $c->forward('deserialize');
     ... do things after Deserializing ...
   }
 
+  sub deserialize : ActionClass('Deserialize') {}
+
   sub end :Private {
     my ($self, $c) = @_;
     ... do things before Serializing ...
-    $self->maybe::next::method($c);
+    $c->forward('serialize');
     ... do things after Serializing ...
   }
 
+  sub serialize : ActionClass('Serialize') {}
+
 =back
 
 =head1 A MILD WARNING