Class: Edi::Amazon::JsonListingGenerator::Attributes::RegulatoryComplianceCertification

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

def build
  results = []
  if marketplace_country_iso == 'CA'
    results << build_ised_certification_reg_no
    results << build_ised_hvin
    results << build_ul_certification_no_ca
  elsif marketplace_country_iso == 'US'
    results << build_ul_certification_no
    results << build_tuv_certificate_no
    results << build_intertek_certificate_no
  end
  results.compact.presence
end

#build_intertek_certificate_noObject



50
51
52
53
# File 'app/services/edi/amazon/json_listing_generator/attributes/regulatory_compliance_certification.rb', line 50

def build_intertek_certificate_no
  # future, i would refrain from putting this here since it can exposes
  # our manufacturer, tread carefully
end

#build_ised_certification_reg_noObject



55
56
57
58
59
60
61
62
63
64
65
66
# File 'app/services/edi/amazon/json_listing_generator/attributes/regulatory_compliance_certification.rb', line 55

def build_ised_certification_reg_no
  value = nil
  item.get_self_and_kit_items.each do |i|
    value ||= i.spec_output(:ic_certification_number)
  end
  return if value.blank?

  {
    regulation_type: 'ised_certification_reg_no',
    value: value
  }
end

#build_ised_hvinObject



68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'app/services/edi/amazon/json_listing_generator/attributes/regulatory_compliance_certification.rb', line 68

def build_ised_hvin
  value = nil
  # If we don't have it in the spec, dig in every item regardless of spec
  item.get_self_and_kit_items.each do |i|
    value ||= i.spec_output(:hardware_version_identification_number_hvin)
  end
  return if value.blank?

  {
    regulation_type: 'ised_hvin',
    value: value
  }
end

#build_tuv_certificate_noObject



37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/services/edi/amazon/json_listing_generator/attributes/regulatory_compliance_certification.rb', line 37

def build_tuv_certificate_no
  value = nil
  item.get_self_and_kit_items.each do |i|
    value ||= i.spec_output(:tuv_listing_number)
  end
  return if value.blank?

  {
    regulation_type: 'tuv_certificate_no',
    value: value
  }
end

#build_ul_certification_noObject



17
18
19
20
21
22
23
24
25
# File 'app/services/edi/amazon/json_listing_generator/attributes/regulatory_compliance_certification.rb', line 17

def build_ul_certification_no
  value = ul_listing_number_value
  return if value.blank?
  # yes amazon has a typo in their schema, they spelled certification wrong
  {
    regulation_type: 'ul_cetrification_no',
    value: value
  }
end

#build_ul_certification_no_caObject



27
28
29
30
31
32
33
34
35
# File 'app/services/edi/amazon/json_listing_generator/attributes/regulatory_compliance_certification.rb', line 27

def build_ul_certification_no_ca
  value = ul_listing_number_value
  return if value.blank?

  {
    regulation_type: 'underwriters_laboratories',
    value: value
  }
end