1 package Maypole::Config;
2 use base qw(Class::Accessor::Fast);
8 our $VERSION = "1." . sprintf "%04d", q$Rev$ =~ /: (\d+)/;
11 __PACKAGE__->mk_accessors(
12 qw( view view_options uri_base template_root model loader display_tables
13 ok_tables rows_per_page dsn user pass opts application_name)
16 # Should only be modified by model.
17 __PACKAGE__->mk_ro_accessors(qw( classes tables));
23 Maypole::Config - Maypole Configuration Class
27 This class stores all configuration data for your Maypole application.
33 =head3 application_name
35 This should be a string containing your application's name.
39 This is the number of rows your application should display per page.
43 Contains a list of all tables, if supported by model.
47 This is where your application can find its templates.
51 This is the URI base that should be prepended to your application when
57 The name of the view class for your Maypole Application. Defaults to
62 A hash of configuration options for the view class. Consult the documentation
63 for your chosen view class for information on available configuration options.
69 This config variable contains a list of your view classes. This is set
71 model class, and should not be changed in the view or the config.
75 This is a list of the tables that are public to your Maypole
76 application. Defaults to all the tables in the database.
80 The DSN to your database. Follows standard DBD syntax.
84 This is the loader object (n.b. an instance, not a class name). It's set
85 up by the CDBI model to an instance of "Class::DBI::Loader" if it's not
86 initialized before calling setup().
90 The name of the model class for your Maypole Application. Defaults to
91 "Maypole::Model::CDBI".
95 This is a hash of the public tables. It is populated automatically by
96 Maypole from the list in display_tables and should not be changed.
100 Password for database user.
104 Other options to the DBI connect call.
108 Username to log into the database with.
110 =head2 Adding additional configuration data
112 If your modules need to store additional configuration data for their
113 own use or to make available to templates, add a line like this to your
116 Maypole::Config->mk_accessors(qw(variable or variables));
118 Care is needed to avoid conflicting variable names.
126 Sebastian Riedel, C<sri@oook.de>
128 =head1 AUTHOR EMERITUS
130 Simon Cozens, C<simon@cpan.org>
134 You may distribute this code under the same terms as Perl itself.