cul_hydra 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/collection.rb +1 -0
- data/app/models/concerns/pcdm/models/collections.rb +7 -0
- data/app/models/cul/hydra/datastreams/struct_metadata.rb +30 -0
- data/fixtures/spec/STRUCTMAP/structmap-nested2.xml +14 -0
- data/fixtures/spec/STRUCTMAP/structmap-nested3.xml +17 -0
- data/lib/cul_hydra/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b4df6344182d2a1a44c6d286351a7f3a4236a8e
|
4
|
+
data.tar.gz: a5d69d3023b352af7193f8b1c1cb9cd7d72bacd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64dd5669dd1b949e3a4d433f17f7bd3013ab1b148b0fd0e9fbc3bdaf1c31c7ea4b3f03ec5097971c8890038aea2b221991c160ac72a8bd695981cd5083c24f83
|
7
|
+
data.tar.gz: f20adce232a055aa7b688e21c552a08a7bde9670347348ae9b86edc9e2622edae4c6f99d12b7475c75efda5faeeb5325feb6b12fe1ded6f2e34fe2fb707dbe38
|
data/app/models/collection.rb
CHANGED
@@ -151,7 +151,37 @@ class StructMetadata < ::ActiveFedora::Datastream
|
|
151
151
|
end
|
152
152
|
end
|
153
153
|
|
154
|
+
def merge(*parts)
|
155
|
+
if bad_part = parts.detect {|p| !p.is_a? StructMetadata}
|
156
|
+
raise "Can only compose from other StructMetadata datastreams (#{bad_part.class})"
|
157
|
+
end
|
158
|
+
|
159
|
+
parts.each do |part|
|
160
|
+
part.struct_map.attributes.each do |att|
|
161
|
+
struct_map[att[0]] = att[1]
|
162
|
+
end
|
163
|
+
combine(part.struct_map,struct_map)
|
164
|
+
end
|
165
|
+
ng_xml_will_change!
|
166
|
+
self
|
167
|
+
end
|
168
|
+
|
154
169
|
private
|
170
|
+
def combine(src, target)
|
171
|
+
src.children.each do |child|
|
172
|
+
|
173
|
+
if child['CONTENTIDS'] and c = target.children.detect {|n| n['CONTENTIDS'].eql?child['CONTENTIDS']}
|
174
|
+
child.attributes.each do |att|
|
175
|
+
c[att[0]] = c[att[1]]
|
176
|
+
end
|
177
|
+
combine(child,c)
|
178
|
+
elsif c = target.children.detect {|n| n['LABEL'].eql?child['LABEL'] and !n['CONTENTIDS']}
|
179
|
+
combine(child,c)
|
180
|
+
else
|
181
|
+
target.add_child(child.dup.unlink)
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
155
185
|
def ancestors(node)
|
156
186
|
current = node
|
157
187
|
labels = []
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<mets:structMap TYPE="http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Filesystem" LABEL="Device" xmlns:mets="http://www.loc.gov/METS/">
|
2
|
+
<mets:div ORDER="1" LABEL="Leaf1">
|
3
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0701r" />
|
4
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0701v" />
|
5
|
+
</div>
|
6
|
+
<mets:div ORDER="2" LABEL="Leaf2">
|
7
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0704r" />
|
8
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0704v" />
|
9
|
+
</div>
|
10
|
+
<mets:div ORDER="2" LABEL="Leaf3">
|
11
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0705r" />
|
12
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0705v" />
|
13
|
+
</div>
|
14
|
+
</mets:structMap>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<mets:structMap TYPE="http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Filesystem" LABEL="Device" xmlns:mets="http://www.loc.gov/METS/">
|
2
|
+
<mets:div ORDER="1" LABEL="Leaf1">
|
3
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0701r" />
|
4
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0701v" />
|
5
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0702r" />
|
6
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0702v" />
|
7
|
+
</div>
|
8
|
+
<mets:div ORDER="2" LABEL="Leaf2">
|
9
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0703r" />
|
10
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0703v" />
|
11
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0704r" />
|
12
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0704v" />
|
13
|
+
</div>
|
14
|
+
<mets:div ORDER="2" LABEL="Leaf3">
|
15
|
+
<mets:div ORDER="1" LABEL="Recto" CONTENTIDS="rbml_css_0705r" />
|
16
|
+
<mets:div ORDER="2" LABEL="Verso" CONTENTIDS="rbml_css_0705v" />
|
17
|
+
</div>
|
data/lib/cul_hydra/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cul_hydra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Armintor
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-09-
|
12
|
+
date: 2015-09-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: blacklight
|
@@ -330,6 +330,7 @@ files:
|
|
330
330
|
- app/models/concerns/nie/information_element.rb
|
331
331
|
- app/models/concerns/ore/proxy.rb
|
332
332
|
- app/models/concerns/pcdm/models.rb
|
333
|
+
- app/models/concerns/pcdm/models/collections.rb
|
333
334
|
- app/models/concerns/rdf/cul.rb
|
334
335
|
- app/models/concerns/rdf/fcrepo3.rb
|
335
336
|
- app/models/concerns/rdf/nfo.rb
|
@@ -446,6 +447,8 @@ files:
|
|
446
447
|
- fixtures/spec/FOXML/static-image-aggregator.xml
|
447
448
|
- fixtures/spec/STRUCTMAP/structmap-examples.xml
|
448
449
|
- fixtures/spec/STRUCTMAP/structmap-nested.xml
|
450
|
+
- fixtures/spec/STRUCTMAP/structmap-nested2.xml
|
451
|
+
- fixtures/spec/STRUCTMAP/structmap-nested3.xml
|
449
452
|
- fixtures/spec/STRUCTMAP/structmap-recto.xml
|
450
453
|
- fixtures/spec/STRUCTMAP/structmap-seq.xml
|
451
454
|
- fixtures/spec/STRUCTMAP/structmap-unlabeled-seq.xml
|
@@ -513,7 +516,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
513
516
|
version: '0'
|
514
517
|
requirements: []
|
515
518
|
rubyforge_project:
|
516
|
-
rubygems_version: 2.
|
519
|
+
rubygems_version: 2.4.6
|
517
520
|
signing_key:
|
518
521
|
specification_version: 4
|
519
522
|
summary: ActiveFedora, OM, and Solrizer implementations for CUL repository apps
|