lib/rdf/ldp/indirect_container.rb in rdf-ldp-0.8.0 vs lib/rdf/ldp/indirect_container.rb in rdf-ldp-0.9.0
- old
+ new
@@ -76,23 +76,24 @@
def inserted_content_statements
graph.query([subject_uri, INSERTED_CONTENT_REL_URI, nil])
.statements
end
- def process_membership_resource(resource)
- resource = member_derived_uri(resource)
- super
+ def process_membership_resource(resource, transaction = nil)
+ member = member_derived_uri(resource, transaction)
+ super(resource, transaction, member)
end
- def member_derived_uri(resource)
+ def member_derived_uri(resource, transaction = nil)
predicate = inserted_content_relation
return resource.to_uri if predicate == MEMBER_SUBJECT_URI
raise(NotAcceptable, "#{resource.to_uri} is an LDP-NR; cannot add " \
'it to an IndirectContainer with a content ' \
'relation.') if resource.non_rdf_source?
- statements = resource.graph.query([resource.subject_uri, predicate, :o])
+ target = transaction || resource.graph
+ statements = target.query([resource.subject_uri, predicate, :o])
return statements.first.object if statements.count == 1
raise(NotAcceptable, "#{statements.count} inserted content" \
"#{predicate} found on #{resource.to_uri}")
end