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

See Also:

  • \Collins\ShopApi\Model\Variant
  • \Collins\ShopApi\Model\Basket
  • \Collins\ShopApi

Constant Summary collapse

ERROR_CODE_PRODUCT_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

Returns BasketVariantItem.

Parameters:

  • object

    $json_object The basket data.

  • Product[]

    $products

Returns:

  • BasketVariantItem



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
50
# File 'lib/AboutYou/Model/Basket/basket_set_item.rb', line 24

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