diff options
author | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-10 10:49:09 +0000 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-10 10:49:09 +0000 |
commit | 2e533b50a3c2209228f0da962f979ad9abb4cbf2 (patch) | |
tree | 49e9b953e152b80a19c0393ce1b3e6cb0c5437a8 /Data-MultiValued/lib/Data | |
parent | avoid warns printing some exceptions (diff) | |
download | data-multivalued-2e533b50a3c2209228f0da962f979ad9abb4cbf2.tar.gz data-multivalued-2e533b50a3c2209228f0da962f979ad9abb4cbf2.tar.bz2 data-multivalued-2e533b50a3c2209228f0da962f979ad9abb4cbf2.zip |
utility meta-accessors
Diffstat (limited to 'Data-MultiValued/lib/Data')
-rw-r--r-- | Data-MultiValued/lib/Data/MultiValued/AttributeTrait/Tagged.pm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Data-MultiValued/lib/Data/MultiValued/AttributeTrait/Tagged.pm b/Data-MultiValued/lib/Data/MultiValued/AttributeTrait/Tagged.pm index a1f33fc..7839e2d 100644 --- a/Data-MultiValued/lib/Data/MultiValued/AttributeTrait/Tagged.pm +++ b/Data-MultiValued/lib/Data/MultiValued/AttributeTrait/Tagged.pm @@ -61,6 +61,10 @@ after install_accessors => sub { my $type = "tagged_$meth"; my $basename = $self->$meth; + + die 'MultiValued attribute trait is not compatible with subref accessors' + if ref($basename); + my $name = "${basename}_tagged"; $class->add_method( @@ -173,6 +177,16 @@ sub clear_tagged_value { return $self->clear_value($instance); } +sub get_tagged_read_method { + my $self = shift; + return $self->get_read_method . '_tagged'; +} + +sub get_tagged_write_method { + my $self = shift; + return $self->get_write_method . '_tagged'; +} + package Moose::Meta::Attribute::Custom::Trait::MultiValued::Tagged;{ sub register_implementation { 'Data::MultiValued::AttributeTrait::Tagged' } } |