use strict;
use warnings;
-our $VERSION = '0.03';
+our $VERSION = '0.05';
use 5.006;
use Sub::Exporter;
$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, @_);
+ }
}
};
},
around => sub {
return \&Class::Method::Modifiers::around;
},
+
+ with => sub {
+ my $caller = $CALLER;
+
+ return sub {
+ my $role = shift;
+ my $class = $caller->meta;
+
+ confess "Mouse::Role only supports 'with' on individual roles at a time";
+
+ Mouse::load_class($role);
+ $role->meta->apply_to_class($class);
+ };
+ },
);
my $exporter = Sub::Exporter::build_exporter({