summaryrefslogtreecommitdiff
path: root/lib/Data/MultiValued/#Tags.pm#
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Data/MultiValued/#Tags.pm#')
-rw-r--r--lib/Data/MultiValued/#Tags.pm#121
1 files changed, 0 insertions, 121 deletions
diff --git a/lib/Data/MultiValued/#Tags.pm# b/lib/Data/MultiValued/#Tags.pm#
deleted file mode 100644
index 29cf102..0000000
--- a/lib/Data/MultiValued/#Tags.pm#
+++ /dev/null
@@ -1,121 +0,0 @@
-package Data::MultiValued::Tags;
-use Moose;
-use MooseX::Params::Validate;
-use Moose::Util::TypeConstraints;
-use MooseX::Types::Moose qw(Num Str Undef Any);
-use Data::MultiValued::Exceptions;
-use Data::MultiValued::TagContainer;
-
-# ABSTRACT: Handle values with tags
-
-=head1 SYNOPSIS
-
- use Data::MultiValued::Tags;
-
- my $obj = Data::MultiValued::Tags->new();
- $obj->set({
- tag => 'tag1',
- value => 'a string',
- });
- say $obj->get({tag=>'tag1'}); # prints 'a string'
- say $obj->get({tag=>'tag2'}); # dies
-
-=head1 METHODS
-
-=cut
-
-has _storage => (
- is => 'rw',
- isa => class_type('Data::MultiValued::TagContainer'),
- init_arg => undef,
- lazy_build => 1,
-);
-
-sub _build__storage {
- Data::MultiValued::TagContainer->new();
-}
-
-sub _rebless_storage {
- my ($self) = @_;
-
- bless $self->{_storage},'Data::MultiValued::TagContainer';
-}
-
-sub _as_hash {
- my ($self) = @_;
-
- my %ret = %{$self->_storage};
- return {_storage=>\%ret};
-}
-
-=head2 C<set>
-
- $obj->set({ tag => $the_tag, value => $the_value });
-
-Stores the given value for the given tag. Replaces existing
-values. Does not throw exceptions.
-
-No cloning is done: if you pass in a reference, the reference is
-just stored.
-
-=cut
-
-sub set {
- my ($self,%args) = validated_hash(
- \@_,
- tag => { isa => Str, optional => 1, },
- value => { isa => Any, },
- );
-
- $self->_storage->get_or_create(\%args)
- ->{value} = $args{value};
-}
-
-=head2 C<get>
-
- my $value = $obj->get({ tag => $the_tag });
-
-Retrieves the value for the given tag. Throws a
-L<Data::MultiValued::Exceptions::TagNotFound> exception if the tag
-does not exists in this object.
-
-No cloning is done: if a reference was stored, you get it back
-untouched.
-
-=cut
-
-sub get {
- my ($self,%args) = validated_hash(
- \@_,
- tag => { isa => Str, optional => 1, },
- );
-
- $self->_storage->get(\%args)
- ->{value};
-}
-
-=head2 C<clear>
-
- $obj->clear({ tag => $the_tag });
-
-Deletes the given tag and all data associated with it. Does not throw
-exceptions: if the tag does not exist, nothing happens.
-
-=cut
-
-sub clear {
- my ($self,%args) = validated_hash(
- \@_,
- tag => { isa => Str, optional => 1, },
- );
-
- $self->_storage->clear(\%args);
-}
-
-=head1 SEE ALSO
-
-L<Data::MultiValued::TagContainer>, L<Data::MultiValued::Exceptions>
-
-=cut
-
-1;