Class: AboutYou::SDK::Model::VariantsResult

Inherits:
Object
  • Object
show all
Defined in:
lib/AboutYou/Model/variants_result.rb

Overview

This class represents a variants result

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#errorsObject

Array of Errors



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

def errors
  @errors
end

#variantsObject

Array of AboutYou::SDK::Model::Variant



9
10
11
# File 'lib/AboutYou/Model/variants_result.rb', line 9

def variants
  @variants
end

Class Method Details

.create(variants, errors = [], product_search_result) ⇒ Object

This method is used for creating the variants result

  • Args :

    • variants -> Array of AboutYou::SDK::Model::Variant

    • errors -> Array of Errors [optional]

    • product_search_result -> AboutYou::SDK::Model::ProductSearchResult [optional]

  • Returns :

    • Instance of AboutYou::SDK::Model::VariantsResult



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/variants_result.rb', line 24

def self.create(variants, errors = [], product_search_result)
  variants_result = new
  variants_result.variants = {}
  variants_result.errors = errors

  # no variant was found
  return variants_result if
  product_search_result == false || variants.count == 0

  # get products from product-search
  products = product_search_result.products
  variants.each do |variant_id, product_id|
    unless products[product_id]
      # product was not delivered
      variants_result.errors.push(variant_id)
      next
    end

    product = products[product_id]
    variant = product.variant_by_id(variant_id)

    variants_result.variants[variant_id] = variant if
    variant.is_a?(AboutYou::SDK::Model::Variant)
  end

  variants_result
end

Instance Method Details

#variant_by_id(id) ⇒ Object

  • Returns :

    • nil / instance of AboutYou::SDK::Model::Variant



91
92
93
# File 'lib/AboutYou/Model/variants_result.rb', line 91

def variant_by_id(id)
  variants[id] ? variants[id] : nil
end

#variants_foundObject

Getter for the found variants

  • Returns :

    • Array of AboutYou::SDK::Model::Variant



78
79
80
# File 'lib/AboutYou/Model/variants_result.rb', line 78

def variants_found
  variants
end

#variants_found?Boolean

This method checks if there are variants found

  • Returns :

    • Boolean determining whether the result has found variants or not



58
59
60
# File 'lib/AboutYou/Model/variants_result.rb', line 58

def variants_found?
  variants.count > 0
end

#variants_not_foundObject

geter for the not found variants

  • Returns :

    • Array of AboutYou::SDK::Model::Variant



101
102
103
# File 'lib/AboutYou/Model/variants_result.rb', line 101

def variants_not_found
  errors
end

#variants_not_found?Boolean

This method checks if there are variants not found

  • Returns :

    • Boolean determining whether the result has not found variants or not



68
69
70
# File 'lib/AboutYou/Model/variants_result.rb', line 68

def variants_not_found?
  errors.count > 0
end