class Lutaml::Model::KeyValueTransform

def process_mapping_for_instance(instance, hash, format, rule, options)

def process_mapping_for_instance(instance, hash, format, rule, options)
  if rule.custom_methods[:to]
    return instance.send(rule.custom_methods[:to], instance, hash)
  end
  attribute = attributes[rule.to]
  value = rule.serialize(instance)
  return handle_raw_mapping(hash, value, format, options) if rule.raw_mapping?
  return handle_root_mappings(hash, value, format, rule, attribute) if rule.root_mapping?
  value = ExportTransformer.call(value, rule, attribute)
  value = serialize_value(value, rule, attribute, format, options)
  return unless rule.render?(value, instance)
  value = apply_value_map(value, rule.value_map(:to, options), attribute)
  hash[rule_from_name(rule)] = value
end