summaryrefslogtreecommitdiff
path: root/lib/Data/MultiValued/AttributeTrait/Tags.pm
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@thenautilus.net>2011-11-14 14:48:16 +0000
committerGianni Ceccarelli <dakkar@thenautilus.net>2011-11-14 17:00:15 +0000
commit65e5ad0900633186a52431a19839cbd14b2ec5aa (patch)
treed1b4c5bd9fd4b78c630e1b3bdab23b9e43207ed4 /lib/Data/MultiValued/AttributeTrait/Tags.pm
parentallow (and test) custom-named multi accessors (diff)
downloaddata-multivalued-65e5ad0900633186a52431a19839cbd14b2ec5aa.tar.gz
data-multivalued-65e5ad0900633186a52431a19839cbd14b2ec5aa.tar.bz2
data-multivalued-65e5ad0900633186a52431a19839cbd14b2ec5aa.zip
documentation
Diffstat (limited to 'lib/Data/MultiValued/AttributeTrait/Tags.pm')
-rw-r--r--lib/Data/MultiValued/AttributeTrait/Tags.pm37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/Data/MultiValued/AttributeTrait/Tags.pm b/lib/Data/MultiValued/AttributeTrait/Tags.pm
index 7cffb33..d671ed4 100644
--- a/lib/Data/MultiValued/AttributeTrait/Tags.pm
+++ b/lib/Data/MultiValued/AttributeTrait/Tags.pm
@@ -3,6 +3,43 @@ use Moose::Role;
use Data::MultiValued::Tags;
with 'Data::MultiValued::AttributeTrait';
+# ABSTRACT: attribute traits for attributes holding tagged values
+
+=head1 SYNOPSIS
+
+ package My::Class;
+ use Moose;
+ use Data::MultiValued::AttributeTrait::Tags;
+
+ has stuff => (
+ is => 'rw',
+ isa => 'Int',
+ traits => ['MultiValued::Tags'],
+ predicate => 'has_stuff',
+ multi_accessor => 'stuff_tagged',
+ multi_predicate => 'has_stuff_tagged',
+ );
+
+=head1 DESCRIPTION
+
+This role consumes L<Data::MultiValued::AttributeTrait> and
+specialises it to use L<Data::MultiValued::Tags> as multi-value
+storage:
+
+=head2 C<multivalue_storage_class>
+
+Returns C<'Data::MultiValued::Tags'>.
+
+=head2 C<opts_to_pass_set>
+
+Returns C<('tag')>.
+
+=head2 C<opts_to_pass_get>
+
+Returns C<('tag')>.
+
+=cut
+
sub multivalue_storage_class { 'Data::MultiValued::Tags' };
sub opts_to_pass_set { qw(tag) }
sub opts_to_pass_get { qw(tag) }