Class: MusicTodayApiWrapper::Resources::Variant

Inherits:
Object
  • Object
show all
Defined in:
lib/resources/variant.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sku, price, quantity_available, variant_names = []) ⇒ Variant

Returns a new instance of Variant.



10
11
12
13
14
15
# File 'lib/resources/variant.rb', line 10

def initialize(sku, price, quantity_available, variant_names = [])
  @sku = sku
  @price = price
  @quantity_available = quantity_available
  @variant_names = variant_names
end

Instance Attribute Details

#priceObject

Returns the value of attribute price.



5
6
7
# File 'lib/resources/variant.rb', line 5

def price
  @price
end

#quantity_availableObject

Returns the value of attribute quantity_available.



5
6
7
# File 'lib/resources/variant.rb', line 5

def quantity_available
  @quantity_available
end

#skuObject

Returns the value of attribute sku.



5
6
7
# File 'lib/resources/variant.rb', line 5

def sku
  @sku
end

#variant_namesObject

Returns the value of attribute variant_names.



5
6
7
# File 'lib/resources/variant.rb', line 5

def variant_names
  @variant_names
end

Class Method Details

.from_hash(variant_hash) ⇒ Object



17
18
19
20
21
22
# File 'lib/resources/variant.rb', line 17

def self.from_hash(variant_hash)
  Variant.new(variant_hash['sku'],
              variant_hash['listPrice'],
              variant_hash['qtyAvailable'],
              variant_names(variant_hash['variantNames']))
end

.variant_names(names) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/resources/variant.rb', line 24

def self.variant_names(names)
  return [] unless names
  symbolized_names = []

  names.each do |variant|
    variant_name = {}
    variant_name[variant.keys[0]
      .to_underscore
      .to_sym] = variant.values[0]
    symbolized_names << variant_name
  end
  symbolized_names
end