X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FPlack%2FApp%2FGruntmaster.pm;h=e009d792041083c4a0b6e7bf00edb4f3c33aca05;hb=a46fb222e6ce50102b7c61a95af435afc74f5e33;hp=a0711013f99fec760e5b36f50cb8f77ce495da7e;hpb=f06ba039d6685a04782dad33e2772ea004b863d3;p=gruntmaster-page.git diff --git a/lib/Plack/App/Gruntmaster.pm b/lib/Plack/App/Gruntmaster.pm index a071101..e009d79 100644 --- a/lib/Plack/App/Gruntmaster.pm +++ b/lib/Plack/App/Gruntmaster.pm @@ -10,6 +10,7 @@ our $VERSION = '5999.000_001'; use File::Slurp qw/read_file/; use HTTP::Negotiate qw/choose/; use Plack::Request; +use Gruntmaster::Page::Generic; my %handlers; @@ -55,24 +56,30 @@ sub post { } BEGIN{ - my $word = qr,(\w+),a; - my $ct = qr,(?:\/ct/$word)?,a; + my $word = qr,(\w+),a; + my $number = qr,(\d+),a; + + sub generic { + for my $thing (@_) { + my $pkg = ucfirst $thing; + get qr,/$thing/, => $pkg; + get qr,/$thing/read, => "${pkg}::Read"; + get qr,/$thing/$word, => "${pkg}::Entry"; +# post qr,/$thing/$word/create, => "${pkg}::Entry::Create"; + get qr,/$thing/$word/read, => "${pkg}::Entry::Read"; +# post qr,/$thing/$word/update, => "${pkg}::Entry::Update"; +# post qr,/$thing/$word/delete, => "${pkg}::Entry::Delete"; + } + } get qr,/css/$word\.css, => 'CSS'; get qr,/js\.js, => 'JS'; - get qr,/ct/, => 'Ct'; - get qr,/ct/$word/, => 'Ct::Entry'; - get qr,/us/, => 'Us'; - get qr,/us/$word, => 'Us::Entry'; + get qr,/log/st, => 'St'; + generic qw/us ct pb log/; - get qr,$ct/log/(\d+)?, => 'Log'; - get qr,$ct/log/st, => 'St'; - get qr,$ct/log/job/$word, => 'Log::Entry'; - get qr,$ct/log/src/$word\.$word, => 'Src'; - get qr,$ct/pb/, => 'Pb'; - get qr,$ct/pb/$word, => 'Pb::Entry'; - post qr,$ct/pb/$word/submit, => 'Submit'; + get qr,/log/src/$number\.$word, => 'Src'; + post qr,/submit, => 'Submit'; post qr,/action/register, => 'Register'; post qr,/action/passwd, => 'Passwd';