=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API/Representations/text.pm,v retrieving revision 1.1 retrieving revision 1.3 diff -u -r1.1 -r1.3 --- todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API/Representations/text.pm 2010/01/18 03:51:40 1.1 +++ todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API/Representations/text.pm 2010/01/23 07:04:43 1.3 @@ -1,8 +1,8 @@ package Text::Todo::REST::API::Representations::text; -# $AFresh1: text.pm,v 1.3 2010/01/18 00:30:55 andrew Exp $ +# $AFresh1: text.pm,v 1.2 2010/01/19 03:18:34 andrew Exp $ -use base 'Text::Todo::REST::API'; +use base 'Text::Todo::REST::API::Representations'; use warnings; use strict; @@ -11,42 +11,56 @@ use version; our $VERSION = qv('0.0.1'); { - my %handled_formats = map { $_ => 1 } qw( - text - txt - ); + sub content_type { return 'text/plain' } - sub content_type { return 'text/plain' }; + sub can_render { + my ( $class, $format ) = @_; + return if !defined $format; - sub _handles { - my ($class, $format) = @_; + my %handled_formats = map { $_ => 1 } qw( + text + txt + ); + return exists $handled_formats{$format}; } + sub render_files { + my ( $self, $format, $data ) = @_; - sub Dump { - my ($self, @output) = @_; - my $action = $self->_action; + $data ||= []; my $output; - if ($action eq 'files') { - foreach my $o (@output) { - $output .= "$o\n"; - } + foreach my $line (@{ $data }) { + $output .= "$line\n"; } - elsif ($action eq 'list' || $action eq 'entry') { - foreach my $o (@output) { - $output .= "$o->{text}\n"; - } + return $output; + } + + sub render_list { + my ( $self, $format, $input ) = @_; + + return if ! defined $input; + + my @input = $input; + if (ref $input eq 'ARRAY') { + @input = @{ $input }; } - else { - $output .= $self->SUPER::Dump(@output); + + my $output; + foreach my $o (@input) { + $output .= "$o->{text}\n"; } return $output; } + + sub render_entry { + my ( $self, @args ) = @_; + return $self->render_list(@args); + } } -1; # Magic true value required at end of module +1; # Magic true value required at end of module __END__ =head1 NAME