class BestBuy::Product

:reek: TooManyInstanceVariables

Attributes

active[R]
alternate_categories[R]
category_path[R]
images[R]
name[R]
offers[R]
raw_attributes[R]
regular_price[R]
sale_price[R]
shipping_cost[R]
shipping_levels_of_service[R]
sku[R]
type[R]
upc[R]
url[R]

Public Class Methods

new(init_params) click to toggle source

rubocop:disable Metrics/AbcSize

# File lib/best_buy/models/product.rb, line 13
def initialize(init_params)
  @active = init_params[:active]
  @alternate_categories = init_params[:alternate_categories]
  @category_path = init_params[:category_path]
  @images = init_params[:images]&.map do |image_params|
    Image.new(image_params)
  end
  @name = init_params[:name]
  @offers = init_params[:offers]&.map do |offer_params|
    Offer.new(offer_params)
  end
  @regular_price = init_params[:regular_price]
  @sale_price = init_params[:sale_price]
  @shipping_cost = init_params[:shipping_cost]
  @shipping_levels_of_service = init_params[:shipping_levels_of_service]&.map do |slos_params|
    ShippingLevelOfService.new(slos_params)
  end
  @sku = init_params[:sku]
  @type = init_params[:type]
  @upc = init_params[:upc]
  @url = init_params[:url]

  @raw_attributes = init_params
end