Begin adding support for has +name
[gitmo/Mouse.git] / lib / Mouse.pm
index 329ed83..22d8b2d 100644 (file)
@@ -3,7 +3,7 @@ package Mouse;
 use strict;
 use warnings;
 
-our $VERSION = '0.02';
+our $VERSION = '0.04';
 use 5.006;
 
 use Sub::Exporter;
@@ -39,7 +39,12 @@ do {
                 $names = [$names] if !ref($names);
 
                 for my $name (@$names) {
-                    Mouse::Meta::Attribute->create($package, $name, @_);
+                    if ($name =~ s/^\+//) {
+                        Mouse::Meta::Attribute->clone_parent($package, $name, @_);
+                    }
+                    else {
+                        Mouse::Meta::Attribute->create($package, $name, @_);
+                    }
                 }
             };
         },
@@ -150,10 +155,6 @@ __END__
 
 Mouse - Moose minus the antlers
 
-=head1 VERSION
-
-Version 0.02 released 11 Jun 08
-
 =head1 SYNOPSIS
 
     package Point;
@@ -208,10 +209,6 @@ Mouse also has the blessings of Moose's author, stevan.
 
 =head2 MISSING FEATURES
 
-=head3 Method modifiers
-
-Fixing this one next, with a reimplementation of L<Class::Method::Modifiers>.
-
 =head3 Roles
 
 Fixing this one slightly less soon. stevan has suggested an implementation
@@ -246,6 +243,21 @@ Returns this class' metaclass instance.
 
 Sets this class' superclasses.
 
+=head2 before (method|methods) => Code
+
+Installs a "before" method modifier. See L<Moose/before> or
+L<Class::Method::Modifiers/before>.
+
+=head2 after (method|methods) => Code
+
+Installs an "after" method modifier. See L<Moose/after> or
+L<Class::Method::Modifiers/after>.
+
+=head2 around (method|methods) => Code
+
+Installs an "around" method modifier. See L<Moose/around> or
+L<Class::Method::Modifiers/around>.
+
 =head2 has (name|names) => parameters
 
 Adds an attribute (or if passed an arrayref of names, multiple attributes) to