Dzilize this distro
[gitmo/MooseX-UndefTolerant.git] / lib / MooseX / UndefTolerant.pm
index 76cbb5e..feda0ea 100644 (file)
@@ -4,24 +4,28 @@ use Moose qw();
 use Moose::Exporter;
 
 use MooseX::UndefTolerant::Attribute;
+use MooseX::UndefTolerant::Class;
 use MooseX::UndefTolerant::Constructor;
 
-our $VERSION = '0.06';
+
+my %metaroles = ( attribute => [ 'MooseX::UndefTolerant::Attribute' ] );
+if ( $Moose::VERSION < 1.9900 ) {
+        $metaroles{constructor} = [ 'MooseX::UndefTolerant::Constructor' ];
+}
+else {
+        $metaroles{class} = [ 'MooseX::UndefTolerant::Class' ];
+}
+
 
 Moose::Exporter->setup_import_methods(
-    class_metaroles => { 
-           attribute => [ 'MooseX::UndefTolerant::Attribute' ],
-           constructor => [ 'MooseX::UndefTolerant::Constructor' ],
-    }
+    class_metaroles => \%metaroles,
 );
 
 1;
 
-__END__
+# ABSTRACT: Make your attribute(s) tolerant to undef initialization
 
-=head1 NAME
-
-MooseX::UndefTolerant - Make your attribute(s) tolerant to undef initialization
+__END__
 
 =head1 SYNOPSIS
 
@@ -60,7 +64,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
@@ -99,9 +103,13 @@ example: have your cake and eat it too!
 
 See L<MooseX::UndefTolerant::Attribute>.
 
-=head1 AUTHOR
+=head1 CAVEATS
 
-Cory G Watson, C<< <gphat at cpan.org> >>
+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 ACKNOWLEDGEMENTS
 
@@ -119,14 +127,4 @@ Jay Shirley (jshirley)
 
 Mike Eldridge (diz)
 
-=head1 COPYRIGHT & LICENSE
-
-Copyright 2009 Cory G Watson.
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of either: the GNU General Public License as published
-by the Free Software Foundation; or the Artistic License.
-
-See http://dev.perl.org/licenses/ for more information.
-
 =cut