X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FBeerDB.pm;h=23bd39f335c7c7f15d48f5f7f95fe4acff35ef1f;hb=cca6bd0ec8ad4f0325eda70b8db2574bf8c77496;hp=5cb320a4ecb29b5914690007959a18424dfe7dae;hpb=a0b702113b5a868698f65a5a88c35d91227a775f;p=maypole.git diff --git a/lib/BeerDB.pm b/lib/BeerDB.pm index 5cb320a..23bd39f 100644 --- a/lib/BeerDB.pm +++ b/lib/BeerDB.pm @@ -1,15 +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->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/"; +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::Brewery->columns(Stringify => qw/name/); - -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;