Class: Edi::Amazon::JsonListingGenerator::Attributes::BaseImageAttribute
- Inherits:
-
BaseSimpleAttribute
- Object
- BaseAttribute
- BaseSimpleAttribute
- Edi::Amazon::JsonListingGenerator::Attributes::BaseImageAttribute
- Defined in:
- app/services/edi/amazon/json_listing_generator/attributes/base_image_attribute.rb
Direct Known Subclasses
MainProductImageLocator, OtherProductImageLocator1, OtherProductImageLocator2, OtherProductImageLocator3, OtherProductImageLocator4, OtherProductImageLocator5, OtherProductImageLocator6, OtherProductImageLocator7, OtherProductImageLocator8, SwatchProductImageLocator
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
- #images ⇒ Object
-
#initialize(catalog_item:, variation:, language_tag:, enum_mapper:, marketplace_id:, value_attribute_name: :media_location, fba:) ⇒ BaseImageAttribute
constructor
A new instance of BaseImageAttribute.
- #swatch_image ⇒ Object
- #value ⇒ Object
Methods inherited from BaseSimpleAttribute
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
#images ⇒ Object
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_image ⇒ Object
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 |
#value ⇒ Object
19 20 21 |
# File 'app/services/edi/amazon/json_listing_generator/attributes/base_image_attribute.rb', line 19 def value raise NotImplementedError end |