X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FBeerDB.pm;h=23bd39f335c7c7f15d48f5f7f95fe4acff35ef1f;hb=cca6bd0ec8ad4f0325eda70b8db2574bf8c77496;hp=c69e2dc9be87a381e290a286aac575639808df07;hpb=131e374a3433ce84f66ef69abefc45080d6d2dc0;p=maypole.git diff --git a/lib/BeerDB.pm b/lib/BeerDB.pm index c69e2dc..23bd39f 100644 --- a/lib/BeerDB.pm +++ b/lib/BeerDB.pm @@ -1,13 +1,26 @@ -# vim:ft=perl package BeerDB; -use Apache::MVC; use base 'Apache::MVC'; -sub handler { Apache::MVC::handler("BeerDB", @_) } -BeerDB->set_database("dbi:SQLite:dbname=/opt/beer/beerdb.db"); -BeerDB->config->{template_root} = "/opt/beer"; -BeerDB::Brewery->columns(Stringify => qw/name/); +use Class::DBI::Loader::Relationship; +# This line is required if you don't have Apache calling Perl handlers +# as methods. +sub handler { Apache::MVC::handler(__PACKAGE__, @_) } -BeerDB->config->{loader}->relationship( "a brewery produces beers" ); -BeerDB->config->{loader}->relationship( "a pub has beers on handpumps"); +# This is the sample application. Change this to the path to your +# database. (or use mysql or something) +BeerDB->set_database("dbi:SQLite:t/beerdb.db"); +# Change this to the root of the web space. +BeerDB->config->{uri_base} = "http://localhost/beerdb/"; +# Handpumps should not show up. +BeerDB->config->{display_tables} = [qw[beer brewery pub style]]; +BeerDB::Brewery->untaint_columns( printable => [qw/name notes url/] ); +BeerDB::Beer->untaint_columns( + printable => [qw/abv name price notes/], + integer => [qw/style brewery/], + date =>[ qw/date/], +); +BeerDB->config->{loader}->relationship($_) for ( + "a brewery produces beers", + "a style defines beers", + "a pub has beers on handpumps"); 1;