=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API.pm,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API.pm 2010/01/24 04:17:39 1.10 +++ todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API.pm 2010/01/24 04:38:21 1.11 @@ -1,6 +1,6 @@ package Text::Todo::REST::API; -# $AFresh1: API.pm,v 1.9 2010/01/23 07:15:40 andrew Exp $ +# $AFresh1: API.pm,v 1.10 2010/01/24 04:17:39 andrew Exp $ use warnings; use strict; @@ -133,13 +133,12 @@ foreach my $class ($self) { if ( $class->can($method) ) { - my @data = $class->$method( $todo, \%options ); - - return Text::Todo::REST::API::Response->new({ - type => $options{action}, - format => $self->_format, - data => \@data, - }); + return Text::Todo::REST::API::Response->new( + { type => $options{action}, + format => $self->_format, + data => $class->$method( $todo, \%options ), + } + ); } } @@ -213,13 +212,13 @@ } } - my @list = $self->get_list($todo); + my $list = $self->get_list($todo); my $entry; if ( $key =~ /^[[:xdigit:]]{32}$/xms ) { my $search = lc $key; - ENTRY: foreach my $e (@list) { + ENTRY: foreach my $e ( @{$list} ) { if ( $search eq $e->{md5} ) { $entry = $e; last ENTRY; @@ -227,7 +226,7 @@ } } elsif ( $key =~ /^\d+$/xms ) { - $entry = $list[ $key - 1 ]; + $entry = $list->[ $key - 1 ]; } if ( !$entry ) { @@ -241,12 +240,13 @@ my ( $self, $todo ) = @_; my $line = 1; - return map ( { + my @list = map ( { line => $line++, md5 => md5_hex( $_->text ), text => $_->text, }, $todo->list ); + return \@list; } sub get_files { @@ -263,12 +263,12 @@ my @files = grep {m/$file_regex/xms} readdir $dh; closedir $dh; - return @files; + return \@files; } sub get_tags { my ( $self, $todo, $tag ) = @_; - return $todo->listtag($tag); + return [ $todo->listtag($tag) ]; } sub POST {