Class: AboutYou::SDK::Model::BasketSetItem

Inherits:
Object
  • Object
show all
Includes:
BasketVariantItem
Defined in:
lib/AboutYou/Model/Basket/basket_set_item.rb

Overview

BasketSetItem is a class used for adding a variant set item into the basket

Constant Summary collapse

ERROR_CODE_PRODUCT_NOT_INCLUDED =

erorr code if a product is not included

1001

Instance Attribute Summary

Attributes included from BasketVariantItem

#app_id, #json_object, #product, #variant, #variant_id

Instance Method Summary collapse

Methods included from BasketVariantItem

#check_app_id, #check_variant_id, #errors?, #initialize, #old_price, #tax, #total_net, #total_price, #total_vat, #unique_key

Instance Method Details

#create_from_json(json_object, products) ⇒ Object

This method is used for creating a basket set item from a given api json response. It is best practice to use this method.

  • Args :

    • json_object -> the api response key

    • products -> Array of products

  • Returns :

    • an instance of AboutYou::SDK::Model::BasketSetItem



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/AboutYou/Model/Basket/basket_set_item.rb', line 23

def create_from_json(json_object, products)
  item = new(
    json_object['variant_id'],
    if json_object.key?('additional_data')
      [json_object['additional_data']]
    else
      nil
    end,
    json_object.key?('app_id') ? json_object['app_id'] : nil
  )

  item.parse_error_result(json_object)
  item.json_object = json_object

  unless json_object['product_id'].nil?
    if products.key?(json_object['product_id'])
      item.product = products[json_object['product_id']]
    else
      item.errorCode    = ERROR_CODE_PRODUCT_NOT_INCLUDED
      item.errorMessage = 'Product with ID ' +
        json_object['product_id'] + ' expected but wasnt received
        with the basket'
    end
  end

  item
end