Class: Edi::Amazon::JsonListingGenerator::Attributes::ExternallyAssignedProductIdentifier

Inherits:
BaseAttribute
  • Object
show all
Defined in:
app/services/edi/amazon/json_listing_generator/attributes/externally_assigned_product_identifier.rb

Constant Summary

Constants inherited from BaseAttribute

BaseAttribute::RUBY_UNIT_TO_AMAZON_UNIT

Instance Attribute Summary

Attributes inherited from BaseAttribute

#amazon_schema, #attribute_name, #catalog_item, #enum_mapper, #fba, #item, #language_tag, #marketplace, #marketplace_country_iso, #marketplace_id, #value_attribute_name, #variation

Instance Method Summary collapse

Methods inherited from BaseAttribute

#fetch_unit, #fetch_value, #initialize, #map_unit, #value

Constructor Details

This class inherits a constructor from Edi::Amazon::JsonListingGenerator::Attributes::BaseAttribute

Instance Method Details

#buildObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/services/edi/amazon/json_listing_generator/attributes/externally_assigned_product_identifier.rb', line 3

def build
  # GTIN-family attributes are not allowed on variation parents (Amazon error 100835)
  return if variation.present?

  type = nil
  ext_id = nil
  if item.has_ean13?
    type = 'ean'
    ext_id = item.ean13
  elsif item.upc
    type = 'upc'
    ext_id = item.upc
  end

  return unless type && ext_id

  [
    {
      type: type,
      value: ext_id,
      marketplace_id:
    }
  ]
end