diff options
author | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-14 16:48:37 +0000 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-14 16:48:37 +0000 |
commit | e4e0e149ef3bf356e9cbbdf585526787213efa12 (patch) | |
tree | 142f5da0173c6ff0af4fcbc1934ff96de9f9e8e6 /lib/Data | |
parent | Build results of bb2712c (on master) (diff) | |
parent | allow (and test) custom-named multi accessors (diff) | |
download | data-multivalued-e4e0e149ef3bf356e9cbbdf585526787213efa12.tar.gz data-multivalued-e4e0e149ef3bf356e9cbbdf585526787213efa12.tar.bz2 data-multivalued-e4e0e149ef3bf356e9cbbdf585526787213efa12.zip |
Build results of bb2712c (on master)
Diffstat (limited to 'lib/Data')
-rw-r--r-- | lib/Data/MultiValued/AttributeTrait/Ranges.pm | 38 | ||||
-rw-r--r-- | lib/Data/MultiValued/AttributeTrait/Tags.pm | 38 | ||||
-rw-r--r-- | lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm | 38 |
3 files changed, 111 insertions, 3 deletions
diff --git a/lib/Data/MultiValued/AttributeTrait/Ranges.pm b/lib/Data/MultiValued/AttributeTrait/Ranges.pm index 347ee96..e42c91e 100644 --- a/lib/Data/MultiValued/AttributeTrait/Ranges.pm +++ b/lib/Data/MultiValued/AttributeTrait/Ranges.pm @@ -9,6 +9,9 @@ use Moose::Role; use Data::MultiValued::Ranges; with 'Data::MultiValued::AttributeTrait'; +# ABSTRACT: attribute traits for attributes holding ranged values + + sub multivalue_storage_class { 'Data::MultiValued::Ranges' }; sub opts_to_pass_set { qw(from to) } sub opts_to_pass_get { qw(at) } @@ -30,12 +33,45 @@ __END__ =head1 NAME -Data::MultiValued::AttributeTrait::Ranges +Data::MultiValued::AttributeTrait::Ranges - attribute traits for attributes holding ranged values =head1 VERSION version 0.0.1 +=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<Data::MultiValued::AttributeTrait> and +specialises it to use L<Data::MultiValued::Ranges> as multi-value +storage: + +=head2 C<multivalue_storage_class> + +Returns C<'Data::MultiValued::Ranges'>. + +=head2 C<opts_to_pass_set> + +Returns C<('from', 'to')>. + +=head2 C<opts_to_pass_get> + +Returns C<('at')>. + =head1 AUTHOR Gianni Ceccarelli <dakkar@thenautilus.net> diff --git a/lib/Data/MultiValued/AttributeTrait/Tags.pm b/lib/Data/MultiValued/AttributeTrait/Tags.pm index 4355ebe..4765a93 100644 --- a/lib/Data/MultiValued/AttributeTrait/Tags.pm +++ b/lib/Data/MultiValued/AttributeTrait/Tags.pm @@ -9,6 +9,9 @@ use Moose::Role; use Data::MultiValued::Tags; with 'Data::MultiValued::AttributeTrait'; +# ABSTRACT: attribute traits for attributes holding tagged values + + sub multivalue_storage_class { 'Data::MultiValued::Tags' }; sub opts_to_pass_set { qw(tag) } sub opts_to_pass_get { qw(tag) } @@ -30,12 +33,45 @@ __END__ =head1 NAME -Data::MultiValued::AttributeTrait::Tags +Data::MultiValued::AttributeTrait::Tags - attribute traits for attributes holding tagged values =head1 VERSION version 0.0.1 +=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')>. + =head1 AUTHOR Gianni Ceccarelli <dakkar@thenautilus.net> diff --git a/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm b/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm index 20b4acd..e31a725 100644 --- a/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm +++ b/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm @@ -9,6 +9,9 @@ use Moose::Role; use Data::MultiValued::TagsAndRanges; with 'Data::MultiValued::AttributeTrait'; +# ABSTRACT: attribute traits for attributes holding tagged and ranged values + + sub multivalue_storage_class { 'Data::MultiValued::TagsAndRanges' }; sub opts_to_pass_set { qw(from to tag) } sub opts_to_pass_get { qw(at tag) } @@ -30,12 +33,45 @@ __END__ =head1 NAME -Data::MultiValued::AttributeTrait::TagsAndRanges +Data::MultiValued::AttributeTrait::TagsAndRanges - attribute traits for attributes holding tagged and ranged values =head1 VERSION version 0.0.1 +=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<Data::MultiValued::AttributeTrait> and +specialises it to use L<Data::MultiValued::TagsAndRanges> as multi-value +storage: + +=head2 C<multivalue_storage_class> + +Returns C<'Data::MultiValued::TagsAndRanges'>. + +=head2 C<opts_to_pass_set> + +Returns C<('tag', 'from', 'to')>. + +=head2 C<opts_to_pass_get> + +Returns C<('tag', 'at')>. + =head1 AUTHOR Gianni Ceccarelli <dakkar@thenautilus.net> |