adding metaclass laliasing 0_02
Stevan Little [Thu, 5 Apr 2007 19:40:18 +0000 (19:40 +0000)]
Build.PL
ChangeLog
README
lib/MooseX/Getopt.pm
lib/MooseX/Getopt/Meta/Attribute.pm
t/001_basic.t

index 2b51fe1..df1d611 100644 (file)
--- a/Build.PL
+++ b/Build.PL
@@ -6,7 +6,7 @@ my $build = Module::Build->new(
     module_name => 'MooseX::Getopt',
     license => 'perl',
     requires => {   
-        'Moose'        => '0.17',
+        'Moose'        => '0.19',
         'Getopt::Long' => '2.36',
     },
     optional => {
index 1503cd8..94274b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,17 @@
 Revision history for Perl extension MooseX-Getopt
 
+0.02
+
+    * MooseX::Getopt
+      - added the ARGV attribute (thanks to blblack)
+        - added tests and docs for this
+
+    * MooseX::Getopt::Meta::Attribute
+      - added the cmd_aliases attribute (thanks to blblack)
+        - added tests and docs for this
+      - added support for Moose 0.19's custom 
+        attribute metaclass alias registry.
+        - added tests and docs for this
+
 0.01 Friday, March 9, 2007
     - module released to CPAN
\ No newline at end of file
diff --git a/README b/README
index 0b60b0f..dc0ec1a 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-MooseX::Getopt version 0.01
+MooseX::Getopt version 0.02
 ===========================
 
 See the individual module documentation for more information
index 572be04..688f4ef 100644 (file)
@@ -7,7 +7,7 @@ use Getopt::Long;
 use MooseX::Getopt::OptionTypeMap;
 use MooseX::Getopt::Meta::Attribute;
 
-our $VERSION   = '0.01';
+our $VERSION   = '0.02';
 our $AUTHORITY = 'cpan:STEVAN';
 
 has ARGV => (is => 'rw', isa => 'ArrayRef');
index 55d1750..5f29df1 100644 (file)
@@ -3,7 +3,7 @@ package MooseX::Getopt::Meta::Attribute;
 use Moose;
 use Moose::Util::TypeConstraints;
 
-our $VERSION   = '0.01';
+our $VERSION   = '0.02';
 our $AUTHORITY = 'cpan:STEVAN';
 
 extends 'Moose::Meta::Attribute'; # << Moose extending Moose :)
@@ -30,10 +30,15 @@ has 'cmd_aliases' => (
     coerce    => 1,
 );
 
-no Moose; 1;
+no Moose;
 
-__END__
+# register this as a metaclass alias ...
+package Moose::Meta::Attribute::Custom::Getopt;
+sub register_implementation { 'MooseX::Getopt::Meta::Attribute' }
+
+1;
 
+__END__
 
 =pod
 
@@ -49,7 +54,7 @@ MooseX::Getopt::Meta::Attribute - Optional meta attribute for custom option name
   with 'MooseX::Getopt';
   
   has 'data' => (
-      metaclass => 'MooseX::Getopt::Meta::Attribute',        
+      metaclass => 'MooseX::Getopt::Meta::Attribute',     
       is        => 'ro',
       isa       => 'Str',
       default   => 'file.dat',
@@ -77,6 +82,14 @@ which L<MooseX::Getopt> will create for you.
 This is certainly not the prettiest way to go about this, but for 
 now it works for those who might need such a feature.
 
+=head2 Custom Metaclass alias
+
+This now takes advantage of the Moose 0.19 feature to support 
+custom attribute metaclass aliases. This means you can also
+use this as the B<Getopt> alias, like so:
+
+  has 'foo' => (metaclass => 'Getopt', cmd_flag => 'f');
+
 =head1 METHODS
 
 These methods are of little use to most users, they are used interally 
index 438a9a8..7ffbe5b 100644 (file)
@@ -24,7 +24,7 @@ BEGIN {
     );
 
     has 'cow' => (
-        metaclass   => 'MooseX::Getopt::Meta::Attribute',        
+        metaclass   => 'Getopt',        
         is          => 'ro',
         isa         => 'Str',
         default     => 'moo',