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