Cherry pick everything bar the use parent change from 25d49c2, fixing RT#46680
[catagits/Catalyst-Action-Serialize-Data-Serializer.git] / lib / Catalyst / Action / Serialize / YAML.pm
index 5488cc4..81fcc96 100644 (file)
@@ -1,10 +1,3 @@
-#
-# Catlyst::Action::Serialize::YAML.pm
-# Created by: Adam Jacob, Marchex, <adam@marchex.com>
-# Created on: 10/12/2006 03:00:32 PM PDT
-#
-# $Id$
-
 package Catalyst::Action::Serialize::YAML;
 
 use strict;
@@ -15,11 +8,28 @@ use YAML::Syck;
 
 sub execute {
     my $self = shift;
-    my ( $controller, $c, $test ) = @_;
+    my ( $controller, $c ) = @_;
 
-    my $stash_key = $controller->serialize->{'stash_key'} || 'rest';
-    $c->response->output( Dump( $c->stash->{$stash_key} ) );
+    my $stash_key = (
+            $controller->{'serialize'} ?
+                $controller->{'serialize'}->{'stash_key'} :
+                $controller->{'stash_key'} 
+        ) || 'rest';
+    my $output;
+    eval {
+        $output = $self->serialize($c->stash->{$stash_key});
+    };
+    if ($@) {
+        return $@;
+    }
+    $c->response->output( $output );
     return 1;
-};
+}
+
+sub serialize {
+    my $self = shift;
+    my $data = shift;
+    Dump($data);
+}
 
 1;