]> git.decadent.org.uk Git - maypole.git/blob - lib/Apache/MVC/Model/Base.pm
This gives us the edit method. (Which also creates new things)
[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     my ($self, $r) = @_;
12     return $self->retrieve(shift @{$r->{args}});
13 }
14
15 sub edit :Exported {
16     my ($self, $r) = @_;
17     return $self->retrieve(shift @{$r->{args}});
18 }
19
20 sub do_edit { die "This is an abstract method" }
21
22 sub list :Exported {
23     my ($self, $r) = @_;
24     return $self->retrieve_all;
25 }
26
27 sub process {
28     my ($class, $r) = @_;
29     $r->template( my $method = $r->action );
30     $r->objects([ $class->$method($r) ]);
31 }