Module: AboutYou::SDK::Model::AbstractBasketItem

Included in:
BasketItem, BasketSet
Defined in:
lib/AboutYou/Model/Basket/abstract_basket_item.rb

Overview

This class is an abstract model of a basket item

author

Collins GmbH & Co KG

Constant Summary collapse

IMAGE_URL_REQUIRED =

determines if the image url is required

false

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#additional_dataObject

Additional data



14
15
16
# File 'lib/AboutYou/Model/Basket/abstract_basket_item.rb', line 14

def additional_data
  @additional_data
end

#is_changedObject

determines whether a basket item is changed or not



16
17
18
# File 'lib/AboutYou/Model/Basket/abstract_basket_item.rb', line 16

def is_changed
  @is_changed
end

Instance Method Details

#addition_data=(additional_data) ⇒ Object

sets additional data for the basket item

  • Args :

    • additional_data -> the desired data to set



34
35
36
37
38
39
# File 'lib/AboutYou/Model/Basket/abstract_basket_item.rb', line 34

def addition_data=(additional_data)
  check_additional_data(additional_data)
  self.is_changed = true

  self.additional_data = additional_data
end

#check_additional_data(additional_data = nil) ⇒ Object

checks if certain additional_data is valid to set for a basket item or not

  • Args :

    • additional_data -> the desired data to check

  • Fails :

    • if additional_data doesnt have a description

    • if additional_data doesnt have an image url and it would be required



51
52
53
54
55
56
57
58
# File 'lib/AboutYou/Model/Basket/abstract_basket_item.rb', line 51

def check_additional_data(additional_data = nil)
  return unless additional_data || IMAGE_URL_REQUIRED
  fail 'InvalidArgumentException! description is required
    in additional data' unless additional_data.key?('description')
  fail 'InvalidArgumentException! image_url is required in
    additional data' if
    IMAGE_URL_REQUIRED && !additional_data.key?('image_url')
end

#descriptionObject

gets the description of the basket item

  • Returns :

    • a String of null if no description is set



24
25
26
# File 'lib/AboutYou/Model/Basket/abstract_basket_item.rb', line 24

def description
  additional_data['description'] if additional_data
end