version 1.17, 2010/01/31 03:10:39 |
version 1.18, 2010/02/13 21:48:28 |
|
|
package Text::Todo::REST::API; |
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 warnings; |
use strict; |
use strict; |
|
|
my ( $self, $path ) = @_; |
my ( $self, $path ) = @_; |
|
|
my %options = ( |
my %options = ( |
action => 'files', |
action => undef, |
list => undef, |
list => undef, |
entry => undef, |
entry => undef, |
args => [], |
args => [], |
|
|
$options{format} = $1; |
$options{format} = $1; |
} |
} |
|
|
( $options{list}, $options{entry}, @{ $options{args} } ) = split '/', |
( $options{list}, $options{action}, |
$path; |
@{ $options{args} } ) = split '/', $path; |
|
|
if ( $options{list} ) { |
if (!defined $options{action}) { |
$options{action} = 'list'; |
if ( $options{list} ) { |
|
$options{action} = 'list'; |
|
} |
|
else { |
|
$options{action} = 'files'; |
|
} |
} |
} |
|
|
if ( $options{entry} ) { |
$options{action} = lc( $options{action} ); |
$options{action} = 'entry'; |
|
|
if ($options{action} eq 'entry' |
|
|| $options{action} eq 'tags' |
|
) { |
|
$options{ $options{action} } = shift @{ $options{args} }; |
} |
} |
|
|
return %options; |
return %options; |