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.
@@ -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.arch_coll(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Archival Collection" })
100
- t.arch_ser(:path=>"pbcoreRelationIdentifier", :attributes=>{ :annotation=>"Archival Series" })
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=>[:pbcoreRelation, :event_series], :index_as => [:searchable, :displayable, :facetable])
106
- t.collection(:ref=>[:pbcoreRelation, :arch_coll], :index_as => [:searchable, :displayable, :facetable])
107
- t.additional_collection(:ref=>[:pbcoreRelation, :addl_coll], :index_as => [:searchable, :displayable, :facetable])
108
- t.archival_series(:ref=>[:pbcoreRelation, :arch_ser], :index_as => [:searchable, :displayable])
109
- t.collection_number(:ref=>[:pbcoreRelation, :coll_num], :index_as => [:searchable, :displayable])
110
- t.accession_number(:ref=>[:pbcoreRelation, :acc_num], :index_as => [:searchable, :displayable])
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
@@ -1,3 +1,3 @@
1
1
  module HydraPbcore
2
- VERSION = "3.2.0"
2
+ VERSION = "3.3.0"
3
3
  end
@@ -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(:pbcoreRelation).should be_empty
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.2.0
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-09 00:00:00.000000000 Z
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