X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FConfig.pm;h=3e8081177b2a276965072fdad92b96c2f43cf20e;hb=ce73ea8b848572d33ad852e6b37f1c59ec5f9fc1;hp=b48548efa6d0251dd750c98a85bd8d502eef8c44;hpb=8fe02231d92e4564f0dc52a1aa00e9d0cb974819;p=maypole.git diff --git a/lib/Maypole/Config.pm b/lib/Maypole/Config.pm index b48548e..3e80811 100644 --- a/lib/Maypole/Config.pm +++ b/lib/Maypole/Config.pm @@ -5,17 +5,22 @@ use attributes (); use strict; use warnings; +our $VERSION = 2.121; + # 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 template_root template_extension build_form_elements + uri_base rows_per_page application_name + model loader display_tables ok_tables + dsn user pass opts + additional + request_options + ) + ); # Should only be modified by model. -__PACKAGE__->mk_ro_accessors( - qw( classes tables table_to_class - ) -); +__PACKAGE__->mk_ro_accessors(qw( classes tables)); 1; @@ -31,52 +36,86 @@ This class stores all configuration data for your Maypole application. =head2 View related -=head3 view +=head3 application_name + +This should be a string containing your application's name. + +Optional. Is used in the factory templates. + +=head3 rows_per_page -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 uri_base +Optional. -This is the uri base that should be appended to your application when maypole -makes urls. +=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 it's templates. +This is where your application can find its templates. -=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 prepended to your application when Maypole +makes URLs. -=head2 Model-Related +=head3 view -=head3 display_tables +The name of the view class for your Maypole Application. Defaults to +"Maypole::View::TT". -These are the tables that are public to your maypole application +=head3 build_form_elements -=head3 ok_tables +Globally specify whether to build form elements; populating the cgi metadata with +autogenerated HTML::Element widgets for the class/object. -These are the tables that maypole should care about +Can be over-ridden per action using the method of the same name for the request. -=head3 model +If not set, then Maypole will assume it is true. -The model class for your Maypole Application. Defaults to "Maypole::View::CDBI" +=head3 view_options -=head3 loader +A hash of configuration options for the view class. Consult the documentation +for your chosen view class for information on available configuration options. -This is the loader object. It's set up by the CDBI model if it's not initialized before setup. +=head2 Model-Related =head3 classes -This config variable contains a list of your view classes. This set up by the +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 user +=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(). -Username to log into the database with +=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 @@ -84,24 +123,46 @@ Password for database user. =head3 opts -Other options to the dbi connect call. +Other options to the DBI connect call. -=head1 SEE ALSO +=head3 user -L +Username to log into the database with. + +=head3 build_form_elements + +Flag specifying whether to build metadata for form elements in factory templates + +=head3 request_options -=head1 MAINTAINER +Hashref of options passed when creating cgi or apache request -Sebastian Riedel, c +=head2 Adding additional configuration data + +You can use the 'additional' attribute for stashing additional info, especially from additional_data method, +i.e. $r->config->additional({foo=>bar}); + +Or.. + +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 AUTHOR -Simon Cozens, C +Sebastian Riedel, C -=head1 THANK YOU +=head1 AUTHOR EMERITUS -Jesse Scheidlower, Jody Belka, Markus Ramberg, Mickael Joanne, Simon Flack, -Veljko Vidovic and all the others who've helped. +Simon Cozens, C =head1 LICENSE