diff options
Diffstat (limited to 'Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm')
-rw-r--r-- | Data-MultiValued/lib/Data/MultiValued/AttributeAccessors.pm | 109 |
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; |