… | |
… | |
169 | my $arch = $self->getarch; |
169 | my $arch = $self->getarch; |
170 | my $al_arch = $self->archetype; |
170 | my $al_arch = $self->archetype; |
171 | |
171 | |
172 | if (ref $value) { |
172 | if (ref $value) { |
173 | $arch->{$key} = $value; |
173 | $arch->{$key} = $value; |
|
|
174 | |
|
|
175 | } elsif (not defined $value) { |
|
|
176 | # this is introduced so that move types are correctly handled. |
|
|
177 | # but it also makes incredible sense to me to delete attributes with |
|
|
178 | # undef values! |
|
|
179 | delete $arch->{$key}; |
174 | |
180 | |
175 | } else { |
181 | } else { |
176 | if (not defined $al_arch->{$key}) { |
182 | if (not defined $al_arch->{$key}) { |
177 | if ((not defined $value) || $value eq '' |
183 | if ((not defined $value) || $value eq '' |
178 | || ($type eq 'bool' && $value eq '0')) { |
184 | || ($type eq 'bool' && $value eq '0')) { |