add a $VERSION to every module
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / Serialize / JSON.pm
1 package Catalyst::Action::Serialize::JSON;
2
3 use Moose;
4 use namespace::autoclean;
5
6 extends 'Catalyst::Action';
7 use JSON qw(encode_json);
8
9 our $VERSION = '0.81';
10 $VERSION = eval $VERSION;
11
12 sub execute {
13     my $self = shift;
14     my ( $controller, $c ) = @_;
15
16     my $stash_key = (
17             $controller->{'serialize'} ?
18                 $controller->{'serialize'}->{'stash_key'} :
19                 $controller->{'stash_key'} 
20         ) || 'rest';
21     my $output = $self->serialize( $c->stash->{$stash_key} );
22     $c->response->output( $output );
23     return 1;
24 }
25
26 sub serialize {
27     my $self = shift;
28     encode_json( shift );
29 }
30
31 1;