Class: Edi::Amazon::JsonListingGenerator::Attributes::Cable

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

def build
  cable_length = fetch_value(:amazon_cable, output_unit: :ft) ||
                 fetch_value(:heating_cable_length, output_unit: :ft) ||
                 item.linear_ft
  cable_length_unit = 'foot'
  return unless cable_length && cable_length_unit

  [
    {
      cable: {
        decimal_value: cable_length,
        unit: cable_length_unit
      },
      marketplace_id:
    }
  ]
end