X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FClassAttribute%2FMeta%2FMethod%2FAccessor.pm;h=1680be8dea8a9b2af1fa2571dc4d3d0ce46e43d5;hb=eeee5ccb10fe2f92415751b2f721a89798393c29;hp=f0289707860ab34fac93089c68fe06b4131a91e4;hpb=8207dfe76f6ddd0f0a074746c873ac6b05aed834;p=gitmo%2FMooseX-ClassAttribute.git diff --git a/lib/MooseX/ClassAttribute/Meta/Method/Accessor.pm b/lib/MooseX/ClassAttribute/Meta/Method/Accessor.pm index f028970..1680be8 100644 --- a/lib/MooseX/ClassAttribute/Meta/Method/Accessor.pm +++ b/lib/MooseX/ClassAttribute/Meta/Method/Accessor.pm @@ -3,43 +3,42 @@ package MooseX::ClassAttribute::Meta::Method::Accessor; use strict; use warnings; +our $VERSION = '0.12'; + +use namespace::autoclean; use Moose; extends 'Moose::Meta::Method::Accessor'; +sub _generate_predicate_method_inline { + my $attr = (shift)->associated_attribute; -sub _generate_predicate_method_inline -{ - my $attr = (shift)->associated_attribute; - - my $code = - eval 'sub {' - . $attr->associated_class()->inline_is_class_slot_initialized( $attr->name() ) - . '}'; + my $code + = eval 'sub {' + . $attr->associated_class() + ->inline_is_class_slot_initialized( $attr->name() ) . '}'; confess "Could not generate inline predicate because : $@" if $@; return $code; } -sub _generate_clearer_method_inline -{ +sub _generate_clearer_method_inline { my $attr = (shift)->associated_attribute; my $meta_instance = $attr->associated_class->instance_metaclass; - my $code = - eval 'sub {' - . $attr->associated_class()->inline_deinitialize_class_slot( $attr->name() ) - . '}'; + my $code + = eval 'sub {' + . $attr->associated_class() + ->inline_deinitialize_class_slot( $attr->name() ) . '}'; confess "Could not generate inline clearer because : $@" if $@; return $code; } -sub _inline_store -{ - my $self = shift; +sub _inline_store { + my $self = shift; shift; my $value = shift; @@ -47,16 +46,18 @@ sub _inline_store my $meta = $attr->associated_class(); - my $code = $meta->inline_set_class_slot_value( $attr->slots(), $value ) . ";"; - $code .= $meta->inline_weaken_class_slot_value( $attr->slots(), $value ) . ";" + my $code + = $meta->inline_set_class_slot_value( $attr->slots(), $value ) . ";"; + $code + .= $meta->inline_weaken_class_slot_value( $attr->slots(), $value ) + . ";" if $attr->is_weak_ref(); return $code; } -sub _inline_get -{ - my $self = shift; +sub _inline_get { + my $self = shift; my $attr = $self->associated_attribute; my $meta = $attr->associated_class(); @@ -64,9 +65,8 @@ sub _inline_get return $meta->inline_get_class_slot_value( $attr->slots() ); } -sub _inline_access -{ - my $self = shift; +sub _inline_access { + my $self = shift; my $attr = $self->associated_attribute; my $meta = $attr->associated_class(); @@ -74,8 +74,7 @@ sub _inline_access return $meta->inline_class_slot_access( $attr->slots() ); } -sub _inline_has -{ +sub _inline_has { my $self = shift; my $attr = $self->associated_attribute; @@ -84,43 +83,41 @@ sub _inline_has return $meta->inline_is_class_slot_initialized( $attr->slots() ); } -sub _inline_init_slot -{ +sub _inline_init_slot { my $self = shift; return $self->_inline_store( undef, $_[-1] ); } -sub _inline_check_lazy -{ +sub _inline_check_lazy { my $self = shift; - return - $self->SUPER::_inline_check_lazy - ( q{'} . $self->associated_attribute()->associated_class()->name() . q{'} ); + return $self->SUPER::_inline_check_lazy( q{'} + . $self->associated_attribute()->associated_class()->name() + . q{'} ); } -sub _inline_get_old_value_for_trigger -{ +sub _inline_get_old_value_for_trigger { my $self = shift; my $attr = $self->associated_attribute(); return '' unless $attr->has_trigger(); - my $pred = - $attr->associated_class()->inline_is_class_slot_initialized( $attr->name() ); + my $pred = $attr->associated_class() + ->inline_is_class_slot_initialized( $attr->name() ); return - 'my @old = ' + 'my @old = ' . $pred . q{ ? } - . $self->_inline_get() . q{ : ()} . ";\n"; + . $self->_inline_get() + . q{ : ()} . ";\n"; } -no Moose; - 1; +__END__ + =pod =head1 NAME @@ -142,7 +139,7 @@ See L for details. =head1 COPYRIGHT & LICENSE -Copyright 2007-2008 Dave Rolsky, All Rights Reserved. +Copyright 2007-2010 Dave Rolsky, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.