App-JobLog

 view release on metacpan or  search on metacpan

lib/App/JobLog/Log/Note.pm  view on Meta::CPAN

package App::JobLog::Log::Note;
$App::JobLog::Log::Note::VERSION = '1.042';
# ABSTRACT: timestamped annotation in log


use Modern::Perl;
use Class::Autouse qw{DateTime};
use autouse 'App::JobLog::Time' => qw(now);
use autouse 'Carp'              => qw(carp);

# for debugging
use overload '""' => sub {
   $_[0]->data->to_string;
};
use overload 'bool' => sub { 1 };


sub new {
   my ( $class, $logline ) = @_;
   $class = ref $class || $class;
   my $self = bless { log => $logline }, $class;
   return $self;
}


sub clone {
   my ($self) = @_;
   my $clone = $self->new( $self->data->clone );
   return $clone;
}


sub data {
   $_[0]->{log};
}


sub start : lvalue {
   $_[0]->data->time;
}


sub tags : lvalue {
   $_[0]->data->{tags};
}


sub tagged { !!@{ $_[0]->tags } }


sub tag_list { @{ $_[0]->tags } }


sub describe {
   my ($self) = @_;
   join '; ', @{ $self->data->description };
}


sub exists_tag {
   my ( $self, @tags ) = @_;
   $self->data->exists_tag(@tags);
}


sub all_tags {



( run in 0.470 second using v1.01-cache-2.11-cpan-39bf76dae61 )