diff options
author | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-10 12:53:24 +0000 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-10 15:04:15 +0000 |
commit | 9b3887ba26cfa17344567d9a1b89921892d02dda (patch) | |
tree | b9e8d8c63cfb158cb5a9e6c9f71946e35ffdbcee /Data-MultiValued/lib/Data/MultiValued/TagsAndRanges.pm | |
parent | ugly serialization helper role (diff) | |
download | data-multivalued-9b3887ba26cfa17344567d9a1b89921892d02dda.tar.gz data-multivalued-9b3887ba26cfa17344567d9a1b89921892d02dda.tar.bz2 data-multivalued-9b3887ba26cfa17344567d9a1b89921892d02dda.zip |
'clear' almost completely implemneted
Diffstat (limited to 'Data-MultiValued/lib/Data/MultiValued/TagsAndRanges.pm')
-rw-r--r-- | Data-MultiValued/lib/Data/MultiValued/TagsAndRanges.pm | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/Data-MultiValued/lib/Data/MultiValued/TagsAndRanges.pm b/Data-MultiValued/lib/Data/MultiValued/TagsAndRanges.pm index 82e3271..6208435 100644 --- a/Data-MultiValued/lib/Data/MultiValued/TagsAndRanges.pm +++ b/Data-MultiValued/lib/Data/MultiValued/TagsAndRanges.pm @@ -60,9 +60,20 @@ sub get { } sub clear { - my ($self) = @_; + my ($self,%args) = validated_hash( + \@_, + from => { isa => Num|Undef, optional => 1, }, + to => { isa => Num|Undef, optional => 1, }, + tag => { isa => Str, optional => 1, }, + ); - $self->_clear_storage; + if (exists $args{from} || exists $args{to}) { + $self->_storage->get(\%args) + ->clear(\%args); + } + else { + $self->_storage->clear(\%args); + } } 1; |