cul_hydra 1.2.1 → 1.3.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 +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
|