Class: AboutYou::SDK::Model::ProductsResult

Inherits:
Object
  • Object
show all
Includes:
AbstractModel
Defined in:
lib/AboutYou/Model/products_result.rb

Overview

This class represents a products result model

Instance Attribute Summary collapse

Attributes included from AbstractModel

#shop_api

Class Method Summary collapse

Instance Attribute Details

#errorsObject

Array of errors



15
16
17
# File 'lib/AboutYou/Model/products_result.rb', line 15

def errors
  @errors
end

#page_hashObject

String page hash



13
14
15
# File 'lib/AboutYou/Model/products_result.rb', line 13

def page_hash
  @page_hash
end

#productsObject

Array of instances of AboutYou::SDK::Model::Product



17
18
19
# File 'lib/AboutYou/Model/products_result.rb', line 17

def products
  @products
end

#productsNotFoundObject

Array of not found product ids



11
12
13
# File 'lib/AboutYou/Model/products_result.rb', line 11

def productsNotFound
  @productsNotFound
end

Class Method Details

.create_from_json(json_object, factory) ⇒ Object

This method is used for creating an instance of this class by a json_object.

  • Args :

    • json_object -> the json_object received from the api

    • factory -> instance of AboutYou::SDK::Factory::DefaultModelFactory

  • Returns :

    • Instance of AboutYou::SDK::Model::ProductsResult



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/AboutYou/Model/products_result.rb', line 29

def self.create_from_json(json_object, factory)
  products_result = new

  products_result.page_hash = json_object['page_hash'] ? json_object['page_hash'] : nil
  products_result.errors = []
  products_result.ids_not_found = []
  products_result.products = {}

  if json_object['ids']
    json_object['ids'].each do |key, json_product|
      if json_product['error_code']
        products_result.productsNotFound.push(key)
        products_result.errors.push(json_product)
        next
      end
      products_result.products[Integer(key)] = factory.create_product(
        json_product
      )
    end
  end

  products_result
end