Class: ProductTaxonomy::Serializers::Disclosure::Data::LocalizationsSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/product_taxonomy/models/serializers/disclosure/data/localizations_serializer.rb

Class Method Summary collapse

Class Method Details

.serialize(disclosure, locale: "en") ⇒ Hash

Returns Hash containing the localized disclosure fields.

Parameters:

  • disclosure (Disclosure)

    The disclosure to serialize

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

    The locale to use for serialization

Returns:

  • (Hash)

    Hash containing the localized disclosure fields



24
25
26
27
28
29
30
31
# File 'lib/product_taxonomy/models/serializers/disclosure/data/localizations_serializer.rb', line 24

def serialize(disclosure, locale: "en")
  {
    "name" => disclosure.name(locale:),
    "description" => disclosure.description(locale:),
    "title" => disclosure.title(locale:),
    "content" => disclosure.content(locale:),
  }
end

.serialize_all(locale: "en") ⇒ Hash

Returns Hash containing localized disclosure data.

Parameters:

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

    The locale to use for serialization

Returns:

  • (Hash)

    Hash containing localized disclosure data



11
12
13
14
15
16
17
18
19
# File 'lib/product_taxonomy/models/serializers/disclosure/data/localizations_serializer.rb', line 11

def serialize_all(locale: "en")
  {
    locale => {
      "disclosures" => ProductTaxonomy::Disclosure.all.sort_by(&:public_id).each_with_object({}) do |disclosure, hash|
        hash[disclosure.public_id] = serialize(disclosure, locale:)
      end,
    },
  }
end