rdf-ldp 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 663f6cdf86d6e9ead88bd25c120ca190bb6e5b6a
4
- data.tar.gz: 3dee66e41f42baff2923e2ba8977b54673d31220
3
+ metadata.gz: 8d9f70eb41e34c21160f4860321943523ae5ac3a
4
+ data.tar.gz: d5227a618e1c9397efb37c5dbe6a9330ec8dbea0
5
5
  SHA512:
6
- metadata.gz: ba4698c28103ce63f83eeb8992116e5258529cd04eac8fa5e5dfae223cb1843e4e465645023b28ba6ed37ccad386c2aa55ec9de984d6b1879c484bf2db44dcbe
7
- data.tar.gz: 6a4c62830de24ffc8428373db0ba5d3badbb9fbce6f66c6e1d45a9de827f9bc5259c54df44cc1ebac61acd49a460c9c2e5e14cb00282dfabf0c8533caa9f1a92
6
+ metadata.gz: 8071e2dbcaeb2094d86f1064c6d87c7d3e50823e222d6d6316f7ddde0f9f3f517642751844caf8c175b67d1b45beccc189f277e6c876089590795ba3a0350f15
7
+ data.tar.gz: 3e3a7d686765be59f1990704ea1e4a37ffdadc1e36097ddcbc9a52a60779947a9ef61c3df1998625f54706cfd1632fa6c5b0955cfb470c0fdcc2c4c79178fe10
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ 0.9.0
2
+ -----
3
+ - Change membership resource handling to accept memberhip resources
4
+ from outside the server;
5
+ - Fixes a typo in `describedby` header keys.
6
+
1
7
  0.8.0
2
8
  -----
3
9
  - Deletes on NonRDFSources now leave the file on disk if deleting the
data/IMPLEMENTATION.md CHANGED
@@ -225,7 +225,8 @@ ignore `ldp:insertedContentRelation` on DirectContainers.
225
225
  - __5.4.2.1__: Triples are created as described when POSTing to a container. We
226
226
  allow clients to delete and replace triples at their own risk, per the MAY in
227
227
  this section.
228
- - Membership triples are added to the Membership Resource's graph.
228
+ - Membership triples are added to the containers graph for both the
229
+ `ldp:hasMemberRelation` and `isMemberOfRelation` cases.
229
230
  - If the Membership Resource is an LDP-NR, membership triples are added to
230
231
  the server-created LDP-RS (`describedby`, resource).
231
232
  - POST requests are rejected if the Membership Resource does not exist.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.9.0
@@ -119,7 +119,7 @@ module RDF::LDP
119
119
  def add_containment_triple(resource, transaction = nil)
120
120
  target = transaction || graph
121
121
  target.insert make_containment_triple(resource)
122
- set_last_modified(transaction)
122
+ set_last_modified(transaction) # #set_last_modified handles nil case
123
123
  self
124
124
  end
125
125
 
@@ -135,7 +135,7 @@ module RDF::LDP
135
135
  def remove_containment_triple(resource, transaction = nil)
136
136
  target = transaction || graph
137
137
  target.delete(make_containment_triple(resource))
138
- set_last_modified(transaction)
138
+ set_last_modified(transaction) # #set_last_modified handles nil case
139
139
  self
140
140
  end
141
141
 
@@ -65,10 +65,9 @@ module RDF::LDP
65
65
  #
66
66
  # @see RDF::LDP::Container#add
67
67
  def add(resource, transaction = nil)
68
- target = transaction || graph
69
- process_membership_resource(resource) do |membership, quad, subject|
70
- super(subject, transaction)
71
- target = transaction || membership.graph
68
+ process_membership_resource(resource, transaction) do |container, quad, subject|
69
+ super(subject, transaction) # super handles nil transaction case
70
+ target = transaction || container.graph
72
71
  target.insert(quad)
73
72
  end
74
73
  self
@@ -80,9 +79,9 @@ module RDF::LDP
80
79
  #
81
80
  # @see RDF::LDP::Container#remove
82
81
  def remove(resource, transaction = nil)
83
- process_membership_resource(resource) do |membership, quad, subject|
84
- super(subject, transaction)
85
- target = transaction || membership.graph
82
+ process_membership_resource(resource, transaction) do |container, quad, subject|
83
+ super(subject, transaction) # super handles nil transaction case
84
+ target = transaction || container.graph
86
85
  target.delete(quad)
87
86
  end
88
87
  self
@@ -157,16 +156,11 @@ module RDF::LDP
157
156
  resource
158
157
  end
159
158
 
160
- def process_membership_resource(resource)
161
- statement = make_membership_triple(resource.to_uri)
159
+ def process_membership_resource(resource, transaction = nil, member = nil)
160
+ membership_triple = make_membership_triple((member || resource).to_uri)
162
161
 
163
- membership_rs = membership_resource
164
-
165
- statement.graph_name = membership_rs.subject_uri
166
- yield(membership_rs, statement, resource) if block_given?
167
- rescue NotFound
168
- raise(NotAcceptable, 'Membership resource ' \
169
- "#{membership_constant_uri} does not exist")
162
+ membership_triple.graph_name = subject_uri
163
+ yield(self, membership_triple, resource) if block_given?
170
164
  end
171
165
 
172
166
  def default_membership_resource_statement
@@ -78,12 +78,12 @@ module RDF::LDP
78
78
  .statements
79
79
  end
80
80
 
81
- def process_membership_resource(resource)
82
- resource = member_derived_uri(resource)
83
- super
81
+ def process_membership_resource(resource, transaction = nil)
82
+ member = member_derived_uri(resource, transaction)
83
+ super(resource, transaction, member)
84
84
  end
85
85
 
86
- def member_derived_uri(resource)
86
+ def member_derived_uri(resource, transaction = nil)
87
87
  predicate = inserted_content_relation
88
88
  return resource.to_uri if predicate == MEMBER_SUBJECT_URI
89
89
 
@@ -91,7 +91,8 @@ module RDF::LDP
91
91
  'it to an IndirectContainer with a content ' \
92
92
  'relation.') if resource.non_rdf_source?
93
93
 
94
- statements = resource.graph.query([resource.subject_uri, predicate, :o])
94
+ target = transaction || resource.graph
95
+ statements = target.query([resource.subject_uri, predicate, :o])
95
96
  return statements.first.object if statements.count == 1
96
97
 
97
98
  raise(NotAcceptable, "#{statements.count} inserted content" \
@@ -161,7 +161,7 @@ module RDF::LDP
161
161
  end
162
162
 
163
163
  def link_headers
164
- super << "<#{description_uri}>;rel=\"describedBy\""
164
+ super << "<#{description_uri}>;rel=\"describedby\""
165
165
  end
166
166
  end
167
167
  end
@@ -563,6 +563,10 @@ module RDF::LDP
563
563
 
564
564
  ##
565
565
  # Sets the last modified date/time to now
566
+ #
567
+ # @param transaction [RDF::Transaction] the transaction scope in which to
568
+ # apply changes. If none (or `nil`) is given, the change is made outside
569
+ # any transaction scope.
566
570
  def set_last_modified(transaction = nil)
567
571
  if transaction
568
572
  # transactions do not support updates or pattern deletes, so we must
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-ldp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Johnson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-15 00:00:00.000000000 Z
11
+ date: 2016-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack