- my $word = qr,(\w+),a;
- my $ct = qr,(?:\/ct/$word)?,a;
-
- get qr,/css/$word, => 'CSS';
- get qr,/js, => 'JS';
-
- get qr,/ct/, => 'Ct';
- get qr,/ct/$word, => 'Ct::Entry';
- get qr,/us/, => 'Us';
- get qr,/us/$word, => 'Us::Entry';
-
- get qr,$ct/log/(\d+)?, => 'Log';
- get qr,$ct/log/st, => 'St';
- get qr,$ct/log/job/$word, => 'Log::Entry';
- get qr,$ct/submit, => 'Submit';
- get qr,$ct/pb/, => 'Pb';
- get qr,$ct/pb/$word, => 'Pb::Entry';
+ 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,/log/st, => 'St';
+ generic qw/us ct pb log/;
+
+ get qr,/log/src/$number\.$word, => 'Src';
+ post qr,/submit, => 'Submit';
+
+ post qr,/action/register, => 'Register';
+ post qr,/action/passwd, => 'Passwd';