/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1145 - (show annotations)
Wed Jul 1 17:20:16 2009 UTC (14 years, 9 months ago) by dpavlin
File size: 1036 byte(s)
bootstrap defaults
1 package Frey::Session;
2 use Moose::Role;
3
4 with 'Frey::Path', 'Frey::Storage';
5
6 use Data::Dump qw/dump/;
7 use Time::HiRes qw/time/;
8 use Carp qw/carp croak/;
9
10 has 'usage' => (
11 documentation => 'Track usage of classes for ClassBrowser',
12 is => 'rw',
13 isa => 'HashRef|Undef',
14 lazy => 1,
15 default => sub {
16 my $self = shift;
17 $self->load( 'var/session/usage.yaml' ) || {};
18 },
19 );
20
21 sub add_usage {
22 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 =cut
32
33 our $bugs;
34
35 sub TODO {
36 my ( $self, $what ) = @_;
37 eval {
38 $bugs ||= $self->load( 'var/session/bugs.yaml' );
39
40 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;

  ViewVC Help
Powered by ViewVC 1.1.26