Class: Edi::Amazon::JsonListingGenerator::Attributes::BaseImageAttribute

Inherits:
BaseSimpleAttribute show all
Defined in:
app/services/edi/amazon/json_listing_generator/attributes/base_image_attribute.rb

Constant Summary

Constants inherited from BaseAttribute

Edi::Amazon::JsonListingGenerator::Attributes::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 BaseSimpleAttribute

#build

Methods inherited from BaseAttribute

#build, #fetch_unit, #fetch_value, #map_unit

Constructor Details

#initialize(catalog_item:, variation:, language_tag:, enum_mapper:, marketplace_id:, value_attribute_name: :media_location, fba:) ⇒ BaseImageAttribute

Returns a new instance of BaseImageAttribute.



3
4
5
# File 'app/services/edi/amazon/json_listing_generator/attributes/base_image_attribute.rb', line 3

def initialize(catalog_item:, variation:, language_tag:, enum_mapper:, marketplace_id:, value_attribute_name: :media_location, fba:)
  super
end

Instance Method Details

#imagesObject



7
8
9
# File 'app/services/edi/amazon/json_listing_generator/attributes/base_image_attribute.rb', line 7

def images
  item.all_amazon_image_profiles.where.not(image_type: 'AMZ_SWCH').limit(9).map(&:image_url)
end

#swatch_imageObject



11
12
13
14
15
16
17
# File 'app/services/edi/amazon/json_listing_generator/attributes/base_image_attribute.rb', line 11

def swatch_image
  image_url = item.all_amazon_image_profiles.find_by(image_type: 'AMZ_SWCH')&.image_url
  return image_url if image_url.present?
  return unless item.amazon_variation&.fallback_to_main_image_as_swatch

  item.all_amazon_image_profiles.find_by(image_type: 'AMZ_MAIN')&.image_url(named: 'amazon_swatch')
end

#valueObject

Raises:

  • (NotImplementedError)


19
20
21
# File 'app/services/edi/amazon/json_listing_generator/attributes/base_image_attribute.rb', line 19

def value
  raise NotImplementedError
end