Tweaks and documenting Mouse::Exporter
[gitmo/Mouse.git] / t / 047-attribute-metaclass-role.t
index db28fc6..d621d48 100644 (file)
@@ -9,9 +9,14 @@ do {
     use Mouse;
     extends 'Mouse::Meta::Attribute';
 
-    around 'create' => sub {
-        my ($next, @args) = @_;
-        my $attr = $next->(@args);
+    has provides => (
+        is => 'rw',
+        isa => 'HashRef',
+    );
+
+    after 'install_accessors' => sub{
+        my ($attr) = @_;
+
         my %provides = %{$attr->{provides}};
         my $method_constructors = {
             add => sub {
@@ -29,8 +34,8 @@ do {
         return $attr;
     };
 
-    package # hide me from search.cpan.org
-        Mouse::Meta::Attribute::Custom::Number;
+    package
+        Mouse::Meta::Attribute::Custom::MyNumber;
     sub register_implementation { 'MouseX::AttributeHelpers::Number' }
 
     1;
@@ -39,7 +44,7 @@ do {
     use Mouse::Role;
 
     has 'i' => (
-        metaclass => 'Number',
+        metaclass => 'MyNumber',
         is => 'rw',
         isa => 'Int',
         provides => {
@@ -52,7 +57,7 @@ do {
     use Mouse::Role;
 
     has 'j' => (
-        metaclass => 'Number',
+        metaclass => 'MyNumber',
         is => 'rw',
         isa => 'Int',
         provides => {
@@ -90,3 +95,4 @@ do {
     is $k->i, 7;
 }
 
+