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