Class: Edi::Wayfair::ListingGenerator::Attributes::BtuOutput
- Inherits:
-
BaseAttribute
- Object
- BaseAttribute
- Edi::Wayfair::ListingGenerator::Attributes::BtuOutput
- Defined in:
- app/services/edi/wayfair/listing_generator/attributes/btu_output.rb
Overview
Maps BTU output from Item to Wayfair's BTU Output attribute
Taxonomy Attribute ID: 892
Datatype: DECIMAL
Constant Summary
Constants inherited from BaseAttribute
Edi::Wayfair::ListingGenerator::Attributes::BaseAttribute::UNIT_MAPPINGS
Instance Attribute Summary
Attributes inherited from BaseAttribute
#attribute_definition, #catalog_item, #item, #taxonomy_attribute_id, #wayfair_schema
Instance Method Summary collapse
Methods inherited from BaseAttribute
attribute_name, #attribute_title, #build, #build_attribute_hash, #can_build?, #custom_values_allowed?, #datatype, #fetch_value, #format_boolean, #format_decimal, #initialize, #map_unit, #possible_values, #requirement, set_taxonomy_attribute_id, taxonomy_attribute_id, #valid_value?
Constructor Details
This class inherits a constructor from Edi::Wayfair::ListingGenerator::Attributes::BaseAttribute
Instance Method Details
#value ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/services/edi/wayfair/listing_generator/attributes/btu_output.rb', line 10 def value # Try spec first, then fall back to calculated BTU from watts btu = fetch_value(:btu_output) || fetch_value(:btus) # If no BTU specified, calculate from watts (1 watt ≈ 3.412 BTU) if btu.blank? && item.watts.present? && item.watts > 0 btu = (item.watts * 3.412).round(0) end return nil unless btu.present? && btu > 0 format_decimal(btu) end |