hydra-pbcore 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/hydra_pbcore/datastream/document.rb +19 -9
- data/lib/hydra_pbcore/version.rb +1 -1
- data/spec/document_spec.rb +61 -1
- data/spec/fixtures/document_solr.xml +9 -6
- data/spec/methods_spec.rb +1 -1
- metadata +8 -2
@@ -94,20 +94,30 @@ class Document < ActiveFedora::OmDatastream
|
|
94
94
|
)
|
95
95
|
|
96
96
|
# PBCore relation fields
|
97
|
-
t.pbcoreRelation do
|
97
|
+
t.relation(:path => "pbcoreRelation") do
|
98
98
|
t.event_series(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Event Series" })
|
99
|
-
t.
|
100
|
-
|
99
|
+
t.collection(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Archival Collection" }) do
|
100
|
+
t.uri(:path => {:attribute => "ref"})
|
101
|
+
t.authority(:path => {:attribute => "source"})
|
102
|
+
end
|
103
|
+
t.series(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Archival Series" }) do
|
104
|
+
t.uri(:path => {:attribute => "ref"})
|
105
|
+
t.authority(:path => {:attribute => "source"})
|
106
|
+
end
|
101
107
|
t.coll_num(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Collection Number" })
|
102
108
|
t.acc_num(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Accession Number" })
|
103
109
|
t.addl_coll(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Additional Collection" })
|
104
110
|
end
|
105
|
-
t.series(:ref=>[:
|
106
|
-
t.collection(:ref=>[:
|
107
|
-
t.
|
108
|
-
t.
|
109
|
-
t.
|
110
|
-
t.
|
111
|
+
t.series(:ref=>[:relation, :event_series], :index_as => [:searchable, :displayable, :facetable])
|
112
|
+
t.collection(:ref=>[:relation, :collection], :index_as => [:searchable, :displayable, :facetable])
|
113
|
+
t.collection_uri(:proxy=>[:relation, :collection, :uri], :index_as => [:displayable])
|
114
|
+
t.collection_authority(:proxy=>[:relation, :collection, :authority], :index_as => [:displayable])
|
115
|
+
t.archival_series(:ref=>[:relation, :series], :index_as => [:searchable, :displayable, :facetable])
|
116
|
+
t.archival_series_uri(:proxy=>[:relation, :series, :uri], :index_as => [:displayable])
|
117
|
+
t.archival_series_authority(:proxy=>[:relation, :series, :authority], :index_as => [:displayable])
|
118
|
+
t.additional_collection(:ref=>[:relation, :addl_coll], :index_as => [:searchable, :displayable, :facetable])
|
119
|
+
t.collection_number(:ref=>[:relation, :coll_num], :index_as => [:searchable, :displayable])
|
120
|
+
t.accession_number(:ref=>[:relation, :acc_num], :index_as => [:searchable, :displayable])
|
111
121
|
|
112
122
|
t.pbcoreCoverage
|
113
123
|
# Terms for time and place
|
data/lib/hydra_pbcore/version.rb
CHANGED
data/spec/document_spec.rb
CHANGED
@@ -263,6 +263,66 @@ describe HydraPbcore::Datastream::Document do
|
|
263
263
|
|
264
264
|
end
|
265
265
|
|
266
|
-
end
|
266
|
+
end
|
267
|
+
|
268
|
+
describe "#collection_uri" do
|
269
|
+
it "should return the uri of the collection" do
|
270
|
+
@object_ds.is_part_of("Collection", {:annotation => "Archival Collection", :ref => "http://foo"})
|
271
|
+
@object_ds.collection.should == ["Collection"]
|
272
|
+
@object_ds.collection_uri.should == ["http://foo"]
|
273
|
+
end
|
274
|
+
it "should update the uri of a collection" do
|
275
|
+
@object_ds.is_part_of("Collection", {:annotation => "Archival Collection"})
|
276
|
+
@object_ds.collection_uri.should be_empty
|
277
|
+
@object_ds.relation.collection.uri = "http://foo"
|
278
|
+
@object_ds.collection_uri.should == ["http://foo"]
|
279
|
+
@object_ds.valid?.should be_true
|
280
|
+
end
|
281
|
+
end
|
282
|
+
|
283
|
+
describe "#collection_authority" do
|
284
|
+
it "should return the authority of the collection" do
|
285
|
+
@object_ds.is_part_of("Collection", {:annotation => "Archival Collection", :source => "Foo"})
|
286
|
+
@object_ds.collection.should == ["Collection"]
|
287
|
+
@object_ds.collection_authority.should == ["Foo"]
|
288
|
+
end
|
289
|
+
it "should update the authority of a collection" do
|
290
|
+
@object_ds.is_part_of("Collection", {:annotation => "Archival Collection"})
|
291
|
+
@object_ds.collection_authority.should be_empty
|
292
|
+
@object_ds.relation.collection.authority = "Foo!"
|
293
|
+
@object_ds.collection_authority.should == ["Foo!"]
|
294
|
+
@object_ds.valid?.should be_true
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
describe "#archival_series_uri" do
|
299
|
+
it "should return the uri of the archival_series" do
|
300
|
+
@object_ds.is_part_of("Series", {:annotation => "Archival Series", :ref => "http://foo"})
|
301
|
+
@object_ds.archival_series.should == ["Series"]
|
302
|
+
@object_ds.archival_series_uri.should == ["http://foo"]
|
303
|
+
end
|
304
|
+
it "should update the uri of a archival_series" do
|
305
|
+
@object_ds.is_part_of("Series", {:annotation => "Archival Series"})
|
306
|
+
@object_ds.archival_series_uri.should be_empty
|
307
|
+
@object_ds.relation.series.uri = "http://foo"
|
308
|
+
@object_ds.archival_series_uri.should == ["http://foo"]
|
309
|
+
@object_ds.valid?.should be_true
|
310
|
+
end
|
311
|
+
end
|
312
|
+
|
313
|
+
describe "#archival_series_authority" do
|
314
|
+
it "should return the authority of the archival_series" do
|
315
|
+
@object_ds.is_part_of("Series", {:annotation => "Archival Series", :source => "Foo"})
|
316
|
+
@object_ds.archival_series.should == ["Series"]
|
317
|
+
@object_ds.archival_series_authority.should == ["Foo"]
|
318
|
+
end
|
319
|
+
it "should update the authority of a archival_series" do
|
320
|
+
@object_ds.is_part_of("Series", {:annotation => "Archival Series"})
|
321
|
+
@object_ds.archival_series_authority.should be_empty
|
322
|
+
@object_ds.relation.series.authority = "Foo!"
|
323
|
+
@object_ds.archival_series_authority.should == ["Foo!"]
|
324
|
+
@object_ds.valid?.should be_true
|
325
|
+
end
|
326
|
+
end
|
267
327
|
|
268
328
|
end
|
@@ -400,6 +400,15 @@
|
|
400
400
|
<collection-sim type="array">
|
401
401
|
<collection-sim>inserted</collection-sim>
|
402
402
|
</collection-sim>
|
403
|
+
<archival-series-teim type="array">
|
404
|
+
<archival-series-teim>inserted</archival-series-teim>
|
405
|
+
</archival-series-teim>
|
406
|
+
<archival-series-ssm type="array">
|
407
|
+
<archival-series-ssm>inserted</archival-series-ssm>
|
408
|
+
</archival-series-ssm>
|
409
|
+
<archival-series-sim type="array">
|
410
|
+
<archival-series-sim>inserted</archival-series-sim>
|
411
|
+
</archival-series-sim>
|
403
412
|
<additional-collection-teim type="array">
|
404
413
|
<additional-collection-teim>inserted</additional-collection-teim>
|
405
414
|
</additional-collection-teim>
|
@@ -409,12 +418,6 @@
|
|
409
418
|
<additional-collection-sim type="array">
|
410
419
|
<additional-collection-sim>inserted</additional-collection-sim>
|
411
420
|
</additional-collection-sim>
|
412
|
-
<archival-series-teim type="array">
|
413
|
-
<archival-series-teim>inserted</archival-series-teim>
|
414
|
-
</archival-series-teim>
|
415
|
-
<archival-series-ssm type="array">
|
416
|
-
<archival-series-ssm>inserted</archival-series-ssm>
|
417
|
-
</archival-series-ssm>
|
418
421
|
<collection-number-teim type="array">
|
419
422
|
<collection-number-teim>inserted</collection-number-teim>
|
420
423
|
</collection-number-teim>
|
data/spec/methods_spec.rb
CHANGED
@@ -19,7 +19,7 @@ describe HydraPbcore::Methods do
|
|
19
19
|
@object.is_part_of("foo", {:annotation => "Archival Collection"})
|
20
20
|
@object.collection.first.should == "foo"
|
21
21
|
@object.remove_node :collection, 0, {:include_parent? => TRUE}
|
22
|
-
@object.find_by_terms(:
|
22
|
+
@object.find_by_terms(:relation).should be_empty
|
23
23
|
end
|
24
24
|
|
25
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hydra-pbcore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
12
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: active-fedora
|
@@ -223,12 +223,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
223
223
|
- - ! '>='
|
224
224
|
- !ruby/object:Gem::Version
|
225
225
|
version: '0'
|
226
|
+
segments:
|
227
|
+
- 0
|
228
|
+
hash: -719992496300359709
|
226
229
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
227
230
|
none: false
|
228
231
|
requirements:
|
229
232
|
- - ! '>='
|
230
233
|
- !ruby/object:Gem::Version
|
231
234
|
version: '0'
|
235
|
+
segments:
|
236
|
+
- 0
|
237
|
+
hash: -719992496300359709
|
232
238
|
requirements: []
|
233
239
|
rubyforge_project:
|
234
240
|
rubygems_version: 1.8.23
|