diff options
author | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-14 15:06:47 +0000 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@thenautilus.net> | 2011-11-14 15:08:00 +0000 |
commit | cc7e65cafe5b423e72f5939947d3989aaeeaefcd (patch) | |
tree | 53911ab280ed608d45a6f23337908496a8397d5f /lib/Data | |
parent | some docs (diff) | |
download | data-multivalued-cc7e65cafe5b423e72f5939947d3989aaeeaefcd.tar.gz data-multivalued-cc7e65cafe5b423e72f5939947d3989aaeeaefcd.tar.bz2 data-multivalued-cc7e65cafe5b423e72f5939947d3989aaeeaefcd.zip |
fix tags&ranges ser bug (w/ test)
Diffstat (limited to 'lib/Data')
-rw-r--r-- | lib/Data/MultiValued/TagContainerForRanges.pm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Data/MultiValued/TagContainerForRanges.pm b/lib/Data/MultiValued/TagContainerForRanges.pm index d3cd4b9..604dcb7 100644 --- a/lib/Data/MultiValued/TagContainerForRanges.pm +++ b/lib/Data/MultiValued/TagContainerForRanges.pm @@ -20,14 +20,19 @@ sub _create_new_inferior { sub _rebless_storage { my ($self) = @_; - bless $self->{_storage},'Data::MultiValued::RangeContainer'; + bless $_,'Data::MultiValued::RangeContainer' + for values %{$self->{_storage}}; bless $self->{_default_tag},'Data::MultiValued::RangeContainer'; return; } sub _as_hash { my ($self) = @_; - my %st = %{$self->_storage}; + my %st; + for my $k (keys %{$self->_storage}) { + my %v = %{$self->_storage->{$k}}; + $st{$k}=\%v; + } my %dt = %{$self->_default_tag}; return { _storage => \%st, |