Class: ProductTaxonomy::Serializers::Value::Dist::TxtSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/product_taxonomy/models/serializers/value/dist/txt_serializer.rb

Class Method Summary collapse

Class Method Details

.serialize(value, padding: 0, locale: "en") ⇒ String

Parameters:

  • value (Value)
  • padding (Integer) (defaults to: 0)

    The padding to use for the GID.

  • locale (String) (defaults to: "en")

    The locale to use for localization.

Returns:

  • (String)


23
24
25
# File 'lib/product_taxonomy/models/serializers/value/dist/txt_serializer.rb', line 23

def serialize(value, padding: 0, locale: "en")
  "#{value.gid.ljust(padding)} : #{value.full_name(locale:)}"
end

.serialize_all(version:, locale: "en", padding: longest_gid_length) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/product_taxonomy/models/serializers/value/dist/txt_serializer.rb', line 9

def serialize_all(version:, locale: "en", padding: longest_gid_length)
  header = <<~HEADER
    # Shopify Product Taxonomy - Attribute Values: #{version}
    # Format: {GID} : {Value name} [{Attribute name}]

  HEADER

  header + ProductTaxonomy::Value.all_values_sorted.map { serialize(_1, padding:, locale:) }.join("\n")
end