/[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 434 by dpavlin, Wed Nov 19 01:21:31 2008 UTC revision 627 by dpavlin, Sat Nov 29 22:02:08 2008 UTC
# Line 1  Line 1 
1  package Frey::Session;  package Frey::Session;
2  use Moose::Role;  use Moose::Role;
3    
4    with 'Frey::Path';
5    
6    __PACKAGE__->mkbasepath( 'var/session/something.db' );
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/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',
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/usage.db' );                  $usage
21          },          },
22  );  );
23    
24  sub data {  our $bugs = DBM::Deep->new( 'var/session/bugs.db' );
25    has 'bugs' => (
26            documentation => 'Track bugs within Frey',
27            is => 'rw',
28            isa => 'DBM::Deep',
29            lazy => 1,
30            default => sub {
31                    $bugs
32            },
33    );
34    sub as_data {
35          my ($self) = @_;          my ($self) = @_;
36          $self->session_dump( $self->usage );          {
37                    usage => $self->session_dump( $self->usage ),
38                    bugs => $self->session_dump( $self->bugs ),
39            }
40  }  }
41    
42  sub session_dump {  sub session_dump {
# Line 31  sub session_dump { Line 52  sub session_dump {
52          return $data;          return $data;
53  }  }
54    
55    =head2 TODO
56    
57      my $TODO = $self->TODO( "message" );
58    
59    =cut
60    
61    sub TODO {
62            my ( $self, $what ) = @_;
63            eval {
64                    $self->bugs = {} unless defined $self->bugs; # bootstrap
65                    croak "TODO: $what" unless defined $self->bugs->{TODO}->{ $what };
66    
67                    my ( $package, $path, $line ) = caller;
68    
69                    $self->bugs->{TODO}->{ $what } = {
70                            last_occured => time,
71                            'package' => $package,
72                            path => $path,
73                            line => $line,
74                    }
75            };
76            warn "TODO ERROR: $@\n$what" if $@;
77            return $what;
78    }
79    
80  1;  1;

Legend:
Removed from v.434  
changed lines
  Added in v.627

  ViewVC Help
Powered by ViewVC 1.1.26