[Jifty-commit] r2886 - in Jifty-DBI/branches/od: .

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sat Mar 3 11:29:38 EST 2007


Author: jesse
Date: Sat Mar  3 11:29:38 2007
New Revision: 2886

Modified:
   Jifty-DBI/branches/od/   (props changed)
   Jifty-DBI/branches/od/lib/Jifty/DBI/Record.pm

Log:
 r52891 at pinglin:  jesse | 2007-03-02 18:51:05 +0000
  * extracting methods for calling validation and Class::Trigger support


Modified: Jifty-DBI/branches/od/lib/Jifty/DBI/Record.pm
==============================================================================
--- Jifty-DBI/branches/od/lib/Jifty/DBI/Record.pm	(original)
+++ Jifty-DBI/branches/od/lib/Jifty/DBI/Record.pm	Sat Mar  3 11:29:38 2007
@@ -1343,6 +1343,69 @@
 }
 
 
+=head2 run_canonicalization_for_column
+
+=cut
+
+sub run_canonicalization_for_column {
+    my $self = shift;
+    my %args = ( column => undef,
+                 value => undef,
+                 @_);
+        my $key = $args{column};
+        my $attr = $args{value};
+        my $method = "canonicalize_$key";
+        my $func = $self->can($method) or return $attr;
+        return ($self->$func( $attr));
+}
+
+sub has_canonicalizer_for_column {
+    my $self = shift;
+    my $key = shift;
+        my $method = "canonicalize_$key";
+     if( $self->can($method) ) {
+         return 1;
+     } else {
+         return undef;
+     }
+}
+
+
+=head2 run_canonicalization_for_column
+
+=cut
+
+sub run_validation_for_column {
+    my $self = shift;
+    my %args = ( column => undef,
+                 value => undef,
+                 @_);
+        my $key = $args{'column'};
+        my $attr = $args{'value'};
+        my $method = "validate_$key";
+        if (my $func = $self->can($method)) {
+        my ( $val, $msg ) = $func->($self, $attr);
+        return ($val,$msg);
+    }
+
+    else {
+        return (1, 'Validation ok');
+    }
+}
+
+sub has_validator_for_column {
+    my $self = shift;
+    my $key = shift;
+        my $method = "validate_$key";
+     if( $self->can($method) ) {
+         return 1;
+     } else {
+         return undef;
+     }
+}
+
+
+
 sub _run_callback {
     my $self = shift;
     my %args = ( name => undef,
@@ -1352,7 +1415,10 @@
     if ( $self->can($method) ) {
         return $self->$method( $args{args} );
     }
-    else { return 1};
+
+    my @return = $self->call_trigger($args{'name'} => $args{args});
+
+ return 1;
 }
 
 1;


More information about the Jifty-commit mailing list