[Moose-commits] r7865 - MooseX-Types-Dependent/trunk/lib/MooseX/Meta/TypeConstraint

jnapiorkowski at code2.0beta.co.uk jnapiorkowski at code2.0beta.co.uk
Sun Mar 29 18:35:20 BST 2009


Author: jnapiorkowski
Date: 2009-03-29 10:35:20 -0700 (Sun, 29 Mar 2009)
New Revision: 7865

Modified:
   MooseX-Types-Dependent/trunk/lib/MooseX/Meta/TypeConstraint/Dependent.pm
Log:
switch to ->check([arrayref]), its more to type but allows up to set a sane parent type

Modified: MooseX-Types-Dependent/trunk/lib/MooseX/Meta/TypeConstraint/Dependent.pm
===================================================================
--- MooseX-Types-Dependent/trunk/lib/MooseX/Meta/TypeConstraint/Dependent.pm	2009-03-29 17:18:24 UTC (rev 7864)
+++ MooseX-Types-Dependent/trunk/lib/MooseX/Meta/TypeConstraint/Dependent.pm	2009-03-29 17:35:20 UTC (rev 7865)
@@ -114,17 +114,8 @@
 =cut
 
 around 'check' => sub {
-    my ($check, $self, $check_value, $constraining_value) = @_;
-    
-    unless($self->check_dependent($check_value)) {
-        return;
-    }
-
-    unless($self->check_constraining($constraining_value)) {
-        return;
-    }
-
-    return $self->$check($check_value, $constraining_value);
+    my ($check, $self, @args) = @_;
+    return $self->$check(@args);
 };
 
 =head2 generate_constraint_for ($type_constraints)
@@ -137,7 +128,18 @@
 sub generate_constraint_for {
     my ($self, $callback, $constraining) = @_;
     return sub {   
-        my ($check_value, $constraining_value) = @_;
+        my ($dependent_pair) = @_;
+        my ($check_value, $constraining_value) = @$dependent_pair;
+        
+        ## First need to test the bits
+        unless($self->check_dependent($check_value)) {
+            return;
+        }
+    
+        unless($self->check_constraining($constraining_value)) {
+            return;
+        }
+    
         my $constraint_generator = $self->constraint_generator;
         return $constraint_generator->(
             $callback,




More information about the Moose-commits mailing list