[Jifty-commit] r2999 - in jifty/branches/virtual-models: .

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Fri Mar 16 14:40:39 EDT 2007


Author: sterling
Date: Fri Mar 16 14:40:38 2007
New Revision: 2999

Modified:
   jifty/branches/virtual-models/   (props changed)
   jifty/branches/virtual-models/lib/Jifty/Model/ModelClass.pm

Log:
 r3240 at riddle:  andrew | 2007-03-16 13:40:25 -0500
 Fixed the validator so that it uses Jifty::DBI::Record notation rather than Jifty::Action notation.


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	Fri Mar 16 14:40:38 2007
@@ -152,7 +152,8 @@
 
     my $uuid = $self->__uuid;
     my $base_class = Jifty->config->framework('ApplicationClass') . "::Record";
-    my $super_classes = ' '.$self->super_classes;
+    my $super_classes 
+        = defined $self->super_classes ? ' '.$self->super_classes : '';
     my $class                 = << "EOF";
 use warnings;
 use strict;
@@ -181,22 +182,29 @@
 
 =cut
 
+my $list_of_packages = qr/^
+    \s* (?: \w+ ) (?: :: \w+ )*          # match the first
+    ( \s+ (?: \w+ ) (?: :: \w+ )* )* \s* # match the rest
+$/x;
+
 sub validate_super_classes {
     my ($self, $value) = @_;
+    my $ret = Class::ReturnValue->new;
 
-    if ($value !~ /^\s+$/) {
-
-        $value =~ /^
-            \s* (?: \w+ ) (?: :: \w+ )*          # match the first
-            ( \s+ (?: \w+ ) (?: :: \w+ )* )* \s* # match the rest
-        $/x
-            or return $self->validation_error(
-                super_classes => 'This must be a space separated list of Perl class names.',
-            );
+    if ($value =~ /^$/ || $value =~ $list_of_packages) {
+        $ret->as_array(1, 'OK');
+    }
 
+    else {
+        $ret->as_array(0, 'This must be a space separated list of Perl class names.');
+        $ret->as_error(
+            errno        => 1,
+            do_backtrace => 0,
+            message      => 'This must be a space separated list of class names.',
+        );
     }
 
-    return $self->validation_ok('super_classes');
+    return $ret->return_value;
 }
 
 1;


More information about the Jifty-commit mailing list