From 65e5ad0900633186a52431a19839cbd14b2ec5aa Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Mon, 14 Nov 2011 14:48:16 +0000 Subject: documentation --- lib/Data/MultiValued/AttributeTrait/Ranges.pm | 37 ++++++++++++++++++++++ lib/Data/MultiValued/AttributeTrait/Tags.pm | 37 ++++++++++++++++++++++ .../MultiValued/AttributeTrait/TagsAndRanges.pm | 37 ++++++++++++++++++++++ 3 files changed, 111 insertions(+) (limited to 'lib/Data/MultiValued/AttributeTrait') diff --git a/lib/Data/MultiValued/AttributeTrait/Ranges.pm b/lib/Data/MultiValued/AttributeTrait/Ranges.pm index 8d93578..3d3b3f8 100644 --- a/lib/Data/MultiValued/AttributeTrait/Ranges.pm +++ b/lib/Data/MultiValued/AttributeTrait/Ranges.pm @@ -3,6 +3,43 @@ use Moose::Role; use Data::MultiValued::Ranges; with 'Data::MultiValued::AttributeTrait'; +# ABSTRACT: attribute traits for attributes holding ranged values + +=head1 SYNOPSIS + + package My::Class; + use Moose; + use Data::MultiValued::AttributeTrait::Ranges; + + has stuff => ( + is => 'rw', + isa => 'Int', + traits => ['MultiValued::Ranges'], + predicate => 'has_stuff', + multi_accessor => 'stuff_tagged', + multi_predicate => 'has_stuff_tagged', + ); + +=head1 DESCRIPTION + +This role consumes L and +specialises it to use L as multi-value +storage: + +=head2 C + +Returns C<'Data::MultiValued::Ranges'>. + +=head2 C + +Returns C<('from', 'to')>. + +=head2 C + +Returns C<('at')>. + +=cut + sub multivalue_storage_class { 'Data::MultiValued::Ranges' }; sub opts_to_pass_set { qw(from to) } sub opts_to_pass_get { qw(at) } 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 and +specialises it to use L as multi-value +storage: + +=head2 C + +Returns C<'Data::MultiValued::Tags'>. + +=head2 C + +Returns C<('tag')>. + +=head2 C + +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) } diff --git a/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm b/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm index e0c56cd..0bb87ef 100644 --- a/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm +++ b/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm @@ -3,6 +3,43 @@ use Moose::Role; use Data::MultiValued::TagsAndRanges; with 'Data::MultiValued::AttributeTrait'; +# ABSTRACT: attribute traits for attributes holding tagged and ranged values + +=head1 SYNOPSIS + + package My::Class; + use Moose; + use Data::MultiValued::AttributeTrait::TagsAndRanges; + + has stuff => ( + is => 'rw', + isa => 'Int', + traits => ['MultiValued::TagsAndRanges'], + predicate => 'has_stuff', + multi_accessor => 'stuff_tagged', + multi_predicate => 'has_stuff_tagged', + ); + +=head1 DESCRIPTION + +This role consumes L and +specialises it to use L as multi-value +storage: + +=head2 C + +Returns C<'Data::MultiValued::TagsAndRanges'>. + +=head2 C + +Returns C<('tag', 'from', 'to')>. + +=head2 C + +Returns C<('tag', 'at')>. + +=cut + sub multivalue_storage_class { 'Data::MultiValued::TagsAndRanges' }; sub opts_to_pass_set { qw(from to tag) } sub opts_to_pass_get { qw(at tag) } -- cgit v1.2.3