Version 1.02
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / REST.pm
index fcc1cce..6323dae 100644 (file)
@@ -10,7 +10,7 @@ use Catalyst::Controller::REST;
 
 BEGIN { require 5.008001; }
 
-our $VERSION = '0.91';
+our $VERSION = '1.02';
 $VERSION = eval $VERSION;
 
 sub BUILDARGS {
@@ -99,14 +99,14 @@ sub _dispatch_rest_method {
 
     my ($code, $name);
 
+    # Execute normal 'foo' action.
+    $c->execute( $self->class, $self, @{ $c->req->args } );
+
     # Common case, for foo_GET etc
     if ( $code = $controller->action_for($rest_method) ) {
-        $c->execute( $self->class, $self, @{ $c->req->args } ); # Execute normal 'foo' action.
         return $c->forward( $code,  $c->req->args ); # Forward to foo_GET if it's an action
     }
     elsif ($code = $controller->can($rest_method)) {
-        # Execute normal action
-        $c->execute( $self->class, $self, @{ $c->req->args } );
         $name = $rest_method; # Stash name and code to run 'foo_GET' like an action below.
     }
 
@@ -127,8 +127,11 @@ sub _dispatch_rest_method {
 
     # localise stuff so we can dispatch the action 'as normal, but get
     # different stats shown, and different code run.
+    # Also get the full path for the action, and make it look like a forward
     local $self->{code} = $code;
-    local $self->{reverse} = $name;
+    my @name = split m{/}, $self->reverse;
+    $name[-1] = $name;
+    local $self->{reverse} = "-> " . join('/', @name);
 
     $c->execute( $self->class, $self, @{ $c->req->args } );
 }
@@ -214,7 +217,7 @@ Daisuke Maki E<lt>daisuke@endeworks.jpE<gt>
 
 Hans Dieter Pearcey
 
-Brian Phillips E<lt>bphillips@cpan.orgE</gt>
+Brian Phillips E<lt>bphillips@cpan.orgE<gt>
 
 Dave Rolsky E<lt>autarch@urth.orgE<gt>
 
@@ -224,9 +227,15 @@ Arthur Axel "fREW" Schmidt E<lt>frioux@gmail.comE<gt>
 
 J. Shirley E<lt>jshirley@gmail.comE<gt>
 
+Gavin Henry E<lt>ghenry@surevoip.co.ukE<gt>
+
+Gerv http://www.gerv.net/
+
+Colin Newell <colin@opusvl.com>
+
 =head1 COPYRIGHT
 
-Copyright (c) 2006-2011 the above named AUTHOR and CONTRIBUTORS
+Copyright (c) 2006-2012 the above named AUTHOR and CONTRIBUTORS
 
 =head1 LICENSE