add note about current limitations of usage.
[gitmo/MooseX-UndefTolerant.git] / lib / MooseX / UndefTolerant.pm
index 3707141..f25b684 100644 (file)
@@ -6,7 +6,7 @@ use Moose::Exporter;
 use MooseX::UndefTolerant::Attribute;
 use MooseX::UndefTolerant::Constructor;
 
-our $VERSION = '0.04';
+our $VERSION = '0.07';
 
 Moose::Exporter->setup_import_methods(
     class_metaroles => { 
@@ -21,7 +21,7 @@ __END__
 
 =head1 NAME
 
-MooseX::UndefTolerant - Make your attribute(s) tolerant to undef intitialization
+MooseX::UndefTolerant - Make your attribute(s) tolerant to undef initialization
 
 =head1 SYNOPSIS
 
@@ -60,7 +60,7 @@ Or, if you only want one attribute to have this behaviour:
 
 Loading this module in your L<Moose> class makes initialization of your
 attributes tolerant of undef.  If you specify the value of undef to any of
-the attributes they will not be initialized.  Effectively behaving as if you
+the attributes they will not be initialized, effectively behaving as if you
 had not provided a value at all.
 
 =head1 MOTIVATION
@@ -86,9 +86,9 @@ Maybe[Str] and I still want my predicate (C<has_foo>) to work.  The only
 real solution was:
 
   if(defined($foo)) {
-    $class = My:CLass->new(foo => $foo, bar => 123);
+    $class = My:Class->new(foo => $foo, bar => 123);
   } else {
-    $class = My:CLass->new(bar => 123);
+    $class = My:Class->new(bar => 123);
   }
 
 Or some type of codemulch using ternarys.  This module allows you to make
@@ -97,6 +97,16 @@ example: have your cake and eat it too!
 
 =head1 PER ATTRIBUTE
 
+See L<MooseX::UndefTolerant::Attribute>.
+
+=head1 CAVEATS
+
+This extension does not currently work in immutable classes when applying the
+trait to some (but not all) attributes in the class. This is because the
+inlined constructor initialization code currently lives in
+L<Moose::Meta::Method::Constructor>, not L<Moose::Meta::Attribute>. The good
+news is that this is expected to be changing shortly.
+
 =head1 AUTHOR
 
 Cory G Watson, C<< <gphat at cpan.org> >>