class App42::Shopping::CartResponseBuilder
CartResponseBuilder
class converts the JSON response retrieved from the server to the value object i.e Cart
Public Instance Methods
buildArrayResponse(json)
click to toggle source
Converts the response in JSON format to the list of value objects i.e Cart
@param json
- response in JSON format
@return List of Cart
object filled with json data
# File lib/shopping/CartResponseBuilder.rb, line 95 def buildArrayResponse(json) cartsJSONObj = getServiceJSONObject("carts", json); cartList = Array.new if cartsJSONObj.fetch("cart").instance_of?(Array) cartJSONArray = cartsJSONObj.fetch("cart") cartJSONArray.length.times do |i| cartJSONObj = cartJSONArray[i] cart = buildCartObject(cartJSONObj); cart.strResponse=json cart.isResponseSuccess = isResponseSuccess(json) cartList.push(cart) end else cartJSONObj = cartsJSONObj.fetch("cart"); cart = buildCartObject(cartJSONObj); cart.strResponse=json cart.isResponseSuccess = isResponseSuccess(json) cartList.push(cart) end return cartList end
buildCartObject(cartJSONObj)
click to toggle source
Converts the Cart
JSON object to the value object i.e Cart
@param cartJSONObj
- cart data as JSONObject
@return Cart
object filled with json data
# File lib/shopping/CartResponseBuilder.rb, line 47 def buildCartObject(cartJSONObj) cart = Cart.new(); itemList = Array.new() cart.itemList = itemList buildObjectFromJSONTree(cart, cartJSONObj); if cartJSONObj.key?("items") && cartJSONObj.fetch("items").key?("item") if cartJSONObj.fetch("items").fetch("item").instance_of?(Hash) #Single Item itemJSONObj = cartJSONObj.fetch("items").fetch("item") item = App42::Shopping::Item.new(cart) buildObjectFromJSONTree(item, itemJSONObj); else # Multiple Items itemJSONArray = cartJSONObj.fetch("items").fetch("item"); itemJSONArray.length.times do |i| itemJSONObj = itemJSONArray[i] item = App42::Shopping::Item.new(cart) buildObjectFromJSONTree(item, itemJSONObj); end end end if cartJSONObj.key?("payments") && cartJSONObj.fetch("payments").key?("payment") # Fetch Payment paymentJSONObj = cartJSONObj.fetch("payments").fetch("payment"); puts paymentJSONObj payment = App42::Shopping::Payment.new(cart) buildObjectFromJSONTree(payment, paymentJSONObj); end return cart; end
buildResponse(json)
click to toggle source
Converts the response in JSON format to the value object i.e Cart
@param json
- response in JSON format
@return Cart
object filled with json data
# File lib/shopping/CartResponseBuilder.rb, line 28 def buildResponse(json) cartsJSONObj = getServiceJSONObject("carts", json) cartJSONObj = cartsJSONObj.fetch("cart") cart = buildCartObject(cartJSONObj); cart.strResponse=json cart.isResponseSuccess = isResponseSuccess(json) return cart end