[Jifty-commit] r3594 - in jifty/branches/virtual-models: lib/Jifty
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Sun Jul 1 23:56:48 EDT 2007
Author: sterling
Date: Sun Jul 1 23:56:48 2007
New Revision: 3594
Modified:
jifty/branches/virtual-models/ (props changed)
jifty/branches/virtual-models/lib/Jifty/ClassLoader.pm
Log:
r7913 at dynpc145: andrew | 2007-07-01 21:12:44 -0500
Make ClassLoader more like trunk and fix the problem (albeit inefficiently) to the t/TestApp-Plugin-REST/02-basic-use.t test failure by eliminating duplicate models being added to the models accessor.
Modified: jifty/branches/virtual-models/lib/Jifty/ClassLoader.pm
==============================================================================
--- jifty/branches/virtual-models/lib/Jifty/ClassLoader.pm (original)
+++ jifty/branches/virtual-models/lib/Jifty/ClassLoader.pm Sun Jul 1 23:56:48 2007
@@ -251,9 +251,9 @@
except => qr/\.#/,
inner => 0
);
- # That plugins is module::pluggable, not jdbi
$models{$_} = 1 for grep {/^($base)::Model::(.*)$/ and not /Collection$/} $self->plugins;
- for my $full (sort keys %models) {
+ $self->models(sort keys %models);
+ for my $full ($self->models) {
$self->_require_model_related_classes($full);
}
@@ -262,7 +262,10 @@
sub _require_model_related_classes {
my $self = shift;
my $full = shift;
- push( @{ $self->models }, $full );
+
+ # XXX TODO FIXME grep isn't a very efficient solution here -- sterling
+ my $models = $self->models;
+ push( @$models, $full ) unless grep { $_ eq $full } @$models;
my $base = $self->{base};
@@ -329,11 +332,10 @@
sub models {
my $self = shift;
- $self->{models} ||= [];
if (@_) {
$self->{models} = ref($_[0]) ? $_[0] : \@_;
}
- wantarray ? @{ $self->{models} } : $self->{models};
+ wantarray ? @{ $self->{models} ||= [] } : $self->{models};
}
=head2 DESTROY
More information about the Jifty-commit
mailing list