[BACK]Return to text.pm CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo-REST-API / lib / Text / Todo / REST / API / Representations

Diff for /todotxt/Text-Todo-REST-API/lib/Text/Todo/REST/API/Representations/text.pm between version 1.1 and 1.7

version 1.1, 2010/01/18 03:51:40 version 1.7, 2010/02/16 04:10:38
Line 1 
Line 1 
 package Text::Todo::REST::API::Representations::text;  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.6 2010/02/13 22:24:15 andrew Exp $
   
 use base 'Text::Todo::REST::API';  use base 'Text::Todo::REST::API::Representations';
   
 use warnings;  use warnings;
 use strict;  use strict;
Line 11 
Line 11 
 use version; our $VERSION = qv('0.0.1');  use version; our $VERSION = qv('0.0.1');
   
 {  {
     my %handled_formats = map { $_ => 1 } qw(      sub content_type { return 'text/plain' }
         text  
         txt  
     );  
   
     sub content_type { return 'text/plain' };      sub can_render {
           my ( $class, $format ) = @_;
           return if !defined $format;
   
     sub _handles {          my %handled_formats = map { $_ => 1 } qw(
         my ($class, $format) = @_;              text
               txt
           );
   
         return exists $handled_formats{$format};          return exists $handled_formats{$format};
     }      }
   
       sub _render {
           my ( $self, $format, $data ) = @_;
   
     sub Dump {          $data ||= [];
         my ($self, @output) = @_;  
         my $action = $self->_action;  
   
         my $output;          my $output;
         if ($action eq 'files') {          foreach my $line ( @{$data} ) {
             foreach my $o (@output) {              $output .= "$line\n";
                 $output .= "$o\n";  
             }  
         }          }
         elsif ($action eq 'list' || $action eq 'entry') {          return $output;
             foreach my $o (@output) {      }
                 $output .= "$o->{text}\n";      sub render_files { _render(@_) }
   
       sub render_tags  {
           my ( $self, $format, $data ) = @_;
   
           if (ref $data eq 'HASH') {
               my $output = '';
               foreach my $k (sort keys %{ $data }) {
                    $output .= $k . ': ' . $data->{$k} . "\n";
             }              }
               return $output;
         }          }
         else {  
             $output .= $self->SUPER::Dump(@output);          return $self->_render($format, $data);
       }
   
       sub render_list {
           my ( $self, $format, $input ) = @_;
   
           return if !defined $input;
   
           if ( ref $input ne 'ARRAY' ) {
               $input = [$input];
         }          }
         return $output;  
           return $self->_render($format, [ map "$_->{text}", @{ $input } ]);
     }      }
   
       sub render_entry { render_list(@_) }
 }  }
   
 1; # Magic true value required at end of module  1;    # Magic true value required at end of module
 __END__  __END__
   
 =head1 NAME  =head1 NAME

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.7

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>