Class: App42::Log::LogResponseBuilder

Inherits:
App42ResponseBuilder show all
Defined in:
lib/log/LogResponseBuilder.rb

Overview

LogResponseBuilder class converts the JSON response retrieved from the server to the value object i.e Log

Instance Method Summary collapse

Methods inherited from App42ResponseBuilder

#buildObjectFromJSONTree, #getNames, #getServiceJSONObject, #getTotalRecords, #isResponseSuccess

Instance Method Details

#buildResponse(json) ⇒ Object

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

Parameters:

  • json
    • response in JSON format

Returns:

  • Log object filled with json data



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/log/LogResponseBuilder.rb', line 27

def buildResponse(json)
  puts "testing #{json}"
  logObj = Log.new()
  messageList = Array.new
  logObj.messageList= messageList
  logObj.strResponse=json
  jsonObj = JSON.parse(json)
  jsonObjApp42 = jsonObj.fetch("app42")
  jsonObjResponse = jsonObjApp42.fetch("response")
  logObj.isResponseSuccess = jsonObjResponse.fetch("success")
  jsonObjLog = jsonObjResponse["logs"]
  if jsonObjLog.key?("log") == false
    return logObj;
  end

  if  jsonObjLog.fetch("log").instance_of?(Hash)
    # Only One attribute is there
    jsonObjLogMessage = jsonObjLog.fetch("log")
    messageItem = App42::Log::Message.new(logObj)
    buildObjectFromJSONTree(messageItem, jsonObjLogMessage);
  else
    jsonObjMessageArray = jsonObjLog.fetch("log")
    # There is an Array of attribute
    jsonObjMessageArray.length.times do |i|
      # Get Individual Attribute Node and set it into Object
      jsonObjLogMessage = jsonObjMessageArray[i]
      messageItem = App42::Log::Message.new(logObj)
      buildObjectFromJSONTree(messageItem, jsonObjLogMessage);
    end
  end
  return logObj;
end