X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FAction%2FSerialize%2FYAML.pm;h=1b854d9110992f0d8cb506a06e214528a3156022;hb=351f252f57354a5a0c50e3c931b0addd4f1988ff;hp=3856250d69cacdd01a3a64ea77e068c0153013ff;hpb=e601addaf89882fccbc824c1a53328f0d049b32b;p=catagits%2FCatalyst-Action-REST.git diff --git a/lib/Catalyst/Action/Serialize/YAML.pm b/lib/Catalyst/Action/Serialize/YAML.pm index 3856250..1b854d9 100644 --- a/lib/Catalyst/Action/Serialize/YAML.pm +++ b/lib/Catalyst/Action/Serialize/YAML.pm @@ -1,32 +1,34 @@ -# -# Catlyst::Action::Serialize::YAML.pm -# Created by: Adam Jacob, Marchex, -# Created on: 10/12/2006 03:00:32 PM PDT -# -# $Id$ - package Catalyst::Action::Serialize::YAML; -use strict; -use warnings; +use Moose; +use namespace::autoclean; -use base 'Catalyst::Action'; +extends 'Catalyst::Action'; use YAML::Syck; +our $VERSION = '0.98'; +$VERSION = eval $VERSION; + sub execute { my $self = shift; my ( $controller, $c ) = @_; - my $stash_key = $controller->config->{'serialize'}->{'stash_key'} || 'rest'; - my $output; - eval { - $output = Dump($c->stash->{$stash_key}); - }; - if ($@) { - return $@; - } + my $stash_key = ( + $controller->{'serialize'} ? + $controller->{'serialize'}->{'stash_key'} : + $controller->{'stash_key'} + ) || 'rest'; + my $output = $self->serialize($c->stash->{$stash_key}); $c->response->output( $output ); return 1; } +sub serialize { + my $self = shift; + my $data = shift; + Dump($data); +} + +__PACKAGE__->meta->make_immutable; + 1;