--- trunk/lib/Frey/Session.pm 2008/11/19 15:28:23 455 +++ trunk/lib/Frey/Session.pm 2008/11/27 21:04:35 562 @@ -1,21 +1,38 @@ package Frey::Session; use Moose::Role; +with 'Frey::Path'; + +__PACKAGE__->mkbasepath( 'var/session/something.db' ); + use DBM::Deep; use Data::Dump qw/dump/; has 'usage' => ( + documentation => 'Track usage of classes for ClassBrowser', is => 'rw', isa => 'DBM::Deep', lazy => 1, default => sub { - DBM::Deep->new( 'var/usage.db' ); + DBM::Deep->new( 'var/session/usage.db' ); }, ); +has 'bugs' => ( + documentation => 'Track bugs within Frey', + is => 'rw', + isa => 'DBM::Deep', + lazy => 1, + default => sub { + DBM::Deep->new( 'var/session/bugs.db' ); + }, +); sub as_data { my ($self) = @_; - $self->session_dump( $self->usage ); + { + usage => $self->session_dump( $self->usage ), + bugs => $self->session_dump( $self->bugs ), + } } sub session_dump { @@ -31,4 +48,17 @@ return $data; } + +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, + } + }; + warn "TODO ERROR: $@\n$what" if $@; +} + 1;