package Maypole::Model::CDBI::Plain;
+use Maypole::Config;
use base 'Maypole::Model::CDBI';
+use strict;
+
+Maypole::Config->mk_accessors(qw(table_to_class));
+
+
sub setup_database {
my ( $self, $config, $namespace, $classes ) = @_;
$config->{classes} = $classes;
+ foreach my $class (@$classes) { $namespace->load_model_subclass($class); }
+ $namespace->model_classes_loaded(1);
$config->{table_to_class} = { map { $_->table => $_ } @$classes };
$config->{tables} = [ keys %{ $config->{table_to_class} } ];
}
return $r->config->{table_to_class}->{$table};
}
+
+
+
1;
=head1 NAME
=head1 SYNOPSIS
package Foo;
- use base 'Apache::DBI';
- use Foo::SomeTable;
- use Foo::Other::Table;
+ use 'Maypole::Application';
- Foo->config->{model_class} = "Maypole::Model::CDBI::Plain";
+ Foo->config->model("Maypole::Model::CDBI::Plain");
Foo->setup([qw/ Foo::SomeTable Foo::Other::Table /]);
=head1 DESCRIPTION
This module allows you to use Maypole with previously set-up
-C<Class::DBI> classes; simply call C<setup> with a list reference
+L<Class::DBI> classes; simply call C<setup> with a list reference
of the classes you're going to use, and Maypole will work out the
tables and set up the inheritance relationships as normal.
+=head1 METHODS
+
+=over 4
+
+=item setup_database
+
+=item class_of
+
+=back
+
+See L<Maypole::Model::Base>
+
=cut