Я пытался избавиться от всех хеш-ключей в моем YAML-файле, которые имеют пустые (пустые) значения или пустые хеши в качестве значений.
Этот более ранний пост помог мне понять это почти правильно, но рекурсивная однострочная строка оставляет мой дамп YAML с пустыми хэшами всякий раз, когда происходит достаточно глубокое вложение.
Я был бы очень признателен за любую помощь в этом. Спасибо!
proc = Proc.new { |k, v| (v.kind_of?(Hash) && !v.empty? ) ? (v.delete_if(&proc); nil) : v.blank? }
hash = {"x"=>{"m"=>{"n"=>{}}}, 'y' => 'content'}
hash.delete_if(&proc)
Фактическая выработка
{"x"=>{"m"=>{}}, "y"=>"content"}
Желаемый вывод
{"y"=>"content"}