Module: ProductTaxonomy::Serializers::Disclosure::Data::DataSerializer
- Defined in:
- lib/product_taxonomy/models/serializers/disclosure/data/data_serializer.rb
Constant Summary collapse
- OPTIONAL_KEYS =
Keys that only appear on some leaf entries in the hand-authored data file. They are omitted (rather than serialized as nil) so
dump_disclosuresoutput matches the authored file shape. ["jurisdictions", "display_preferences"].freeze
Class Method Summary collapse
-
.serialize(disclosure) ⇒ Hash
Hash containing the disclosure data.
-
.serialize_all ⇒ Array<Hash>
Array of serialized disclosure data.
Class Method Details
.serialize(disclosure) ⇒ Hash
Returns Hash containing the disclosure data.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/product_taxonomy/models/serializers/disclosure/data/data_serializer.rb', line 21 def serialize(disclosure) data = { "id" => disclosure.id, "public_id" => disclosure.public_id, "parent_public_id" => disclosure.parent_public_id, "name" => disclosure.name, "internal_label" => disclosure.internal_label, "description" => disclosure.description, "jurisdictions" => disclosure.jurisdictions, "legal_citation" => disclosure.legal_citation, "symbol" => disclosure.symbol, "display_requirements" => disclosure.display_requirements, "display_preferences" => disclosure.display_preferences, "title" => disclosure.title, "content" => disclosure.content, "source" => disclosure.source, "disclosure_attributes" => disclosure.disclosure_attributes, "disclosure_attribute_values" => disclosure.disclosure_attribute_values, } OPTIONAL_KEYS.each { data.delete(_1) if data[_1].nil? } data end |
.serialize_all ⇒ Array<Hash>
Returns Array of serialized disclosure data.
10 11 12 |
# File 'lib/product_taxonomy/models/serializers/disclosure/data/data_serializer.rb', line 10 def serialize_all ProductTaxonomy::Disclosure.all.sort_by(&:id).map { serialize(_1) } end |