Class: Integrations::MyMiniFactory::ModelDeserializer
- Inherits:
-
BaseDeserializer
- Object
- BaseDeserializer
- BaseDeserializer
- Integrations::MyMiniFactory::ModelDeserializer
- Defined in:
- app/deserializers/integrations/my_mini_factory/model_deserializer.rb
Constant Summary
Constants inherited from BaseDeserializer
BaseDeserializer::USERNAME_PATTERN
Instance Attribute Summary collapse
-
#model_id ⇒ Object
readonly
Returns the value of attribute model_id.
Instance Method Summary collapse
Instance Attribute Details
#model_id ⇒ Object (readonly)
Returns the value of attribute model_id.
2 3 4 |
# File 'app/deserializers/integrations/my_mini_factory/model_deserializer.rb', line 2 def model_id @model_id end |
Instance Method Details
#capabilities ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/deserializers/integrations/my_mini_factory/model_deserializer.rb', line 18 def capabilities { class: Model, name: true, notes: true, images: true, model_files: false, creator: true, tags: true, sensitive: false, license: false } end |
#deserialize ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'app/deserializers/integrations/my_mini_factory/model_deserializer.rb', line 4 def deserialize return {} unless valid? # Fetch from MMF API r = fetch "objects/#{CGI.escapeURIComponent(@model_id)}" { name: r.body["name"], slug: @slug, notes: ReverseMarkdown.convert(r.body["description_html"]), tag_list: r.body["tags"], file_urls: r.body["images"]&.map { {url: it.dig("original", "url"), filename: filename_from_url(it.dig("original", "url"))} }, preview_filename: filename_from_url(r.body["images"]&.find { it["is_primary"] === true }&.dig("original", "url")) }.merge(creator_attributes(r.body["designer"])) end |