]> iEval git - gruntmaster-page.git/blobdiff - lib/Plack/App/Gruntmaster.pm
Add ruby
[gruntmaster-page.git] / lib / Plack / App / Gruntmaster.pm
index 814c70ff273ac8108cf31fad3eb736323cd6d008..0666fad804a3329bf41ddade92c129b954c6a7ab 100644 (file)
@@ -34,6 +34,7 @@ use constant CONTENT_TYPES => +{
        pas => 'text/x-pascal',
        pl => 'text/x-perl',
        py => 'text/x-python',
+       rb => 'application/x-ruby',
        l => 'text/plain',
 };
 
@@ -48,6 +49,7 @@ use constant FORMAT_EXTENSION => {
        PASCAL => 'pas',
        PERL => 'pl',
        PYTHON => 'py',
+       RUBY => 'rb',
        SBCL => 'l',
 };
 
@@ -107,18 +109,6 @@ sub dispatch_request{
                        [200, \@headers, [job->source]]
                },
 
-               sub (?:contest=) {
-                       return NOT_FOUND if !contest;
-                       forbid contest->is_pending;
-                       response_filter { return shift }
-               },
-
-               sub (?:problem=) {
-                       return NOT_FOUND if !problem;
-                       forbid problem->private;
-                       response_filter { return shift }
-               },
-
                sub (?:format~) {
                        my $format = lc ($_{format} // '');
                        response_filter {
@@ -159,12 +149,13 @@ sub dispatch_request{
 
                sub (/us/)                                        { response us => 'Users', {us => db->user_list} },
                sub (/ct/  + ?:owner~)                            { response ct => 'Contests', db->contest_list(%_) },
-               sub (/log/ + ?:contest~&:owner~&:page~&:problem~&:private~) {
+               sub (/log/ + ?:contest~&:owner~&:page~&:problem~&:private~&:result~) {
                        forbid $_{private};
                        response log => 'Job list', {%{db->job_list(%_)}, maybe contest => $_{contest},}
                },
                sub (/pb/  + ?:owner~&:contest~&:private~)                  {
                        forbid $_{private};
+                       forbid contest && contest->is_pending;
                        response pb => 'Problems', db->problem_list(%_)
                },
 
This page took 0.027663 seconds and 4 git commands to generate.