version 1.2, 2010/01/31 04:31:34 |
version 1.4, 2010/02/13 22:15:29 |
|
|
package Text::Todo::REST::API::Representations::json; |
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'; |
use base 'Text::Todo::REST::API::Representations'; |
|
|
|
|
return if !defined $format; |
return if !defined $format; |
|
|
my %handled_formats = map { $_ => 1 } qw( |
my %handled_formats = map { $_ => 1 } qw( |
text |
json |
txt |
|
); |
); |
|
|
return exists $handled_formats{$format}; |
return exists $handled_formats{$format}; |
} |
} |
|
|
sub render_files { |
sub _render { |
my ( $self, $format, $data ) = @_; |
|
|
|
$data ||= []; |
|
|
|
return to_json($data); |
|
} |
|
|
|
sub render_list { |
|
my ( $self, $format, $input ) = @_; |
my ( $self, $format, $input ) = @_; |
|
|
return if !defined $input; |
if (!defined $input) { |
|
$input = []; |
|
}; |
|
|
my @input = $input; |
if (!ref $input) { |
if ( ref $input eq 'ARRAY' ) { |
$input = [$input]; |
@input = @{$input}; |
|
} |
} |
|
|
return to_json(\@input); |
|
} |
|
|
|
sub render_entry { |
|
my ( $self, $format, $input ) = @_; |
|
return to_json($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 |
1; # Magic true value required at end of module |