]> git.decadent.org.uk Git - maypole.git/blob - lib/Maypole/Config.pm
6a236c829c8ecf950651cb2ed725472757264125
[maypole.git] / lib / Maypole / Config.pm
1 package Maypole::Config;
2 use base qw(Class::Accessor::Fast);
3 use attributes ();
4
5 use strict;
6 use warnings;
7
8 our $VERSION = "1." . sprintf "%04d", q$Rev$ =~ /: (\d+)/;
9
10 # Public accessors.
11 __PACKAGE__->mk_accessors(
12     qw( view uri_base template_root model loader display_tables ok_tables
13       rows_per_page dsn user pass opts application_name)
14 );
15
16 # Should only be modified by model.
17 __PACKAGE__->mk_ro_accessors(qw( classes tables));
18
19 1;
20
21 =head1 NAME
22
23 Maypole::Config - Maypole Configuration Class
24
25 =head1 DESCRIPTION
26
27 This class stores all configuration data for your Maypole application.
28
29 =head1 METHODS
30
31 =head2 View related
32
33 =head3 application_name
34
35 This should be a string containing your application's name.
36
37 =head3 rows_per_page
38
39 This is the number of rows your application should display per page.
40
41 =head3 tables
42
43 Contains a list of all tables, if supported by model.
44
45 =head3 template_root
46
47 This is where your application can find its templates.
48
49 =head3 uri_base
50
51 This is the URI base that should be prepended to your application when
52 Maypole
53 makes URLs.
54
55 =head3 view
56
57 The name of the view class for your Maypole Application. Defaults to
58 "Maypole::View::TT".
59
60 =head2 Model-Related
61
62 =head3 classes
63
64 This config variable contains a list of your view classes. This is set
65 up by the
66 model class, and should not be changed in the view or the config.
67
68 =head3 display_tables
69
70 This is a list of the tables that are public to your Maypole 
71 application. Defaults to all the tables in the database.
72
73 =head3 dsn
74
75 The DSN to your database. Follows standard DBD syntax.
76
77 =head3 loader
78
79 This is the loader object (n.b. an instance, not a class name). It's set
80 up by the CDBI model to an instance of "Class::DBI::Loader" if it's not
81 initialized before calling setup().
82
83 =head3 model
84
85 The name of the model class for your Maypole Application. Defaults to
86 "Maypole::Model::CDBI".
87
88 =head3 ok_tables
89
90 This is a hash of the public tables. It is populated automatically by 
91 Maypole from the list in display_tables and should not be changed.
92
93 =head3 pass
94
95 Password for database user.
96
97 =head3 opts
98
99 Other options to the DBI connect call.
100
101 =head3 user
102
103 Username to log into the database with.
104
105 =head2 Adding additional configuration data
106
107 If your modules need to store additional configuration data for their 
108 own use or to make available to templates, add a line like this to your 
109 module:
110
111    Maypole::Config->mk_accessors(qw(variable or variables));
112
113 Care is needed to avoid conflicting variable names.
114
115 =head1 SEE ALSO
116
117 L<Maypole>
118
119 =head1 AUTHOR
120
121 Sebastian Riedel, C<sri@oook.de>
122
123 =head1 AUTHOR EMERITUS
124
125 Simon Cozens, C<simon@cpan.org>
126
127 =head1 LICENSE
128
129 You may distribute this code under the same terms as Perl itself.
130
131 =cut
132