X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FModel%2FBase.pm;h=c4c959f7c7c42a4c2b0b0ec933bc56242120b83b;hb=9bbeafd23117d2b489a298cc002a97b133de17bd;hp=0119d491e19018b7d3ff9608564b8aaa0e6e967c;hpb=48b7f94a68422ee2d1ee9ca6bf9cd5c2ee34e189;p=maypole.git diff --git a/lib/Maypole/Model/Base.pm b/lib/Maypole/Model/Base.pm index 0119d49..c4c959f 100644 --- a/lib/Maypole/Model/Base.pm +++ b/lib/Maypole/Model/Base.pm @@ -34,6 +34,25 @@ errors. A hash of errors will be passed to the template. sub do_edit { die "This is an abstract method" } +=head2 setup_database + + $model->setup_database($config, $namespace, @data) + +Uses the user-defined data in C<@data> to specify a database- for +example, by passing in a DSN. The model class should open the database, +and create a class for each table in the database. These classes will +then be Ced. It should also populate C<< $config->{tables} >> and +C<< $config->{classes} >> with the names of the classes and tables +respectively. The classes should be placed under the specified +namespace. For instance, C should be mapped to the class +C. + +=head2 class_of + + $model->class_of($r, $table) + +This maps between a table name and its associated class. + =head2 retrieve This turns an ID into an object of the appropriate class. @@ -71,6 +90,8 @@ similar. =cut +sub class_of { die "This is an abstract method" } +sub setup_database { die "This is an abstract method" } sub list :Exported { die "This is an abstract method" }; =pod