/[Frey]/branches/zimbardo/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 /branches/zimbardo/lib/Frey/Session.pm

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

revision 428 by dpavlin, Tue Nov 18 23:49:05 2008 UTC revision 1143 by dpavlin, Wed Jul 1 17:03:49 2009 UTC
# Line 1  Line 1 
1  package Frey::Session;  package Frey::Session;
2  use Moose::Role;  use Moose::Role;
3    
4  use DBM::Deep;  with 'Frey::Path', 'Frey::Storage';
5    
6  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
7    use Time::HiRes qw/time/;
8    use Carp qw/carp croak/;
9    
10  has 'usage' => (  has 'usage' => (
11            documentation => 'Track usage of classes for ClassBrowser',
12          is => 'rw',          is => 'rw',
13          isa => 'DBM::Deep',          isa => 'HashRef|Undef',
14          lazy => 1,          lazy => 1,
15          default => sub {          default => sub {
16                  DBM::Deep->new( 'var/usage.db' );                  my $self = shift;
17                    $self->load( 'var/session/usage.yaml' );
18          },          },
19  );  );
20    
21  sub data {  sub add_usage {
22          my ($self) = @_;          my ( $self, $class ) = @_;
23            $self->usage->{$class}++;
24            $self->store( 'var/session/usage.yaml', $self->usage );
25    }
26    
27    =head2 TODO
28    
29      my $TODO = $self->TODO( "message" );
30    
31          my $data;  =cut
32    
33          my $db = $self->usage;  our $bugs;
34    
35          my $key = $db->first_key();  sub TODO {
36      while ($key) {          my ( $self, $what ) = @_;
37                  $data .= "$key => " . dump( $db->get($key) ) . "\n";          eval {
38                  $key = $db->next_key($key);                  $bugs ||= $self->load( 'var/session/bugs.yaml' );
         }  
39    
40          return $data;                  carp "TODO: $what" unless defined $bugs->{TODO}->{ $what };
41    
42                    my ( $package, $path, $line ) = caller;
43    
44                    $bugs->{TODO}->{ $what } = {
45                            last_occured => time,
46                            'package' => $package,
47                            path => $path,
48                            line => $line,
49                    }
50            };
51            warn "TODO ERROR: $@\n$what" if $@;
52            $self->store( 'var/session/bugs.yaml', $bugs );
53            return $what;
54  }  }
55    
56    no Moose::Role;
57    
58  1;  1;

Legend:
Removed from v.428  
changed lines
  Added in v.1143

  ViewVC Help
Powered by ViewVC 1.1.26