more pod and clarified license
john napiorkowski [Wed, 27 May 2009 17:21:00 +0000 (13:21 -0400)]
lib/MooseX/Dependent.pm
lib/MooseX/Dependent/Meta/TypeCoercion/Dependent.pm
lib/MooseX/Dependent/Meta/TypeConstraint/Dependent.pm

index 0803815..a3f4c5d 100644 (file)
@@ -132,6 +132,8 @@ John Napiorkowski, C<< <jjnapiork@cpan.org> >>
 
 =head1 COPYRIGHT & LICENSE
 
+Copyright 2008-2009, John Napiorkowski C<< <jjnapiork@cpan.org> >>
+
 This program is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
index 8444aff..65cedef 100644 (file)
@@ -10,7 +10,8 @@ MooseX::Meta::TypeCoercion::Dependent - Coerce Dependent type constraints.
 
 =head1 DESCRIPTION
 
-TBD
+This class is not intended for public consumption.  Please don't subclass it
+or rely on it.  Chances are high stuff here is going to change a lot.
 
 =head1 METHODS
 
@@ -19,7 +20,10 @@ This class defines the following methods.
 =head add_type_coercions
 
 method modification to throw exception should we try to add a coercion on a
-dependent type that's had it's constraining value filled
+dependent type that is already defined by a constraining value.  We do this
+since defined dependent type constraints inherit their coercion from the parent
+constraint.  It makes no sense to even be using dependent types if you know the
+constraining value beforehand!
 
 =cut
 
@@ -33,7 +37,8 @@ around 'add_type_coercions' => sub {
 };
 
 
-## These two are here until I can merge change upstream to Moose
+## These two are here until I can merge change upstream to Moose.  These are two
+## very minor changes we can probably just put into Moose without breaking stuff
 sub coerce {
     my $self = shift @_;
     my $coderef = $self->_compiled_type_coercion;
index efb11a5..359685d 100644 (file)
@@ -20,6 +20,11 @@ see L<MooseX::Dependent> for examples and details of how to use dependent
 types.  This class is a subclass of L<Moose::Meta::TypeConstraint> which
 provides the gut functionality to enable dependent type constraints.
 
+This class is not intended for public consumption.  Please don't subclass it
+or rely on it.  Chances are high stuff here is going to change a lot.  For
+example, I will probably refactor this into several classes to get rid of all
+the ugly conditionals.
+
 =head1 ATTRIBUTES
 
 This class defines the following attributes.