def get_value(data_hash, key)
last = nil
if @current_nesting_level.length == 0
if data_hash.has_key?(key) && ! data_hash[key].nil?
return data_hash[key]
else
return nil
end
end
0.upto(@current_nesting_level.length) do |i|
if i == 0
last = auto_vivifiy(data_hash, @current_nesting_level[i])
elsif i == @current_nesting_level.length
fk = last[@current_nesting_level[i - 1]]
if fk.has_key?(key) && ! fk[key].nil?
return fk[key]
else
return nil
end
else
last = auto_vivifiy(last[@current_nesting_level[i - 1]], @current_nesting_level[i])
end
end
end