Class: Edi::Amazon::JsonListingGenerator::Attributes::FccRadioFrequencyEmissionCompliance
- Inherits:
-
BaseAttribute
- Object
- BaseAttribute
- Edi::Amazon::JsonListingGenerator::Attributes::FccRadioFrequencyEmissionCompliance
- Defined in:
- app/services/edi/amazon/json_listing_generator/attributes/fcc_radio_frequency_emission_compliance.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
#build ⇒ Object
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 |
# File 'app/services/edi/amazon/json_listing_generator/attributes/fcc_radio_frequency_emission_compliance.rb', line 3 def build fcc_id = fetch_value(:fcc_id) # If we don't have it in the spec, dig in every item regardless of spec if fcc_id.nil? item.get_self_and_kit_items.each do |i| fcc_id = i.spec_output(:fcc_id) break if fcc_id end end fcc_registration_status = fcc_id ? 'has_fcc_id' : fetch_value(:fcc_registration_status) fcc_registration_status ||= 'fcc_incidental_radiator' if item.get_self_and_kit_items.any?(&:is_radiator?) fcc_registration_status ||= 'not_capable_emitting_rf_energy' return unless fcc_registration_status.present? result = { registration_status: fcc_registration_status } if fcc_registration_status == 'has_fcc_id' && fcc_id.present? result[:identification_number] = fcc_id result[:point_of_contact_name] = fetch_value(:fcc_point_of_contact_name) || fetch_value(:sdoc_contact_name) result[:point_of_contact_address] = fetch_value(:fcc_point_of_contact_address) || fetch_value(:sdoc_contact_us_mailing_address) result[:point_of_contact_email] = fetch_value(:fcc_point_of_contact_email) || fetch_value(:sdoc_contact_email_address) result[:point_of_contact_phone_number] = fetch_value(:fcc_point_of_contact_phone_number) || fetch_value(:sdoc_contact_us_phone_number) end result[:marketplace_id] = marketplace_id [result.compact] end |