rdf-ldp 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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