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 {
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;
use Mouse::Role;
has 'i' => (
- metaclass => 'Number',
+ metaclass => 'MyNumber',
is => 'rw',
isa => 'Int',
provides => {
use Mouse::Role;
has 'j' => (
- metaclass => 'Number',
+ metaclass => 'MyNumber',
is => 'rw',
isa => 'Int',
provides => {
is $k->i, 7;
}
+