better names for coercion, mst++
Stevan Little [Sun, 19 Mar 2006 20:40:52 +0000 (20:40 +0000)]
lib/Moose/Util/TypeConstraints.pm
t/005_basic.t
t/054_util_type_coercion.t

index a4a02f4..362ad54 100644 (file)
@@ -15,7 +15,7 @@ sub import {
        my $pkg = shift || caller();
        return if $pkg eq ':no_export';
        no strict 'refs';
-       foreach my $export (qw(type subtype as where to coerce)) {
+       foreach my $export (qw(type subtype as where coerce from via)) {
                *{"${pkg}::${export}"} = \&{"${export}"};
        }       
 }
@@ -120,8 +120,9 @@ sub coerce ($@) {
 }
 
 sub as    ($) { $_[0] }
+sub from  ($) { $_[0] }
 sub where (&) { $_[0] }
-sub to    (&) { $_[0] }
+sub via   (&) { $_[0] }
 
 # define some basic types
 
@@ -168,8 +169,8 @@ Moose::Util::TypeConstraints - Type constraint system for Moose
       => where { $_ < 10 };
       
   coerce Num 
-      => as Str
-        => to { 0+$_ }; 
+      => from Str
+        => via { 0+$_ }; 
 
 =head1 DESCRIPTION
 
@@ -230,7 +231,9 @@ Suggestions for improvement are welcome.
 
 =item B<coerce>
 
-=item B<to>
+=item B<from>
+
+=item B<via>
 
 =back
 
index 8ffb6b8..19958a2 100644 (file)
@@ -19,10 +19,10 @@ BEGIN {
     use Moose;
     
     coerce 'HTTPHeader'
-        => as ArrayRef 
-            => to { HTTPHeader->new(array => $_[0]) }
-        => as HashRef 
-            => to { HTTPHeader->new(hash => $_[0]) };    
+        => from ArrayRef 
+            => via { HTTPHeader->new(array => $_[0]) }
+        => from HashRef 
+            => via { HTTPHeader->new(hash => $_[0]) };    
     
     has 'array' => (is => 'ro');
     has 'hash'  => (is => 'ro');    
index a981b10..83bd546 100644 (file)
@@ -25,10 +25,10 @@ subtype Header =>
     => where { $_->isa('HTTPHeader') };
     
 coerce Header 
-    => as ArrayRef 
-        => to { HTTPHeader->new(array => $_[0]) }
-    => as HashRef 
-        => to { HTTPHeader->new(hash => $_[0]) };
+    => from ArrayRef 
+        => via { HTTPHeader->new(array => $_[0]) }
+    => from HashRef 
+        => via { HTTPHeader->new(hash => $_[0]) };
         
 Moose::Util::TypeConstraints::export_type_contstraints_as_functions();