fedora_lens 0.0.10 → 0.0.11

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: f8a0a4bf460274072101c5095f365d6c6a409d7b
4
- data.tar.gz: 6e0cbfde2267b95dd38fec8621871fd6a9625451
3
+ metadata.gz: 4aed41f4f03e56d39025a4c4afc83c2f104fbe13
4
+ data.tar.gz: 67a75716a078d141c39762c027683aa815bd85bf
5
5
  SHA512:
6
- metadata.gz: ef00a7de221518a88b701bacc8fc0a9b32f63ae2b5dc5063c9bb83e51a82ecd80bcbd4bee65879355147b5f8374e456fd2587118ad1353391d9b5b4a367f0990
7
- data.tar.gz: d8775ef12c0e7223111a6d6f5c1b08072eed19ca9883f9b2a119c48686fa6b2d358cd5491a93c7d8f5986f8e6c869aa5381a74cda220aba5dc70002166fed0ad
6
+ metadata.gz: 5b625651f21a93d934616e81deb447c1a3946fa146512a6d2ff15b737a95cab4fa1dfe0c7e4ad692a11dcb365d5dd5250432a5c72e98573a161df36671a31003
7
+ data.tar.gz: d70beed3541744109be8e91cc1aec93e40ebfc9e20b70a3df828f8476cb97b510ea96914ea62339abc75353135032a6e589daa6d4cf68ce700dcbea828fbc59f
@@ -134,6 +134,7 @@ module FedoraLens
134
134
  put: lambda do |orm, values|
135
135
  empty_property(orm.graph, orm.resource.subject_uri, predicate, opts[:select])
136
136
  Array(values).each do |value|
137
+ next if value.nil?
137
138
  orm.graph.insert([orm.resource.subject_uri, predicate, value])
138
139
  end
139
140
  orm
@@ -1,3 +1,3 @@
1
1
  module FedoraLens
2
- VERSION = '0.0.10'
2
+ VERSION = '0.0.11'
3
3
  end
@@ -156,15 +156,23 @@ module FedoraLens
156
156
  Lenses.get_predicate(RDF::DC11.description).get(orm).should eq []
157
157
  end
158
158
 
159
+ it "sets the value of an Ldp::Orm for the specified predicate" do
160
+ subject.put(orm, [RDF::Literal.new("new")]).value(RDF::DC11.title).first.should eq RDF::Literal.new("new")
161
+ end
162
+
163
+ context "when setting nil values (illegal in RDF)" do
164
+ it "skips them" do
165
+ expect(subject.put(orm, [nil]).value(RDF::DC11.title)).to be_empty
166
+ expect(orm.graph.dump(:ttl)).to eq ''
167
+ end
168
+ end
169
+
170
+
159
171
  it "is well-behaved (PutGet: get(put(source, value)) == value)" do
160
172
  converted = subject.get(subject.put(orm, value))
161
173
  expect(converted).to eq value
162
174
  end
163
175
 
164
- it "sets the value of an Ldp::Orm for the specified predicate" do
165
- subject.put(orm, [RDF::Literal.new("new")]).value(RDF::DC11.title).first.should eq RDF::Literal.new("new")
166
- end
167
-
168
176
  it "is well-behaved (GetPut: put(source, get(source)) == source)" do
169
177
  converted = subject.put(orm, subject.get(orm))
170
178
  expect(converted).to eq orm
@@ -217,6 +217,27 @@ describe FedoraLens do
217
217
  it "mixes rdf and xml" do
218
218
  end
219
219
 
220
+ context "with a nil attribute" do
221
+ before do
222
+ class TestClass2
223
+ include FedoraLens
224
+
225
+ attribute :subject, [RDF::DC11.subject, Lenses.single]
226
+ end
227
+ end
228
+ after do
229
+ Object.send(:remove_const, :TestClass2)
230
+ end
231
+
232
+ subject { TestClass2.new }
233
+
234
+ it "should not push nil attributes to orm" do
235
+ subject.send(:push_attributes_to_orm)
236
+ expect(subject.orm.graph.dump(:ttl)).to eq('')
237
+ end
238
+
239
+ end
240
+
220
241
  context "that are inherited" do
221
242
  before do
222
243
  class TestClass2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fedora_lens
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-22 00:00:00.000000000 Z
12
+ date: 2014-07-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  version: '0'
181
181
  requirements: []
182
182
  rubyforge_project:
183
- rubygems_version: 2.2.2
183
+ rubygems_version: 2.4.1
184
184
  signing_key:
185
185
  specification_version: 4
186
186
  summary: A client for Fedora Commons Repository (fcrepo) version 4