[BACK]Return to Entry.pm CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo / lib / Text / Todo

Diff for /todotxt/Text-Todo/lib/Text/Todo/Entry.pm between version 1.21 and 1.25

version 1.21, 2010/01/18 00:19:55 version 1.25, 2010/01/20 21:53:01
Line 1 
Line 1 
 package Text::Todo::Entry;  package Text::Todo::Entry;
   
 # $AFresh1: Entry.pm,v 1.20 2010/01/12 20:09:02 andrew Exp $  # $AFresh1: Entry.pm,v 1.24 2010/01/19 18:53:36 andrew Exp $
   
 use warnings;  use warnings;
 use strict;  use strict;
 use Carp;  use Carp;
   
 use Class::Std;  use Class::Std::Utils;
 use List::Util qw/ first /;  
   
 use version; our $VERSION = qv('0.0.1');  use version; our $VERSION = qv('0.1.0');
   
 {  {
     my ( %text_of, %tags_of, %priority_of, %completion_status_of,  
         %known_tags_of, ) : ATTR;  
   
       my @attr_refs = \(
           my %text_of,
   
           my %tags_of,
           my %priority_of,
           my %completion_status_of,
           my %known_tags_of,
       );
   
     # XXX Should the completion (x) be case sensitive?      # XXX Should the completion (x) be case sensitive?
     my $priority_completion_regex = qr{      my $priority_completion_regex = qr{
         ^ \s*          ^ \s*
Line 22 
Line 28 
         (?i:\( ([A-Z]) \)   \s*)?          (?i:\( ([A-Z]) \)   \s*)?
     }xms;      }xms;
   
     sub BUILD {      sub new {
         my ( $self, $ident, $options ) = @_;          my ( $class, $options ) = @_;
   
           my $self = bless anon_scalar(), $class;
           my $ident = ident($self);
   
         if ( !ref $options ) {          if ( !ref $options ) {
             $options = { text => $options };              $options = { text => $options };
         }          }
Line 124 
Line 133 
   
     sub _is_in {      sub _is_in {
         my ( $self, $tags, $item ) = @_;          my ( $self, $tags, $item ) = @_;
         return defined first { $_ eq $item } $self->$tags;          foreach ($self->$tags) {
               return 1 if $_ eq $item;
           }
           return 0;
     }      }
   
     sub text {      sub text {
Line 212 
Line 224 
         return $completion_status_of{$ident};          return $completion_status_of{$ident};
     }      }
   
       sub DESTROY {
           my ($self) = @_;
           my $ident = ident $self;
           foreach my $attr_ref (@attr_refs) {
               delete $attr_ref->{$ident};
           }
       }
 }  }
 1;    # Magic true value required at end of module  1;    # Magic true value required at end of module
 __END__  __END__
Line 252 
Line 271 
   
 =head1 INTERFACE  =head1 INTERFACE
   
 =head2 BUILD  =head2 new
   
 Creates an entry that can be manipulated.  Creates an entry that can be manipulated.
   

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.25

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