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

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

revision 24 by dpavlin, Sun Jun 29 16:29:09 2008 UTC revision 1133 by dpavlin, Tue Jun 30 15:10:55 2009 UTC
# Line 1  Line 1 
1  package Frey;  package Frey;
2  use Moose;  use Moose;
3    
4    our $VERSION = "0.26";
5    
6    use Data::Dump qw//;
7    sub dump {
8            my $self = shift;
9            Data::Dump::dump( @_ );
10    }
11    
12  has 'debug' => (  has 'debug' => (
13          is => 'rw',          is => 'rw',
14          isa => 'Int',          isa => 'Int',
15          default => 1,          default => sub { $ENV{FREY_DEBUG} || 0 },
16  );  );
17    
18  =head1 NAME  =head1 NAME
19    
20  Frey - hi-level web framework in spirit of 4GLs  Frey - hi-level web framework in spirit of 4GLs based on Moose
21    
22  =head1 DESCRIPTION  =head1 DESCRIPTION
23    
24  n. Mythology.    n. Mythology.
25    
26  The Norse god who dispenses peace, good weather, prosperity, and bountiful    The Norse god who dispenses peace, good weather, prosperity, and bountiful
27  crops; the brother of Freya.    crops; the brother of Freya.
28    
29  =cut  Basically you write L<Moose> classes which become directly callable from
30    the Firefox using REST API. for gentle intoduction see L<Frey::Manual>.
31    
32  use Data::Dump qw/dump/;  =cut
 use File::Find;  
33    
34  has 'classes' => (  __PACKAGE__->meta->make_immutable;
35          is => 'ro',  no Moose;
 #       isa => 'HashRef[Str]',  
         default => sub {  
                 my $self = shift;  
                 # FIXME there must be better way to do this in Moose style  
                 my $classes;  
                 finddepth({ no_chdir => 1, wanted => sub {  
                         return unless s/\.pm$//;  
                         my @a = split(m!/!,$_);  
                         if ( $#a != 2 ) {  
                                 warn "SKIP $_ [$#a]" if $self->debug;  
                                 return;  
                         }  
                         warn ">> $_ ",dump( @a ) if $self->debug;  
                         warn "## $a[1]::$a[2]\n";  
                         push @$classes, join('::', @a);  
                 } }, 'lib');  
                 warn "## classes = ",dump( $classes ) if $self->debug;  
                 $classes;  
         },  
         lazy => 1,  
 );  
36    
37  1;  1;

Legend:
Removed from v.24  
changed lines
  Added in v.1133

  ViewVC Help
Powered by ViewVC 1.1.26