[Jifty-commit] r512 -

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon Jan 16 11:21:49 EST 2006


Author: jesse
Date: Mon Jan 16 11:21:48 2006
New Revision: 512

Modified:
   /   (props changed)
   jifty/trunk/lib/Jifty/ClassLoader.pm

Log:
 r22409 at truegrounds:  jesse | 2006-01-15 20:46:40 -0500
 * Don't automatically require Record classes when loading Collection classes. This lets us have circular relationships between record types and collections.


Modified: jifty/trunk/lib/Jifty/ClassLoader.pm
==============================================================================
--- jifty/trunk/lib/Jifty/ClassLoader.pm	(original)
+++ jifty/trunk/lib/Jifty/ClassLoader.pm	Mon Jan 16 11:21:48 2006
@@ -109,14 +109,12 @@
       return $self->return_class( "package " . $CurrentUserClass . ";\n" . "use base 'Jifty::CurrentUser';\n" . " 1;" );
       }
     elsif ( $module
-        =~ m!^($ApplicationClassPrefix)::Model::([^:]+)Collection$!
+        =~ m!^($ApplicationClassPrefix)::Model::(\w+)Collection$!
         )
     {
 
         # Auto-create Collection classes
         my $record_class = $ApplicationClassPrefix . "::Model::" . $2;
-        return undef unless $self->{models}{$record_class} || $record_class->require();
-
         return $self->return_class( "package " . $ApplicationClassPrefix . "::Model::" . $2 . "Collection;\n"."use base qw/@{[$ApplicationClassPrefix]}::Collection/;\n sub record_class { '@{[$ApplicationClassPrefix]}::Model::$2' }\n"." 1;"
         );
 
@@ -183,7 +181,7 @@
         require => 1,
         inner => 0
     );
-    $self->{models} = {map {($_ => 1)} grep {/^($ApplicationClassPrefix)::Model::([^:]+)$/ and not /Collection$/} $self->plugins};
+    $self->{models} = {map {($_ => 1)} grep {/^($ApplicationClassPrefix)::Model::(.*)$/ and not /Collection$/} $self->plugins};
     for my $full (keys %{$self->{models}}) {
         my($short) = $full =~ /::Model::(.*)/;
          ($full . "Collection")->require;


More information about the Jifty-commit mailing list