From: Tomas Doran (t0m) Date: Mon, 17 Aug 2009 12:47:28 +0000 (+0100) Subject: Add new serializer for JSON::XS X-Git-Tag: 0.75~4 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Action-REST.git;a=commitdiff_plain;h=546f2871596e4ee5b305891b254170f45eb49629 Add new serializer for JSON::XS --- diff --git a/Changes b/Changes index 0706c73..41beea1 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,7 @@ +Mon Aug 17 13:46:41 BST 2009 (t0m) - Release 0.75 + + Added a serializer for JSON::XS + Made test independent of YAML::Syck bugs (dandv) Wed Jul 22 23:49:16 BST 2009 (t0m) - Release 0.74 diff --git a/lib/Catalyst/Action/Serialize/JSON.pm b/lib/Catalyst/Action/Serialize/JSON.pm index 561b49b..a681bcf 100644 --- a/lib/Catalyst/Action/Serialize/JSON.pm +++ b/lib/Catalyst/Action/Serialize/JSON.pm @@ -24,7 +24,7 @@ sub execute { ) || 'rest'; my $output; eval { - $output = encode_json( $c->stash->{$stash_key} ); + $output = $self->encode( $c->stash->{$stash_key} ); }; if ($@) { return $@; @@ -33,4 +33,9 @@ sub execute { return 1; } +sub encode { + my $self = shift; + encode_json( @_ ); +} + 1; diff --git a/lib/Catalyst/Action/Serialize/JSON/XS.pm b/lib/Catalyst/Action/Serialize/JSON/XS.pm new file mode 100644 index 0000000..6413db9 --- /dev/null +++ b/lib/Catalyst/Action/Serialize/JSON/XS.pm @@ -0,0 +1,14 @@ +package Catalyst::Action::Serialize::JSON::XS; + +use strict; +use warnings; + +use base 'Catalyst::Action::Serialize::JSON'; +use JSON::XS qw(encode_json); + +sub encode { + my $self = shift; + encode_json( @_ ); +} + +1;