=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API.pm 2010/01/31 03:10:39 1.17 +++ todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API.pm 2010/02/13 21:48:28 1.18 @@ -1,6 +1,6 @@ package Text::Todo::REST::API; -# $AFresh1: API.pm,v 1.16 2010/01/26 06:03:11 andrew Exp $ +# $AFresh1: API.pm,v 1.17 2010/01/31 03:10:39 andrew Exp $ use warnings; use strict; @@ -160,7 +160,7 @@ my ( $self, $path ) = @_; my %options = ( - action => 'files', + action => undef, list => undef, entry => undef, args => [], @@ -173,15 +173,24 @@ $options{format} = $1; } - ( $options{list}, $options{entry}, @{ $options{args} } ) = split '/', - $path; + ( $options{list}, $options{action}, + @{ $options{args} } ) = split '/', $path; - if ( $options{list} ) { - $options{action} = 'list'; + if (!defined $options{action}) { + if ( $options{list} ) { + $options{action} = 'list'; + } + else { + $options{action} = 'files'; + } } - if ( $options{entry} ) { - $options{action} = 'entry'; + $options{action} = lc( $options{action} ); + + if ($options{action} eq 'entry' + || $options{action} eq 'tags' + ) { + $options{ $options{action} } = shift @{ $options{args} }; } return %options;