]> iEval git - plack-app-gruntmaster.git/blobdiff - lib/Gruntmaster/Page.pm
Move FORMAT_EXTENSION to gruntmaster-handlers
[plack-app-gruntmaster.git] / lib / Gruntmaster / Page.pm
index 953d8ae4ab6d78c181d558cff9de3884762f4901..e0086507d16027ecdd5100512b83cfcf5ebb797a 100644 (file)
@@ -3,8 +3,6 @@ package Gruntmaster::Page;
 use 5.014000;
 use strict;
 use warnings;
-use parent qw/Exporter/;
-our @EXPORT_OK = qw/generate _generate/;
 
 use Fcntl qw/:flock/;
 use File::Basename qw/fileparse/;
@@ -27,8 +25,7 @@ sub declaregen{
        my ($generator, $regex) = @_;
        $generator = "Gruntmaster::Page::$generator";
        eval "require $generator";
-       my $gensub = $generator->can('generate') or die "No such generator: $generator";
-       push @generators, [$regex,  $gensub];
+       push @generators, [$regex,  $generator];
 }
 
 {
@@ -37,6 +34,8 @@ sub declaregen{
        declaregen Index                        => qr,^index$,;
        declaregen Learn                        => qr,^learn$,;
        declaregen Account                      => qr,^account$,;
+       declaregen Us                           => qr,^us/index$,;
+       declaregen 'Us::Entry'          => qr,^us/$component$,;
        declaregen Ct                           => qr,^ct/index$,;
        declaregen 'Ct::Entry'          => qr,^ct/$component/index$,;
        declaregen St                           => qr,^ct/$component/log/st$,;
@@ -47,7 +46,7 @@ sub declaregen{
        declaregen 'Pb::Entry'          => qr,^${contest}pb/$component$,;
 }
 
-sub _generate{
+sub generate{
        my ($path) = @_;
        my ($path_noext, $ext) = $path =~ m/^(.*)\.(.*)$/;
        my ($basename, $directories) = fileparse $path_noext;
@@ -61,7 +60,7 @@ sub _generate{
                my ($regex, $generator) = @$gen;
                next unless $path_noext =~ $regex;
                for my $lang (@{LANGUAGES()}) {
-                       my $page = $generator->($path, $lang);
+                       my $page = $generator->generate($path, $lang);
                        write_file "$path_noext.$lang.$ext.new", $page;
                        say $typemap "URI: $basename.$lang.$ext\nContent-Language: $lang\nContent-Type: " . CONTENT_TYPES->{$ext} . "\n";
                        gzip \$page => "$path_noext.$lang.gz.$ext.new", Minimal => 1;
@@ -78,10 +77,6 @@ sub _generate{
        close $typemap;
 }
 
-sub generate{
-       PUBLISH 'genpage', shift;
-}
-
 1;
 __END__
 # Below is stub documentation for your module. You'd better edit it!
This page took 0.022026 seconds and 4 git commands to generate.