Class: Lutaml::Model::KeyValueTransform
- Defined in:
- lib/lutaml/model/transform/key_value_transform.rb
Direct Known Subclasses
HashAdapter::Transform, Json::Transform, Toml::Transform, Yaml::Transform
Instance Attribute Summary
Attributes inherited from Transform
Instance Method Summary collapse
- #data_to_model(data, format, options = {}) ⇒ Object
- #model_to_data(instance, format, options = {}) ⇒ Object
Methods inherited from Transform
data_to_model, #initialize, #model_class, model_to_data
Constructor Details
This class inherits a constructor from Lutaml::Model::Transform
Instance Method Details
#data_to_model(data, format, options = {}) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/lutaml/model/transform/key_value_transform.rb', line 4 def data_to_model(data, format, = {}) instance = model_class.new mappings = extract_mappings(, format) mappings.each do |rule| process_mapping_rule(data, instance, format, rule, ) end instance end |
#model_to_data(instance, format, options = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/lutaml/model/transform/key_value_transform.rb', line 15 def model_to_data(instance, format, = {}) mappings = mappings_for(format).mappings mappings.each_with_object({}) do |rule, hash| next unless valid_mapping?(rule, ) next handle_delegate(instance, rule, hash, format) if rule.delegate process_mapping_for_instance(instance, hash, format, rule, ) end end |