X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FBeerDB.pm;h=e9f1eb471fc5d775cca4dc9379c2ac4010f88b20;hb=ce6a4c9c85fd9ea388abc677089564bc46e687be;hp=56ecebefb4d5a9df223909bfe990c9ee868526c6;hpb=48fa18a4b5dddd08ceca420e793479335cc1ba79;p=maypole.git diff --git a/lib/BeerDB.pm b/lib/BeerDB.pm index 56ecebe..e9f1eb4 100644 --- a/lib/BeerDB.pm +++ b/lib/BeerDB.pm @@ -1,16 +1,18 @@ -# 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/); -BeerDB::Brewery->has_many(beers => "BeerDB::Beer"); -BeerDB::Beer->has_a(brewery => "BeerDB::Brewery"); - -BeerDB::Handpump->has_a(beer => "BeerDB::Beer"); -BeerDB::Handpump->has_a(pub => "BeerDB::Pub"); -BeerDB::Pub->has_many(beers => [ BeerDB::Handpump => 'beer' ]); -BeerDB::Beer->has_many(pubs => [ BeerDB::Handpump => 'pub' ]); +BeerDB->set_database("dbi:mysql:beerdb"); +BeerDB->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/"; +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/], +); +use Class::DBI::Loader::Relationship; +BeerDB->config->{loader}->relationship($_) for ( + "a brewery produces beers", + "a style defines beers", + "a pub has beers on handpumps"); +1;