class App42::Upload::UploadResponseBuilder

UploadResponseBuilder class converts the JSON response retrieved from the server to the value object i.e User

Public Instance Methods

buildResponse(json) click to toggle source

Converts the response in JSON format to the value object i.e Upload

@param json

- response in JSON format

@return Upload object filled with json data

# File lib/upload/UploadResponseBuilder.rb, line 29
def buildResponse(json)
  puts "testing #{json}"
  uploadObj = Upload.new()

  fileList = Array.new
  uploadObj.fileList=fileList

  uploadObj.strResponse=json
  uploadObj.isResponseSuccess = isResponseSuccess(json)
  jsonObjUpload = getServiceJSONObject("upload", json)
  jsonObjFiles = jsonObjUpload.fetch("files");

  if jsonObjFiles.fetch("file").instance_of?(Hash)
    jsonObjFile = jsonObjFiles.fetch("file")
    fileObj = App42::Upload::File.new(uploadObj)
    buildObjectFromJSONTree(fileObj, jsonObjFile);
  else
    jsonObjFileArray = jsonObjFiles["file"]

    jsonObjFileArray.length.times do |i|
      fileObj =  App42::Upload::File.new(uploadObj)
      jsonObjFile = jsonObjFileArray[i]
      buildObjectFromJSONTree(fileObj, jsonObjFile);
    end
  end
  return uploadObj
end