]> git.decadent.org.uk Git - maypole.git/blob - lib/Apache/MVC/Model/Base.pm
General restructuring, and a delete method which doesn't quite work yet.
[maypole.git] / lib / Apache / MVC / Model / Base.pm
1 package Apache::MVC::Model::Base;
2 our %remember;
3 sub MODIFY_CODE_ATTRIBUTES { 
4     $remember{$_[1]} = $_[2]; ()
5 }
6
7 sub FETCH_CODE_ATTRIBUTES { $remember{$_[1]} 
8
9
10 sub view :Exported { }
11 sub edit :Exported { }
12
13 sub do_edit { die "This is an abstract method" }
14 sub get_objects { die "This is an abstract method" }
15
16 sub list :Exported {
17     my ($self, $r) = @_;
18     $r->objects([ $self->retrieve_all ]);
19 }
20
21 sub process {
22     my ($class, $r) = @_;
23     $r->template( my $method = $r->action );
24     $r->objects([ $class->get_objects($r) ]);
25     $class->$method($r) 
26 }