X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FSemiAffordanceAccessor.pm;h=dac4a6d4de013b62a9a849e0ed55a9a0b50d8239;hb=f33c93c5b1cb83f06213e39eb285ab9373fba10c;hp=f40fb2402dc985179be281957d91147e564d4c62;hpb=7891bc294afd3972ffea1039b519e7db5c4663d5;p=gitmo%2FMooseX-SemiAffordanceAccessor.git diff --git a/lib/MooseX/SemiAffordanceAccessor.pm b/lib/MooseX/SemiAffordanceAccessor.pm index f40fb24..dac4a6d 100644 --- a/lib/MooseX/SemiAffordanceAccessor.pm +++ b/lib/MooseX/SemiAffordanceAccessor.pm @@ -8,12 +8,18 @@ use Moose::Exporter; use Moose::Util::MetaRole; use MooseX::SemiAffordanceAccessor::Role::Attribute; -Moose::Exporter->setup_import_methods( +my %metaroles = ( class_metaroles => { attribute => ['MooseX::SemiAffordanceAccessor::Role::Attribute'], }, ); +$metaroles{role_metaroles} = { + applied_attribute => ['MooseX::SemiAffordanceAccessor::Role::Attribute'], +} if $Moose::VERSION >= 1.9900; + +Moose::Exporter->setup_import_methods(%metaroles); + 1; # ABSTRACT: Name your accessors foo() and set_foo() @@ -24,8 +30,8 @@ __END__ =head1 SYNOPSIS - use MooseX::SemiAffordanceAccessor; use Moose; + use MooseX::SemiAffordanceAccessor; # make some attributes @@ -45,6 +51,19 @@ attribute, then that attribute's naming scheme is left unchanged. The name "semi-affordance" comes from David Wheeler's Class::Meta module. +=head1 ACCESSORS IN ROLES + +Prior to version 1.9900 of L, attributes added to a class ended up with +that class's attribute traits. That means that if your class used +C, any attributes provided by roles you +consumed had the semi-affordance style of accessor. + +As of Moose 1.9900, that is no longer the case. Attributes provided by roles +no longer acquire the consuming class's attribute traits. However, with Moose +1.9900+, you can now use C directly in +roles. Attributes defined by that role will have semi-affordance style +accessors, regardless of what attribute traits the consuming class has. + =head1 BUGS Please report any bugs or feature requests to