Bump versions for release
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / Serialize / Data / Serializer.pm
1 package Catalyst::Action::Serialize::Data::Serializer;
2
3 use Moose;
4 use namespace::autoclean;
5
6 extends 'Catalyst::Action';
7 use Data::Serializer;
8
9 our $VERSION = '0.82';
10 $VERSION = eval $VERSION;
11
12 sub execute {
13     my $self = shift;
14     my ( $controller, $c, $serializer ) = @_;
15
16     my $stash_key = (
17             $controller->{'serialize'} ?
18                 $controller->{'serialize'}->{'stash_key'} :
19                 $controller->{'stash_key'} 
20         ) || 'rest';
21     my $sp = $serializer;
22     $sp =~ s/::/\//g;
23     $sp .= ".pm";
24     eval {
25         require $sp
26     };
27     if ($@) {
28         $c->log->info("Could not load $serializer, refusing to serialize: $@");
29         return;
30     }
31     my $dso = Data::Serializer->new( serializer => $serializer );
32     my $data = $dso->raw_serialize($c->stash->{$stash_key});
33     $c->response->output( $data );
34     return 1;
35 }
36
37 1;