summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@thenautilus.net>2011-11-10 10:49:09 +0000
committerGianni Ceccarelli <dakkar@thenautilus.net>2011-11-10 10:49:09 +0000
commit2e533b50a3c2209228f0da962f979ad9abb4cbf2 (patch)
tree49e9b953e152b80a19c0393ce1b3e6cb0c5437a8
parentavoid warns printing some exceptions (diff)
downloaddata-multivalued-2e533b50a3c2209228f0da962f979ad9abb4cbf2.tar.gz
data-multivalued-2e533b50a3c2209228f0da962f979ad9abb4cbf2.tar.bz2
data-multivalued-2e533b50a3c2209228f0da962f979ad9abb4cbf2.zip
utility meta-accessors
-rw-r--r--Data-MultiValued/lib/Data/MultiValued/AttributeTrait/Tagged.pm14
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' }
}