Class: Ortfodb::WorkMetadata
- Inherits:
-
Dry::Struct
- Object
- Dry::Struct
- Ortfodb::WorkMetadata
- Defined in:
- lib/ortfodb/database.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.from_dynamic!(d) ⇒ Object
355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 |
# File 'lib/ortfodb/database.rb', line 355 def self.from_dynamic!(d) d = Types::Hash[d] new( additional_metadata: Types::Hash[d.fetch("additionalMetadata")].map { |k, v| [k, Types::Any[v]] }.to_h, aliases: d.fetch("aliases"), colors: ColorPalette.from_dynamic!(d.fetch("colors")), database_metadata: DatabaseMeta.from_dynamic!(d.fetch("databaseMetadata")), finished: d.fetch("finished"), made_with: d.fetch("madeWith"), page_background: d.fetch("pageBackground"), private: d.fetch("private"), started: d.fetch("started"), tags: d.fetch("tags"), thumbnail: d.fetch("thumbnail"), title_style: d.fetch("titleStyle"), wip: d.fetch("wip"), ) end |
.from_json!(json) ⇒ Object
374 375 376 |
# File 'lib/ortfodb/database.rb', line 374 def self.from_json!(json) from_dynamic!(JSON.parse(json)) end |
Instance Method Details
#to_dynamic ⇒ Object
378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 |
# File 'lib/ortfodb/database.rb', line 378 def to_dynamic { "additionalMetadata" => , "aliases" => aliases, "colors" => colors.to_dynamic, "databaseMetadata" => .to_dynamic, "finished" => finished, "madeWith" => made_with, "pageBackground" => page_background, "private" => private, "started" => started, "tags" => , "thumbnail" => thumbnail, "titleStyle" => title_style, "wip" => wip, } end |
#to_json(options = nil) ⇒ Object
396 397 398 |
# File 'lib/ortfodb/database.rb', line 396 def to_json( = nil) JSON.generate(to_dynamic, ) end |