| Maypole-FormBuilder documentation | Contained in the Maypole-FormBuilder distribution. |
Maypole::FormBuilder::Model::Plain - Class::DBI model without ::Loader
package Foo;
use 'Maypole::Application';
use Foo::SomeTable;
use Foo::Other::Table;
Foo->config->model( 'Maypole::FormBuilder::Model::Plain' );
Foo->setup( [ qw/ Foo::SomeTable Foo::Other::Table / ] );
# Foo now inherits from Class::DBI::FormBuilder via the model
Foo->form_builder_defaults( { method => 'post' } );
This module allows you to use Maypole with previously set-up
Class::DBI classes; simply call 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.
See Maypole::FormBuilder::Model
| Maypole-FormBuilder documentation | Contained in the Maypole-FormBuilder distribution. |
package Maypole::FormBuilder::Model::Plain; use warnings; use strict; use base 'Maypole::FormBuilder::Model'; use Maypole::FormBuilder; our $VERSION = $Maypole::FormBuilder::VERSION; Maypole::Config->mk_accessors( qw( table_to_class ) ); sub setup_database { my ( $self, $config, $namespace, $classes ) = @_; $config->{classes} = $classes; $config->{table_to_class} = { map { $_->table => $_ } @$classes }; $config->{tables} = [ keys %{ $config->{table_to_class} } ]; } sub class_of { my ( $self, $r, $table ) = @_; return $r->config->{table_to_class}->{ $table }; } 1;