}
}
-default_config(
+sub default_config {
template_dir => 'share/html',
store => 'SQLite',
db_file => 'var/lib/idiotbox.db',
base_url => 'http://localhost:3000/',
base_dir => do { use FindBin; $FindBin::Bin },
-);
+}
sub BUILD {
my $self = shift;
$store_class->bind($self);
}
-dispatch {
+sub dispatch_request {
+ my $self = shift;
sub (/) { $self->show_front_page },
- subdispatch sub (/*/...) {
+ sub (/*/...) {
my $bucket = $self->buckets->get({ slug => $_[1] });
- [
- sub (/) {
- $self->show_bucket($bucket)
- },
- sub (/*/) {
- $self->show_video($bucket->videos->get({ slug => $_[1] }));
- }
- ]
+ sub (/) {
+ $self->show_bucket($bucket)
+ },
+ sub (/*/) {
+ $self->show_video($bucket->videos->get({ slug => $_[1] }));
+ }
}
-};
+}
sub recent_announcements { shift->{recent_announcements} }