summaryrefslogtreecommitdiff
path: root/lib/Data/MultiValued/AttributeTrait/TagsAndRanges.pm
blob: 57b21a7bee23d5162d2e1f895fdb0a7aaf220323 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package Data::MultiValued::AttributeTrait::TagsAndRanges; 
{
  $Data::MultiValued::AttributeTrait::TagsAndRanges::VERSION = '0.0.1_6';
}
{
  $Data::MultiValued::AttributeTrait::TagsAndRanges::DIST = 'Data-MultiValued';
}
use Moose::Role;
use namespace::autoclean;
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) }
 
package Moose::Meta::Attribute::Custom::Trait::MultiValued::TagsAndRanges; 
{
  $Moose::Meta::Attribute::Custom::Trait::MultiValued::TagsAndRanges::VERSION = '0.0.1_6';
}
{
  $Moose::Meta::Attribute::Custom::Trait::MultiValued::TagsAndRanges::DIST = 'Data-MultiValued';
}{
sub register_implementation 'Data::MultiValued::AttributeTrait::TagsAndRanges' }
}
 
1;
 
__END__
=pod
 
=encoding utf-8
 
=head1 NAME
 
Data::MultiValued::AttributeTrait::TagsAndRanges - attribute traits for attributes holding tagged and ranged values
 
=head1 VERSION
 
version 0.0.1_6
 
=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>
 
=head1 COPYRIGHT AND LICENSE
 
This software is copyright (c) 2011 by Net-a-Porter.com.
 
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
 
=cut