summaryrefslogtreecommitdiff
path: root/Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@thenautilus.net>2011-11-10 15:10:26 +0000
committerGianni Ceccarelli <dakkar@thenautilus.net>2011-11-10 15:10:26 +0000
commitdc07be4ac45756a0e664ee29e888f86b7609784a (patch)
treedca7e4467f73625604886e8910a609ccc978b0ce /Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm
parent'clear' almost completely implemneted (diff)
downloaddata-multivalued-dc07be4ac45756a0e664ee29e888f86b7609784a.tar.gz
data-multivalued-dc07be4ac45756a0e664ee29e888f86b7609784a.tar.bz2
data-multivalued-dc07be4ac45756a0e664ee29e888f86b7609784a.zip
move up a level
Diffstat (limited to 'Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm')
-rw-r--r--Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm109
1 files changed, 0 insertions, 109 deletions
diff --git a/Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm b/Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm
deleted file mode 100644
index cac3538..0000000
--- a/Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm
+++ /dev/null
@@ -1,109 +0,0 @@
-package Data::MultiValued::AttributeAccessors;
-use strict;
-use warnings;
-use base 'Moose::Meta::Method::Accessor';
-use Carp 'confess';
-
-sub _instance_is_inlinable { 0 }
-
-sub _generate_accessor_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- if (@_ >= 2) {
- $attr->set_multi_value($_[0], {}, $_[1]);
- }
- $attr->get_multi_value($_[0], {});
- }
-}
-
-sub _generate_reader_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- confess "Cannot assign a value to a read-only accessor"
- if @_ > 1;
- $attr->get_multi_value($_[0], {});
- };
-}
-
-sub _generate_writer_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- $attr->set_multi_value($_[0], {}, $_[1]);
- };
-}
-
-sub _generate_predicate_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- $attr->has_multi_value($_[0], {})
- };
-}
-
-sub _generate_clearer_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- $attr->clear_multi_value($_[0], {})
- };
-}
-
-sub _generate_multi_accessor_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- if (@_ >= 3) {
- $attr->set_multi_value($_[0], $_[1], $_[2]);
- }
- $attr->get_multi_value($_[0],$_[1]);
- }
-}
-
-sub _generate_multi_reader_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- confess "Cannot assign a value to a read-only accessor"
- if @_ > 2;
- $attr->get_multi_value($_[0],$_[1]);
- };
-}
-
-sub _generate_multi_writer_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- $attr->set_multi_value($_[0], $_[1], $_[2]);
- };
-}
-
-sub _generate_multi_predicate_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- $attr->has_multi_value($_[0],$_[1])
- };
-}
-
-sub _generate_multi_clearer_method {
- my $self = shift;
- my $attr = $self->associated_attribute;
-
- return sub {
- $attr->clear_multi_value($_[0],$_[1])
- };
-}
-
-1;