use Apache::Constants ":common";
use strict;
use warnings;
-our $VERSION = "0.2";
+our $VERSION = "1.0";
__PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
__PACKAGE__->mk_accessors ( qw( ar params query objects model_class
args action template ));
sub call_authenticate {
my $self = shift;
return $self->model_class->authenticate($self) if
- $self->model_class->can("authenticate");
- return $self->authenticate();
+ $self->model_class->can("authenticate");
+ return $self->authenticate($self); # Interface consistency is a Good Thing
}
sub additional_data {}
package ProductDatabase;
use base 'Maypole';
__PACKAGE__->set_database("dbi:mysql:products");
- BeerDB->config->{uri_base} = "http://your.site/catalogue/";
+ ProductDatabase->config->{uri_base} = "http://your.site/catalogue/";
ProductDatabase::Product->has_a("category" => ProductDatabase::Category);
# ...
$r->template("template_name");
}
+Then your top-level application package should change the model class:
+(Before calling C<setup>)
+
ProductDatabase->config->{model_class} = "ProductDatabase::Model";
(The C<:Exported> attribute means that the method can be called via the