Class: Cadooz::Immutable::CatalogProductVariation

Inherits:
Object
  • Object
show all
Includes:
Mixins
Defined in:
lib/cadooz/models/immutable/catalog_product_variation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Mixins

#cadooz_class, #default_value_for_nil, #instance_variables_empty?, #serialize

Constructor Details

#initialize(open_struct) ⇒ CatalogProductVariation

Returns a new instance of CatalogProductVariation.



6
7
8
9
10
11
12
13
# File 'lib/cadooz/models/immutable/catalog_product_variation.rb', line 6

def initialize(open_struct)
  @currency = open_struct&.currency
  @name = open_struct&.name
  @number = open_struct&.number
  @value = Money.new((open_struct&.value.to_f * 100) || 0, @currency || 'USD')

  self.freeze
end

Instance Attribute Details

#currencyObject (readonly)

Returns the value of attribute currency.



4
5
6
# File 'lib/cadooz/models/immutable/catalog_product_variation.rb', line 4

def currency
  @currency
end

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/cadooz/models/immutable/catalog_product_variation.rb', line 4

def name
  @name
end

#numberObject (readonly)

Returns the value of attribute number.



4
5
6
# File 'lib/cadooz/models/immutable/catalog_product_variation.rb', line 4

def number
  @number
end

#valueObject (readonly)

Returns the value of attribute value.



4
5
6
# File 'lib/cadooz/models/immutable/catalog_product_variation.rb', line 4

def value
  @value
end