X-Git-Url: http://git.ieval.ro/?p=gruntmaster-page.git;a=blobdiff_plain;f=lib%2FPlack%2FApp%2FGruntmaster.pm;h=5b5f6606a25507f9f105faaff4586895ce48e335;hp=99ce4987c9e24b387f95487464f8752b70d385a6;hb=491e82eb192b76e7e8eece5aaf43b7aebb81a12d;hpb=d3200993969efcd4d9c0ce6a5666a012815ad2d5 diff --git a/lib/Plack/App/Gruntmaster.pm b/lib/Plack/App/Gruntmaster.pm index 99ce498..5b5f660 100644 --- a/lib/Plack/App/Gruntmaster.pm +++ b/lib/Plack/App/Gruntmaster.pm @@ -56,36 +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 { - my ($thing, $ct, $fs) = @_; - $ct //= '', $fs //= ''; - my $pkg = ucfirst $thing; - get qr,$ct/$thing/, => $pkg; - get qr,$ct/$thing/read, => "${pkg}::Read"; - get qr,$ct/$thing/$word$fs, => "${pkg}::Entry"; -# post qr,$ct/$thing/$word/create, => "${pkg}::Entry::Create"; - get qr,$ct/$thing/$word/read, => "${pkg}::Entry::Read"; -# post qr,$ct/$thing/$word/update, => "${pkg}::Entry::Update"; -# post qr,$ct/$thing/$word/delete, => "${pkg}::Entry::Delete"; + 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'; - generic 'us'; - generic ct => '', '/'; - generic pb => $ct; - #generic log => $ct; + 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/job/$word/read, => 'Log::Entry::Read'; - get qr,$ct/log/src/$word\.$word, => 'Src'; - post qr,$ct/pb/$word/submit, => 'Submit'; + get qr,/log/st, => 'St'; + get qr,/log/src/$number\.$word, => 'Src'; + post qr,/pb/$word/submit, => 'Submit'; post qr,/action/register, => 'Register'; post qr,/action/passwd, => 'Passwd';