[Maypole] Maypole::Config documentation

From: Dave Howorth (dhoworth at mrc-lmb.cam.ac.uk)
Date: Thu Oct 28 2004 - 10:34:10 BST


I wrote:
>>Maypole::Config
>>---------------
>>Is there any significance in the order in which methods are listed? If
>>so, it would be good to explain it. If not, alphabetical order would be
>>nice :)

and Sebastian replied:
> Patches welcome ;)

So here's a new version of Maypole::Config in alphabetical order :)

I've also clarified the descriptions in a few cases. There are three
methods that I don't understand:

tables
------
This is mandatory, according to Maypole::Model::Base, so why is it
described as 'if supported'?

table_to_class
--------------
This appears to be a private config variable used by
Maypole::Model::CDBI::Plain in order to support the required class_of()
interface method. As such:
- I don't see that it's view-related.
- I don't think it should be documented in the public interface of
Maypole::Config.
- This is a clear example of the need for models etc to be able to
extend the config state. I believe there should be a documented way for
modules to do this, as I've said before. There are two reasons: (1) it
means the people writing extensions can just get on and do it without
worrying about unwanted side-effects etc. (2) it means the core
developers know what other people are likely or not to do, and so can
steer usage.

ok_tables
---------
the description is clearly incomplete but I have no idea when this
method is supposed to be used, so I can't complete the description.

Cheers, Dave

==============================================

package Maypole::Config;
use base qw(Class::Accessor::Fast);
use attributes ();

use strict;
use warnings;

# 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)
);

# Should only be modified by model.
__PACKAGE__->mk_ro_accessors(qw( classes tables table_to_class));

1;

=head1 NAME

Maypole::Config - Maypole Configuration Class

=head1 DESCRIPTION

This class stores all configuration data for your Maypole application.

=head1 METHODS

=head2 View related

=head3 application_name

This should be a string containing your application's name.

=head3 rows_per_page

This is the number of rows your application should display per page.

=head3 tables

Contains a list of all tables, if supported by model.

=head3 table_to_class

A hash containing a table to class mapping, if supported by model.

=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".

=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

These are 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

These are the tables that Maypole should care about

=head3 pass

Password for database user.

=head3 opts

Other options to the DBI connect call.

=head3 user

Username to log into the database with.

=head1 SEE ALSO

L<Maypole>

=head1 MAINTAINER

Sebastian Riedel, C<sri at oook.de>

=head1 AUTHOR

Simon Cozens, C<simon at cpan.org>

=head1 LICENSE

You may distribute this code under the same terms as Perl itself.

=cut

_______________________________________________
maypole mailing list
maypole at lists.netthink.co.uk
http://lists.netthink.co.uk/listinfo/maypole



This archive was generated by hypermail 2.1.3 : Thu Feb 24 2005 - 22:25:56 GMT