X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FConfig.pm;h=040a4c8e8baa0975d9a3bffcebca788a57655e01;hb=07f3f8fcee38924da9aa2b78864a61843a4fd84b;hp=c4843b7a4287b58d175f74e72d733cca217c977f;hpb=5a4a5fc4916a1efde5e792d3d04e465fb83aeabf;p=maypole.git diff --git a/lib/Maypole/Config.pm b/lib/Maypole/Config.pm index c4843b7..040a4c8 100644 --- a/lib/Maypole/Config.pm +++ b/lib/Maypole/Config.pm @@ -5,14 +5,17 @@ use attributes (); use strict; use warnings; +our $VERSION = "1." . sprintf "%04d", q$Rev: 334 $ =~ /: (\d+)/; + # Public accessors. __PACKAGE__->mk_accessors( - qw( view uri_base template_root model loader display_tables ok_tables - rows_per_page dsn user pass opts application_name) + qw( view view_options uri_base template_root template_extension model + loader display_tables ok_tables rows_per_page dsn user pass opts + application_name) ); # Should only be modified by model. -__PACKAGE__->mk_ro_accessors(qw( classes tables table_to_class)); +__PACKAGE__->mk_ro_accessors(qw( classes tables)); 1; @@ -30,62 +33,75 @@ This class stores all configuration data for your Maypole application. =head3 application_name -This should be a string containing you applications name. +This should be a string containing your application's name. -=head3 view +Optional. Is used in the factory templates. -The view class for your Maypole Application. Defaults to "Maypole::View::TT" +=head3 rows_per_page -=head3 uri_base +This is the number of rows your application should display per page. -This is the uri base that should be appended to your application when maypole -makes urls. +Optional. =head3 tables Contains a list of all tables, if supported by model. -=head3 table_to_class +=head3 template_extension -A hash containing a table to class mapping, if supported by model. +Optional template file extension. =head3 template_root -This is where your application can find it's templates. +This is where your application can find its templates. -=head3 rows_per_page +=head3 uri_base + +This is the URI base that should be prepended to your application when Maypole +makes URLs. + +=head3 view + +The name of the view class for your Maypole Application. Defaults to +"Maypole::View::TT". -This is the number of rows your application should display per page. +=head3 view_options + +A hash of configuration options for the view class. Consult the documentation +for your chosen view class for information on available configuration options. =head2 Model-Related -=head3 display_tables +=head3 classes -These are the tables that are public to your maypole application +This config variable contains a list of your view classes. This is set +up by the +model class, and should not be changed in the view or the config. -=head3 ok_tables +=head3 display_tables -These are the tables that maypole should care about +This is a list of the tables that are public to your Maypole +application. Defaults to all the tables in the database. -=head3 model +=head3 dsn -The model class for your Maypole Application. Defaults to "Maypole::View::CDBI" +The DSN to your database. Follows standard DBD syntax. =head3 loader -This is the loader object. It's set up by the CDBI model if it's not initialized before setup. - -=head3 classes +This is the loader object (n.b. an instance, not a class name). It's set +up by the CDBI model to an instance of "Class::DBI::Loader" if it's not +initialized before calling setup(). -This config variable contains a list of your view classes. This set up by the -model class, and should not be changed in the view or the config. +=head3 model -=head3 dsn -The DSN to your database. Follows standard DBD syntax. +The name of the model class for your Maypole Application. Defaults to +"Maypole::Model::CDBI". -=head3 user +=head3 ok_tables -Username to log into the database with +This is a hash of the public tables. It is populated automatically by +Maypole from the list in display_tables and should not be changed. =head3 pass @@ -93,17 +109,31 @@ Password for database user. =head3 opts -Other options to the dbi connect call. +Other options to the DBI connect call. + +=head3 user + +Username to log into the database with. + +=head2 Adding additional configuration data + +If your modules need to store additional configuration data for their +own use or to make available to templates, add a line like this to your +module: + + Maypole::Config->mk_accessors(qw(variable or variables)); + +Care is needed to avoid conflicting variable names. =head1 SEE ALSO L -=head1 MAINTAINER +=head1 AUTHOR -Sebastian Riedel, c +Sebastian Riedel, C -=head1 AUTHOR +=head1 AUTHOR EMERITUS Simon Cozens, C