class AWS::DynamoDB::BatchGet

def convert_unprocessed_keys response

def convert_unprocessed_keys response
  
  return nil if response.data['UnprocessedKeys'].empty?
  
  # convert the json response keys into symbolized keys
  str2sym = lambda do |key_desc|
    type, value = key_desc.to_a.flatten
    case type
    when "S" then { :s => value }
    when "N" then { :n => value }
    else 
      raise "unhandled key type: #{type}"
    end
  end
  request_items = {}
  response.data['UnprocessedKeys'].each_pair do |table,keys|
    request_items[table] = {}
    request_items[table][:attributes_to_get] = keys['AttributesToGet'] if
      keys['AttributesToGet']
    request_items[table][:keys] = keys['Keys'].collect do |desc|
      key = {}
      key[:hash_key_element] = str2sym.call(desc['HashKeyElement'])
      key[:range_key_element] = str2sym.call(desc['RangeKeyElement']) if
        desc['RangeKeyElement']
      key
    end
  end
  request_items
end