def determine_value(a_value, o_value, n_value, d_value)
if hash_and_not_cna?(a_value)
value = {}
value = Chef::Mixin::DeepMerge.merge(value, d_value) if hash_and_not_cna?(d_value)
value = Chef::Mixin::DeepMerge.merge(value, n_value) if hash_and_not_cna?(n_value)
value = Chef::Mixin::DeepMerge.merge(value, o_value) if hash_and_not_cna?(o_value)
value = Chef::Mixin::DeepMerge.merge(value, a_value)
value
elsif hash_and_not_cna?(o_value)
value = {}
value = Chef::Mixin::DeepMerge.merge(value, d_value) if hash_and_not_cna?(d_value)
value = Chef::Mixin::DeepMerge.merge(value, n_value) if hash_and_not_cna?(n_value)
value = Chef::Mixin::DeepMerge.merge(value, o_value)
value
elsif hash_and_not_cna?(n_value)
value = {}
value = Chef::Mixin::DeepMerge.merge(value, d_value) if hash_and_not_cna?(d_value)
value = Chef::Mixin::DeepMerge.merge(value, n_value)
value
elsif hash_and_not_cna?(d_value)
d_value
else
return a_value if ! a_value.nil?
return o_value if ! o_value.nil?
return n_value if ! n_value.nil?
return d_value if ! d_value.nil?
return nil
end
end