X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FConfig.pm;h=040a4c8e8baa0975d9a3bffcebca788a57655e01;hb=07f3f8fcee38924da9aa2b78864a61843a4fd84b;hp=b8202cf4d4b49260faf97418477809742265a23c;hpb=5f530b5f17106319faa2f437a567332c86bf6a2c;p=maypole.git diff --git a/lib/Maypole/Config.pm b/lib/Maypole/Config.pm index b8202cf..040a4c8 100644 --- a/lib/Maypole/Config.pm +++ b/lib/Maypole/Config.pm @@ -1,23 +1,21 @@ package Maypole::Config; -use base qw(Class::Accessor); +use base qw(Class::Accessor::Fast); use attributes (); -#use overload -# '""' => sub { shift->stringify_self}; + 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) - ); + 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; @@ -29,32 +27,119 @@ Maypole::Config - Maypole Configuration Class This class stores all configuration data for your Maypole application. -=head2 view +=head1 METHODS + +=head2 View related + +=head3 application_name + +This should be a string containing your application's name. + +Optional. Is used in the factory templates. + +=head3 rows_per_page + +This is the number of rows your application should display per page. + +Optional. + +=head3 tables + +Contains a list of all tables, if supported by model. + +=head3 template_extension + +Optional template file extension. + +=head3 template_root + +This is where your application can find its templates. + +=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". + +=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 classes + +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 display_tables + +This is a list of the tables that are public to your Maypole +application. Defaults to all the tables in the database. + +=head3 dsn + +The DSN to your database. Follows standard DBD syntax. + +=head3 loader + +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(). + +=head3 model + +The name of the model class for your Maypole Application. Defaults to +"Maypole::Model::CDBI". + +=head3 ok_tables + +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 + +Password for database user. + +=head3 opts + +Other options to the DBI connect call. + +=head3 user + +Username to log into the database with. + +=head2 Adding additional configuration data -The view class for your Maypole Application. Defaults to "Maypole::View::TT" +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: -=head2 display_tables + Maypole::Config->mk_accessors(qw(variable or variables)); -=head2 ok_tables +Care is needed to avoid conflicting variable names. -=head2 model +=head1 SEE ALSO -=head2 loader +L -=head2 uri_base +=head1 AUTHOR -=head2 classes - -=head2 rows_per_page +Sebastian Riedel, C -=head2 dsn +=head1 AUTHOR EMERITUS -=head2 user +Simon Cozens, C -=head2 pass +=head1 LICENSE -=head2 opts +You may distribute this code under the same terms as Perl itself. -+head2 table_to_root +=cut -=head2 template_root