Change all classes to Moose
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / Deserialize / YAML.pm
1 package Catalyst::Action::Deserialize::YAML;
2
3 use Moose;
4 use namespace::autoclean;
5
6 extends 'Catalyst::Action';
7 use YAML::Syck;
8
9 sub execute {
10     my $self = shift;
11     my ( $controller, $c, $test ) = @_;
12
13     my $body = $c->request->body;
14     if ($body) {
15         my $rdata;
16         eval {
17             my $body = $c->request->body;
18             $rdata = LoadFile( "$body" );
19         };
20         if ($@) {
21             return $@;
22         }
23         $c->request->data($rdata);
24     } else {
25         $c->log->debug(
26             'I would have deserialized, but there was nothing in the body!')
27             if $c->debug;
28     }
29     return 1;
30 }
31
32 1;