[Jifty-commit] r3535 - in jifty/branches/virtual-models: .
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Wed Jun 20 12:29:50 EDT 2007
Author: sterling
Date: Wed Jun 20 12:29:48 2007
New Revision: 3535
Modified:
jifty/branches/virtual-models/ (props changed)
jifty/branches/virtual-models/lib/Jifty/Model/ModelClass.pm
Log:
r7646 at riddle: andrew | 2007-06-15 13:39:27 -0500
Added support for adding mixin classes to a ModelClass via the mixin_classes column.
Modified: jifty/branches/virtual-models/lib/Jifty/Model/ModelClass.pm
==============================================================================
--- jifty/branches/virtual-models/lib/Jifty/Model/ModelClass.pm (original)
+++ jifty/branches/virtual-models/lib/Jifty/Model/ModelClass.pm Wed Jun 20 12:29:48 2007
@@ -37,8 +37,13 @@
column super_classes =>
type is 'text',
label is 'Super classes',
- hints is 'A space separated list of classes from which this model will inherit.';
- validateor is \&validate_super_classes;
+ hints is 'A space separated list of classes from which this model will inherit.',
+ validator is \&validate_super_classes;
+ column mixin_classes =>
+ type is 'text',
+ label is 'Mixin classes',
+ hints is 'A space separated list of mixin classes to load into this object.',
+ validator is \&validate_super_classes;
column included_columns =>
refers_to Jifty::Model::ModelClassColumnCollection by 'model_class';
};
@@ -160,12 +165,18 @@
my $base_class = Jifty->config->framework('ApplicationClass') . "::Record";
my $super_classes
= defined $self->super_classes ? $self->super_classes.' ' : '';
+ my $mixin_classes
+ = join "\n",
+ map { "use $_;" }
+ defined $self->mixin_classes
+ ? split /\s+/, $self->mixin_classes : ();
my $class = << "EOF";
use warnings;
use strict;
package $fully_qualified_class;
use base qw'$super_classes$base_class';
+$mixin_classes
use constant CLASS_UUID => '$uuid';
More information about the Jifty-commit
mailing list