=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API/Representations/json.pm,v retrieving revision 1.2 retrieving revision 1.4 diff -u -r1.2 -r1.4 --- todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API/Representations/json.pm 2010/01/31 04:31:34 1.2 +++ todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API/Representations/json.pm 2010/02/13 22:15:29 1.4 @@ -1,6 +1,6 @@ package Text::Todo::REST::API::Representations::json; -# $AFresh1: json.pm,v 1.1 2010/01/31 04:24:55 andrew Exp $ +# $AFresh1: json.pm,v 1.3 2010/01/31 04:32:53 andrew Exp $ use base 'Text::Todo::REST::API::Representations'; @@ -20,38 +20,30 @@ return if !defined $format; my %handled_formats = map { $_ => 1 } qw( - text - txt + json ); return exists $handled_formats{$format}; } - sub render_files { - my ( $self, $format, $data ) = @_; - - $data ||= []; - - return to_json($data); - } - - sub render_list { + sub _render { my ( $self, $format, $input ) = @_; - return if !defined $input; + if (!defined $input) { + $input = []; + }; - my @input = $input; - if ( ref $input eq 'ARRAY' ) { - @input = @{$input}; + if (!ref $input) { + $input = [$input]; } - return to_json(\@input); - } - - sub render_entry { - my ( $self, $format, $input ) = @_; return to_json($input); } + + sub render_files { _render(@_) } + sub render_entry { _render(@_) } + sub render_list { _render(@_) } + sub render_tags { _render(@_) } } 1; # Magic true value required at end of module