X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FSetOver.pm;h=74090bdb74ccaaa93f62a51cf40b50339ebccaa6;hb=0ee5d1d4dd9cb8a7f33b013533e20b1e5a83017d;hp=88a964d94af237a86a009eb4ebbb72ed9d26970f;hpb=c2e9a3a3a36075ce382f6b8c040a1422f7caf1c2;p=scpubgit%2FDKit.git diff --git a/lib/DX/SetOver.pm b/lib/DX/SetOver.pm index 88a964d..74090bd 100644 --- a/lib/DX/SetOver.pm +++ b/lib/DX/SetOver.pm @@ -15,10 +15,14 @@ sub to_stream { sub with_value { my ($self, $value) = @_; - return ref($self)->new( - %$self, - values => { %{$self->values}, $value->${\$self->over} => $value } - ); + return ref($self)->new(%$self, values => { %{$self->values} }) + ->set_value($value); +} + +sub set_value { + my ($self, $value) = @_; + $self->values->{$value->${\$self->over}} = $value; + return $self; } 1;