class App42::AppTab::UsageResponseBuilder
UsageResponseBuilder
class converts the JSON response retrieved from the server to the value object i.e Usage
Public Instance Methods
buildResponse(json)
click to toggle source
Converts the response in JSON format to the value object i.e Usage
@param json
- response in JSON format
@return Usage
object filled with json data
@raise Exception
# File lib/appTab/UsageResponseBuilder.rb, line 27 def buildResponse(json) appTabJSONObj = getServiceJSONObject("appTab", json); usageJsonObj = appTabJSONObj.fetch("usages").fetch("usage"); usage = Usage.new usage.strResponse = json usage.isResponseSuccess = isResponseSuccess(json) buildObjectFromJSONTree(usage, usageJsonObj); if usageJsonObj.key?("level") levelList = Array.new usage.levelList=(levelList) if usageJsonObj.fetch("level").instance_of?(Hash) levelJSONObj = usageJsonObj.fetch("level"); level = App42::AppTab::Level.new(usage) buildObjectFromJSONTree(level, levelJSONObj); else levelJSONArray = usageJsonObj.fetch("level"); levelJSONArray.length.times do |i| levelJSONObj = levelJSONArray.fetch(i); level = App42::AppTab::Level.new(usage) buildObjectFromJSONTree(level, levelJSONObj); end end elsif usageJsonObj.key?("oneTime") oneTimeList = Array.new usage.oneTimeList=(oneTimeList) if usageJsonObj.fetch("oneTime").instance_of?(Hash) oneTimeJSONObj = usageJsonObj.fetch("oneTime"); oneTime = App42::AppTab::OneTime.new(usage) buildObjectFromJSONTree(oneTime, oneTimeJSONObj); else oneTimeJSONArray = usageJsonObj.fetch("oneTime"); oneTimeJSONArray.length.times do |i| oneTimeJSONObj = oneTimeJSONArray.fetch(i); oneTime = App42::AppTab::OneTime.new(usage) buildObjectFromJSONTree(oneTime, oneTimeJSONObj); end end elsif usageJsonObj.key?("feature") featureList = Array.new usage.featureList=(featureList) if usageJsonObj.fetch("feature").instance_of?(Hash) featureJSONObj = usageJsonObj.fetch("feature"); feature = App42::AppTab::Feature.new(usage) buildObjectFromJSONTree(feature, featureJSONObj); else featureJSONArray = usageJsonObj.fetch("feature"); featureJSONArray.length.times do |i| featureJSONObj = featureJSONArray.fetch(i); feature = App42::AppTab::Feature.new(usage) buildObjectFromJSONTree(feature, featureJSONObj); end end elsif usageJsonObj.key?("bandwidth") bandwidthList = Array.new usage.bandwidthList=(bandwidthList) if usageJsonObj.fetch("bandwidth").instance_of?(Hash) bandwidthJSONObj = usageJsonObj.fetch("bandwidth"); bandwidth = App42::AppTab::Bandwidth.new(usage) buildObjectFromJSONTree(bandwidth, bandwidthJSONObj); else bandwidthJSONArray = usageJsonObj.fetch("bandwidth"); bandwidthJSONArray.length.times do |i| bandwidthJSONObj = bandwidthJSONArray.fetch(i); bandwidth = App42::AppTab::Bandwidth.new(usage) buildObjectFromJSONTree(bandwidth, bandwidthJSONObj); end end elsif usageJsonObj.key?("storage") storageList = Array.new usage.storageList=(storageList) if usageJsonObj.fetch("storage").instance_of?(Hash) storageJSONObj = usageJsonObj.fetch("storage"); storage = App42::AppTab::Storage.new(usage) buildObjectFromJSONTree(storage, storageJSONObj); else storageJSONArray = usageJsonObj.fetch("storage"); storageJSONArray.length.times do |i| storageJSONObj = storageJSONArray.fetch(i); storage = App42::AppTab::Storage.new(usage) buildObjectFromJSONTree(storage, storageJSONObj); end end elsif usageJsonObj.key?("time") timeList = Array.new usage.timeList=(timeList) if usageJsonObj.fetch("time").instance_of?(Hash) timeJSONObj = usageJsonObj.fetch("time"); time = App42::AppTab::Time.new(usage) buildObjectFromJSONTree(time, timeJSONObj); else timeJSONArray = usageJsonObj.fetch("time"); timeJSONArray.length.times do |i| timeJSONObj = timeJSONArray.fetch(i); time = App42::AppTab::Time.new(usage) buildObjectFromJSONTree(time, timeJSONObj); end end # elsif usageJsonObj.key?("custom") # customList = Array.new # usage.customList=(customList) # if usageJsonObj.fetch("custom").instance_of?(Hash) # customJSONObj = usageJsonObj.fetch("custom"); # custom = App42::Usage::Custom(usage) # buildObjectFromJSONTree(custom, customJSONObj); # else # customJSONArray = usageJsonObj.fetch("custom"); # customJSONArray.length.times do |i| # customJSONObj = customJSONArray.getJSONObject(i); # custom = App42::Usage::Custom(usage) # buildObjectFromJSONTree(custom, customJSONObj); # end # end end return usage; end