module Lutaml::Model::Serialize::ClassMethods
def generate_hash_from_child_mappings(value, child_mappings)
def generate_hash_from_child_mappings(value, child_mappings) return value unless child_mappings hash = {} value.each do |child_obj| map_key = nil map_value = {} child_mappings.each do |attr_name, path| if path == :key map_key = child_obj.send(attr_name) elsif path == :value map_value = child_obj.send(attr_name) else path = [path] unless path.is_a?(Array) path[0...-1].inject(map_value) do |acc, k| acc[k.to_s] ||= {} end.public_send(:[]=, path.last.to_s, child_obj.send(attr_name)) end end hash[map_key] = map_value end hash end