1 package MooseX::SemiAffordanceAccessor::Role::Attribute;
8 before '_process_options' => sub {
13 if ( exists $options->{is}
14 && !( exists $options->{reader} || exists $options->{writer} ) ) {
15 if ( $options->{is} eq 'ro' ) {
16 $options->{reader} = $name;
17 delete $options->{is};
19 elsif ( $options->{is} eq 'rw' ) {
20 $options->{reader} = $name;
23 if ( $name =~ s/^_// ) {
27 $options->{writer} = $prefix . q{_} . $name;
28 delete $options->{is};
39 Moose::Util::MetaRole::apply_metaclass_roles(
40 for_class => $p{for_class},
41 attribute_metaclass_roles =>
42 ['MooseX::SemiAffordanceAccessor::Role::Attribute'],
47 This role applies a method modifier to the C<_process_options()>
48 method, and tweaks the reader and writer parameters so that they
49 follow the semi-affordance naming style.