summaryrefslogtreecommitdiff
path: root/lib/Data/MultiValued/AttributeAccessors.pm
diff options
context:
space:
mode:
authorGianni Ceccarelli <gianni.ceccarelli@net-a-porter.com>2011-11-25 15:15:01 +0000
committerGianni Ceccarelli <gianni.ceccarelli@net-a-porter.com>2011-11-25 15:15:01 +0000
commit22cbedcbd3b8ebfcd2b2e945fdad13a4108d640d (patch)
tree083fd2c946ec615cde31529ab00b23ccbb90e870 /lib/Data/MultiValued/AttributeAccessors.pm
parentBuild results of 6e5e90b (on master) (diff)
parentchanges bump for CPAN release (diff)
downloaddata-multivalued-22cbedcbd3b8ebfcd2b2e945fdad13a4108d640d.tar.gz
data-multivalued-22cbedcbd3b8ebfcd2b2e945fdad13a4108d640d.tar.bz2
data-multivalued-22cbedcbd3b8ebfcd2b2e945fdad13a4108d640d.zip
Build results of 44cf53d (on master)
Diffstat (limited to 'lib/Data/MultiValued/AttributeAccessors.pm')
-rw-r--r--lib/Data/MultiValued/AttributeAccessors.pm52
1 files changed, 48 insertions, 4 deletions
diff --git a/lib/Data/MultiValued/AttributeAccessors.pm b/lib/Data/MultiValued/AttributeAccessors.pm
index bc6fb49..e5b4cd1 100644
--- a/lib/Data/MultiValued/AttributeAccessors.pm
+++ b/lib/Data/MultiValued/AttributeAccessors.pm
@@ -1,6 +1,6 @@
package Data::MultiValued::AttributeAccessors;
{
- $Data::MultiValued::AttributeAccessors::VERSION = '0.0.1_1';
+ $Data::MultiValued::AttributeAccessors::VERSION = '0.0.1_2';
}
{
$Data::MultiValued::AttributeAccessors::DIST = 'Data-MultiValued';
@@ -10,8 +10,12 @@ use warnings;
use base 'Moose::Meta::Method::Accessor';
use Carp 'confess';
+# ABSTRACT: method meta-class for multi-valued attribute accessors
+
+
sub _instance_is_inlinable { 0 }
+
sub _generate_accessor_method {
my $self = shift;
my $attr = $self->associated_attribute;
@@ -62,6 +66,7 @@ sub _generate_clearer_method {
};
}
+
sub _generate_multi_accessor_method {
my $self = shift;
my $attr = $self->associated_attribute;
@@ -119,11 +124,50 @@ __END__
=head1 NAME
-Data::MultiValued::AttributeAccessors
+Data::MultiValued::AttributeAccessors - method meta-class for multi-valued attribute accessors
=head1 VERSION
-version 0.0.1_1
+version 0.0.1_2
+
+=head1 DESCRIPTION
+
+Subclass of L<Moose::Meta::Method::Accessor>, generates non-inlined
+(patches welcome) accessors for multi-valued attributes.
+
+=head1 METHDOS
+
+=head2 C<_instance_is_inlinable>
+
+Returns C<0> to prevent attempts to inline the accessor methods.
+
+=head2 C<_generate_accessor_method>
+
+=head2 C<_generate_reader_method>
+
+=head2 C<_generate_writer_method>
+
+=head2 C<_generate_predicate_method>
+
+=head2 C<_generate_clearer_method>
+
+Delegate to C<set_multi_value>, C<get_multi_value>,
+C<has_multi_value>, C<clear_multi_value>, passing empty options
+(i.e. no tags, no ranges).
+
+=head2 C<_generate_multi_accessor_method>
+
+=head2 C<_generate_multi_reader_method>
+
+=head2 C<_generate_multi_writer_method>
+
+=head2 C<_generate_multi_predicate_method>
+
+=head2 C<_generate_multi_clearer_method>
+
+Delegate to C<set_multi_value>, C<get_multi_value>,
+C<has_multi_value>, C<clear_multi_value>, passing C<$_[1]> as options
+and C<$_[2]> as values.
=head1 AUTHOR
@@ -131,7 +175,7 @@ Gianni Ceccarelli <dakkar@thenautilus.net>
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2011 by Net-a-porter.com.
+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.