From: Moritz Bunkus Date: Mon, 13 Apr 2015 10:52:58 +0000 (+0200) Subject: SL::DB::BackgroundJob: refactoring von set_data für mehr programmatische Sicherheit X-Git-Tag: release-3.3.0beta~153^2~1 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=9e4a9fec6b6311be5280a7861aad014e8465a749;p=kivitendo-erp.git SL::DB::BackgroundJob: refactoring von set_data für mehr programmatische Sicherheit $self->data kann durchaus leer sein, und dann gibt YAML::Load schlicht einen leeren String und keine Hashref zurück. Daher $self->data_as_hash benutzen, das bereits für die meisten Fälle gewappnet ist. Außerdem einfachere Hash-Zuweisung. --- diff --git a/SL/DB/BackgroundJob.pm b/SL/DB/BackgroundJob.pm index 10e319ba3..2040297b1 100644 --- a/SL/DB/BackgroundJob.pm +++ b/SL/DB/BackgroundJob.pm @@ -84,9 +84,10 @@ sub data_as_hash { sub set_data { my ($self, %data) = @_; - my $data = YAML::Load($self->data); - $data->{$_} = $data{$_} for keys %data; - $self->data(YAML::Dump($data)); + $self->data(YAML::Dump({ + %{ $self->data_as_hash }, + %data, + })); $self; }