use lib 't/lib';
do {
- local $SIG{__WARN__} = sub{ $_[0] =~ /deprecated/ or warn @_ };
-
package MouseX::AttributeHelpers::Number;
use Mouse;
extends 'Mouse::Meta::Attribute';
- sub create {
- my ($self, @args) = @_;
- my $attr = $self->SUPER::create(@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 => {