Class: Opencdd::Model::YamlDatabase
- Inherits:
-
Lutaml::Model::Serializable
- Object
- Lutaml::Model::Serializable
- Opencdd::Model::YamlDatabase
- Defined in:
- lib/opencdd/model/yaml_database.rb
Overview
CDD-native YAML database. Wraps a collection of YamlEntity objects with dictionary-level metadata (source language, translation languages). Serializes to YAML via lutaml-model — no hand-rolled serialization on the model class itself.
YAML shape:
---
source_language: en
translation_languages:
- fr
- ja
entities:
- irdi: 0112/2///61360_4#AAA001
type: class
code: AAA001
preferred_name:
en: Vehicle
...
Class Method Summary collapse
-
.from_database(database) ⇒ Object
── Conversion: Database → YamlDatabase ─────────────────.
Instance Method Summary collapse
-
#to_database(database = nil) ⇒ Object
── Conversion: YamlDatabase → Database ─────────────────.
Class Method Details
.from_database(database) ⇒ Object
── Conversion: Database → YamlDatabase ─────────────────
32 33 34 35 36 37 38 |
# File 'lib/opencdd/model/yaml_database.rb', line 32 def self.from_database(database) new( source_language: "en", translation_languages: [], entities: database.entities.map { |e| YamlEntity.from_entity(e) }, ) end |
Instance Method Details
#to_database(database = nil) ⇒ Object
── Conversion: YamlDatabase → Database ─────────────────
41 42 43 44 45 46 |
# File 'lib/opencdd/model/yaml_database.rb', line 41 def to_database(database = nil) database ||= Opencdd::Database.new entities.each { |ye| database.add_entity(ye.to_entity(database)) } database.finalize! database end |