--- trunk/lib/Frey/Session.pm 2008/11/27 21:04:35 562 +++ trunk/lib/Frey/Session.pm 2008/11/29 22:02:08 627 @@ -7,24 +7,28 @@ use DBM::Deep; use Data::Dump qw/dump/; +use Time::HiRes qw/time/; +use Carp qw/croak/; +our $usage = DBM::Deep->new( 'var/session/usage.db' ); has 'usage' => ( documentation => 'Track usage of classes for ClassBrowser', is => 'rw', isa => 'DBM::Deep', lazy => 1, default => sub { - DBM::Deep->new( 'var/session/usage.db' ); + $usage }, ); +our $bugs = DBM::Deep->new( 'var/session/bugs.db' ); has 'bugs' => ( documentation => 'Track bugs within Frey', is => 'rw', isa => 'DBM::Deep', lazy => 1, default => sub { - DBM::Deep->new( 'var/session/bugs.db' ); + $bugs }, ); sub as_data { @@ -48,17 +52,29 @@ return $data; } +=head2 TODO + + my $TODO = $self->TODO( "message" ); + +=cut sub TODO { my ( $self, $what ) = @_; eval { $self->bugs = {} unless defined $self->bugs; # bootstrap - warn "TODO: $what" unless defined $self->bugs->{TODO}->{ $what }; - $self->bugs->{TODO}->{ $what }->{ time() } = { - backtrace => caller, + croak "TODO: $what" unless defined $self->bugs->{TODO}->{ $what }; + + my ( $package, $path, $line ) = caller; + + $self->bugs->{TODO}->{ $what } = { + last_occured => time, + 'package' => $package, + path => $path, + line => $line, } }; warn "TODO ERROR: $@\n$what" if $@; + return $what; } 1;