Changeset 23308

Show
Ignore:
Timestamp:
11/12/08 13:23:09 (5 years ago)
Author:
kazuho
Message:

initial mojo impl. (API will change very soon)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/NanoA/trunk/lib/NanoA.pm

    r23300 r23308  
    7878    my $handler_path = $opts->{prefix} . ($q->path_info || '/'); 
    7979    $handler_path =~ s{\.\.}{}g; 
     80    $handler_path = camelize($handler_path) 
     81        if $opts->{camelize}; 
    8082     
    8183    my $handler_klass = $klass->load_handler($opts, $handler_path) 
     
    105107    foreach my $loader ( 
    106108        ($opts->{loaders} ? @{$opts->{loaders}} : ()), 
     109        \&load_mojo_template, 
    107110        \&load_pm, 
    108111    ) { 
     
    117120    my ($klass, $opts, $path) = @_; 
    118121    $path =~ s{/+$}{}; 
    119     $path = camelize($path) 
    120         if $opts->{camelize}; 
    121122    local $@; 
    122123    eval { 
     
    134135} 
    135136 
     137sub load_mojo_template { 
     138    my ($klass, $opts, $path) = @_; 
     139    $path =~ s{/+$}{}; 
     140    return 
     141        unless -e "$path.mt"; 
     142    my $module = $path; 
     143    $module =~ s{/}{::}; 
     144    local $@; 
     145    eval << "EOT"; 
     146use Mojo::Template; 
     147package $module; 
     148use base qw(NanoA); 
     149sub run { 
     150    my \$self = shift; 
     151    Mojo::Template->new->render_file("$path.mt", \$self); 
     152} 
     1531; 
     154EOT 
     155; 
     156    die $@ if $@; 
     157    $module; 
     158} 
     159 
    136160sub not_found { 
    137161    my ($klass, $opts) = @_;