lib/valkyrie/persistence/fedora/persister/model_converter.rb in valkyrie-1.2.1 vs lib/valkyrie/persistence/fedora/persister/model_converter.rb in valkyrie-1.2.2
- old
+ new
@@ -236,15 +236,23 @@
Array(value.value).each_with_index do |val, index|
property = NestedProperty.new(value: val, scope: value)
obj = calling_mapper.for(property.property).result
# Append value directly if possible.
if obj.respond_to?(:value)
- ordered_list.insert_proxy_for_at(index, obj.value)
+ ordered_list.insert_proxy_for_at(index, proxy_for_value(obj.value))
# If value is a nested object, take its graph and append it.
elsif obj.respond_to?(:graph)
append_to_graph(obj: obj, index: index, property: property.property)
end
graph << ordered_list.to_graph
+ end
+ end
+
+ def proxy_for_value(value)
+ if value.is_a?(RDF::Literal) && value.datatype == PermissiveSchema.valkyrie_id
+ ordered_list.adapter.id_to_uri(value)
+ else
+ value
end
end
class NestedProperty
attr_reader :value, :scope