]> git.decadent.org.uk Git - maypole.git/blobdiff - ex/BeerDB.pm
+ TT2 objects used in M::V::TT are configurable with
[maypole.git] / ex / BeerDB.pm
index b7961bc1e8874a22beaa670eb09d1ace92455534..1e84b36147f4b5f5e7ad2192220435f5d94296e5 100644 (file)
@@ -1,24 +1,30 @@
 package BeerDB;
-use base 'Apache::MVC';
+use Maypole::Application;
 use Class::DBI::Loader::Relationship;
 
+sub debug { $ENV{BEERDB_DEBUG} }
+
+BEGIN {
 # 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");
-BeerDB->setup("dbi:mysql:beerdb");
+BeerDB->setup("dbi:SQLite:t/beerdb.db");
+}
+
+# Give it a name.
+BeerDB->config->application_name('The Beer Database');
 
 # Change this to the root of the web space.
-#BeerDB->config->{uri_base} = "http://localhost/beerdb/";
-BeerDB->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/";
+BeerDB->config->uri_base("http://localhost/beerdb/");
+#BeerDB->config->{uri_base} = "http://neo.trinity-house.org.uk/beerdb/";
 
-BeerDB->config->{rows_per_page} = 10;
+BeerDB->config->rows_per_page(10);
 
 # Handpumps should not show up.
 BeerDB->config->{display_tables} = [qw[beer brewery pub style]];
 BeerDB::Brewery->untaint_columns( printable => [qw/name notes url/] );
 BeerDB::Style->untaint_columns( printable => [qw/name notes/] );
 BeerDB::Beer->untaint_columns(
-    printable => [qw/abv name price notes/],
+    printable => [qw/abv name price notes url/],
     integer => [qw/style brewery score/],
     date =>[ qw/date/],
 );
@@ -26,4 +32,9 @@ BeerDB->config->{loader}->relationship($_) for (
     "a brewery produces beers",
     "a style defines beers",
     "a pub has beers on handpumps");
+
+# For testing classmetadata
+sub BeerDB::Beer::classdata :Exported {};
+sub BeerDB::Beer::list_columns  { return qw/score name price style brewery url/};
+
 1;