/[Frey]/trunk/lib/Frey/Session.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Session.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 562 by dpavlin, Thu Nov 27 21:04:35 2008 UTC revision 824 by dpavlin, Fri Dec 12 23:20:06 2008 UTC
# Line 7  __PACKAGE__->mkbasepath( 'var/session/so Line 7  __PACKAGE__->mkbasepath( 'var/session/so
7    
8  use DBM::Deep;  use DBM::Deep;
9  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
10    use Time::HiRes qw/time/;
11    use Carp qw/carp croak/;
12    
13    our $usage = DBM::Deep->new( 'var/session/usage.db' );
14  has 'usage' => (  has 'usage' => (
15          documentation => 'Track usage of classes for ClassBrowser',          documentation => 'Track usage of classes for ClassBrowser',
16          is => 'rw',          is => 'rw',
17          isa => 'DBM::Deep',          isa => 'DBM::Deep',
18          lazy => 1,          lazy => 1,
19          default => sub {          default => sub {
20                  DBM::Deep->new( 'var/session/usage.db' );                  $usage
21          },          },
22  );  );
23    
24    our $bugs = DBM::Deep->new( 'var/session/bugs.db' );
25  has 'bugs' => (  has 'bugs' => (
26          documentation => 'Track bugs within Frey',          documentation => 'Track bugs within Frey',
27          is => 'rw',          is => 'rw',
28          isa => 'DBM::Deep',          isa => 'DBM::Deep',
29          lazy => 1,          lazy => 1,
30          default => sub {          default => sub {
31                  DBM::Deep->new( 'var/session/bugs.db' );                  $bugs
32          },          },
33  );  );
34  sub as_data {  
35    =for debug
36    
37    sub session_as_data {
38          my ($self) = @_;          my ($self) = @_;
39          {          {
40                  usage => $self->session_dump( $self->usage ),                  usage => $self->session_dump( $self->usage ),
# Line 35  sub as_data { Line 42  sub as_data {
42          }          }
43  }  }
44    
45    =cut
46    
47  sub session_dump {  sub session_dump {
48          my ($self,$db) = @_;          my ($self,$db) = @_;
49          my $data;          my $data;
# Line 48  sub session_dump { Line 57  sub session_dump {
57          return $data;          return $data;
58  }  }
59    
60    =head2 TODO
61    
62      my $TODO = $self->TODO( "message" );
63    
64    =cut
65    
66  sub TODO {  sub TODO {
67          my ( $self, $what ) = @_;          my ( $self, $what ) = @_;
68          eval {          eval {
69                  $self->bugs = {} unless defined $self->bugs; # bootstrap                  $self->bugs = {} unless defined $self->bugs; # bootstrap
70                  warn "TODO: $what" unless defined $self->bugs->{TODO}->{ $what };                  carp "TODO: $what" unless defined $self->bugs->{TODO}->{ $what };
71                  $self->bugs->{TODO}->{ $what }->{ time() } = {  
72                          backtrace => caller,                  my ( $package, $path, $line ) = caller;
73    
74                    $self->bugs->{TODO}->{ $what } = {
75                            last_occured => time,
76                            'package' => $package,
77                            path => $path,
78                            line => $line,
79                  }                  }
80          };          };
81          warn "TODO ERROR: $@\n$what" if $@;          warn "TODO ERROR: $@\n$what" if $@;
82            return $what;
83  }  }
84    
85  1;  1;

Legend:
Removed from v.562  
changed lines
  Added in v.824

  ViewVC Help
Powered by ViewVC 1.1.26