class AWS::Core::XML::Frame

def keys_from_path data, path, &block

def keys_from_path data, path, &block
  step = path.shift
  value = data[step]
  if path.empty?
    yield(value)
    return
  end
  if value.is_a?(Array)
    value.each do |v|
      keys_from_path(v, path.dup, &block)
    end
  else
    keys_from_path(value, path.dup, &block)
  end
end