Class: DataPackage::ModelDeserializer

Inherits:
BaseDeserializer show all
Defined in:
app/deserializers/data_package/model_deserializer.rb

Instance Method Summary collapse

Methods inherited from BaseDeserializer

#initialize

Constructor Details

This class inherits a constructor from DataPackage::BaseDeserializer

Instance Method Details

#deserialize ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/deserializers/data_package/model_deserializer.rb', line 3

def deserialize
  {
    name: @object["title"],
    caption: @object["caption"],
    notes: @object["description"],
    links_attributes: parse_links,
    preview_file: @object["image"],
    tag_list: @object["keywords"],
    sensitive: @object["sensitive"],
    license: @object.dig("licenses", 0, "name"),
    model_files: @object["resources"]&.map { ModelFileDeserializer.new(it).deserialize },
    creator: CreatorDeserializer.new(@object["contributors"]&.find { it["roles"].include?("creator") }).deserialize,
    collections: (@object["collections"] || []).map { CollectionDeserializer.new(it).deserialize },
    entrypoint: @object.dig("entrypoint", "path"),
    entrypoint_fragment: @object.dig("entrypoint", "fragment")
  }.compact
end