summaryrefslogtreecommitdiff
path: root/lib/Data/MultiValued/AttributeAccessors.pm
diff options
context:
space:
mode:
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.