X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FAction%2FSerialize%2FXML%2FSimple.pm;h=b51b028e96369d259f76505cc5e93edab0594094;hb=d0822465cc09629df95ad9c522bce758f2badc8c;hp=de297d21a13822c42e04950bc366f9ae3448387f;hpb=e601addaf89882fccbc824c1a53328f0d049b32b;p=catagits%2FCatalyst-Action-REST.git diff --git a/lib/Catalyst/Action/Serialize/XML/Simple.pm b/lib/Catalyst/Action/Serialize/XML/Simple.pm index de297d2..b51b028 100644 --- a/lib/Catalyst/Action/Serialize/XML/Simple.pm +++ b/lib/Catalyst/Action/Serialize/XML/Simple.pm @@ -1,16 +1,12 @@ -# -# Catlyst::Action::Serialize::XML::Simple.pm -# Created by: Adam Jacob, Marchex, -# Created on: 10/12/2006 03:00:32 PM PDT -# -# $Id$ - package Catalyst::Action::Serialize::XML::Simple; -use strict; -use warnings; +use Moose; +use namespace::autoclean; + +extends 'Catalyst::Action'; -use base 'Catalyst::Action'; +our $VERSION = '1.02'; +$VERSION = eval $VERSION; sub execute { my $self = shift; @@ -20,21 +16,22 @@ sub execute { require XML::Simple }; if ($@) { - $c->log->debug("Could not load XML::Serializer, refusing to serialize: $@"); - return 0; + $c->log->debug("Could not load XML::Serializer, refusing to serialize: $@") + if $c->debug; + return; } my $xs = XML::Simple->new(ForceArray => 0,); - my $stash_key = $controller->config->{'serialize'}->{'stash_key'} || 'rest'; - my $output; - eval { - $output = $xs->XMLout({ data => $c->stash->{$stash_key} }); - }; - if ($@) { - return $@; - } + my $stash_key = ( + $controller->{'serialize'} ? + $controller->{'serialize'}->{'stash_key'} : + $controller->{'stash_key'} + ) || 'rest'; + my $output = $xs->XMLout({ data => $c->stash->{$stash_key} }); $c->response->output( $output ); return 1; } +__PACKAGE__->meta->make_immutable; + 1;