Class: Edi::Amazon::JsonListingGenerator::Attributes::Contact

Inherits:
BaseAttribute
  • Object
show all
Defined in:
app/services/edi/amazon/json_listing_generator/attributes/contact.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
27
28
29
30
31
# File 'app/services/edi/amazon/json_listing_generator/attributes/contact.rb', line 3

def build
  contact_type = fetch_value(:contact_type)
  contact_material = fetch_value(:contact_material)
  contact_current_rating = fetch_value(:contact_current_rating)
  contact_current_rating_unit = fetch_unit(:contact_current_rating) || 'amps'

  obj = {}
  if contact_type
    obj[:type] = [{
      value: contact_type,
      language_tag: language_tag
    }]
  end
  if contact_material
    obj[:material] = [{
      value: contact_material,
      language_tag: language_tag
    }]
  end
  if contact_current_rating
    obj[:current_rating] = [{
      unit: contact_current_rating_unit,
      value: contact_current_rating
    }]
  end
  return unless obj.present?
  obj[:marketplace_id] = @marketplace_id
  [obj]
end