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