class AboutYou::SDK::Model::VariantsResult

This class represents a variants result

Attributes

errors[RW]

Array of Errors

variants[RW]

Public Class Methods

create(variants, errors = [], product_search_result) click to toggle source

This method is used for creating the variants result

# 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

Public Instance Methods

variant_by_id(id) click to toggle source
# File lib/AboutYou/Model/variants_result.rb, line 90
def variant_by_id(id)
  variants[id] ? variants[id] : nil
end
variants_found() click to toggle source

Getter for the found variants

# File lib/AboutYou/Model/variants_result.rb, line 77
def variants_found
  variants
end
variants_found?() click to toggle source

This method checks if there are variants found

  • Returns :

    • Boolean determining whether the result has found variants or not

# File lib/AboutYou/Model/variants_result.rb, line 57
def variants_found?
  variants.count > 0
end
variants_not_found() click to toggle source

geter for the not found variants

# File lib/AboutYou/Model/variants_result.rb, line 100
def variants_not_found
  errors
end
variants_not_found?() click to toggle source

This method checks if there are variants not found

  • Returns :

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

# File lib/AboutYou/Model/variants_result.rb, line 67
def variants_not_found?
  errors.count > 0
end