adiwg-mdtranslator 2.5.0 → 2.6.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/CHANGELOG.md +12 -1
- data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +5 -3
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dateTime.rb +6 -6
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_geologicAge.rb +66 -0
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_identification.rb +4 -6
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_timeInstant.rb +23 -6
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_timePeriod.rb +87 -24
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +135 -126
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geologicAge.rb +84 -0
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInstant.rb +80 -68
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timePeriod.rb +118 -95
- data/lib/adiwg/mdtranslator/version.rb +3 -1
- data/lib/adiwg/mdtranslator/writers/html/sections/html_dataDictionary.rb +9 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_domain.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb +6 -6
- data/lib/adiwg/mdtranslator/writers/html/sections/html_geologicAge.rb +71 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalExtent.rb +20 -21
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInstant.rb +8 -0
- data/lib/adiwg/mdtranslator/writers/html/sections/html_timePeriod.rb +23 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +5 -3
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geologicAge.rb +34 -0
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInstant.rb +4 -1
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timePeriod.rb +6 -2
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_id.rb +0 -2
- data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_sbJson.rb +23 -2
- metadata +6 -2
@@ -1,6 +1,8 @@
|
|
1
1
|
# adiwg mdTranslator
|
2
2
|
|
3
3
|
# version 2 history
|
4
|
+
# 2.6.0 2017-11-09 added data dictionary description
|
5
|
+
# 2.6.0 2017-11-09 added readers and writers for geologic age
|
4
6
|
# 2.5.0 2017-11-03 bug fix, add test to verify mdJson reader version is compatible with schema version
|
5
7
|
# 2.5.0 2017-11-03 added support for additional fgdc and bio data dictionary element
|
6
8
|
# 2.4.1 2017-11-02 refactored mdJson writer for added entity, attribute, and domain elements
|
@@ -44,7 +46,7 @@
|
|
44
46
|
module ADIWG
|
45
47
|
module Mdtranslator
|
46
48
|
# current mdtranslator version
|
47
|
-
VERSION = "2.
|
49
|
+
VERSION = "2.6.0"
|
48
50
|
end
|
49
51
|
end
|
50
52
|
|
@@ -2,6 +2,7 @@
|
|
2
2
|
# data dictionary
|
3
3
|
|
4
4
|
# History:
|
5
|
+
# Stan Smith 2017-11-09 add data dictionary description
|
5
6
|
# Stan Smith 2017-04-05 refactored for mdTranslator 2.0
|
6
7
|
# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
|
7
8
|
# Stan Smith 2015-03-26 original script
|
@@ -32,6 +33,14 @@ module ADIWG
|
|
32
33
|
domainClass = Html_Domain.new(@html)
|
33
34
|
entityClass = Html_Entity.new(@html)
|
34
35
|
|
36
|
+
# dictionary - description
|
37
|
+
unless hDictionary[:description].nil?
|
38
|
+
@html.em('Dictionary Description:')
|
39
|
+
@html.section(:class => 'block') do
|
40
|
+
@html.text!(hDictionary[:description])
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
35
44
|
# dictionary - subjects []
|
36
45
|
hDictionary[:subjects].each do |subject|
|
37
46
|
@html.em('Subject: ')
|
@@ -23,11 +23,11 @@ module ADIWG
|
|
23
23
|
|
24
24
|
def writeHtml(aDomains)
|
25
25
|
|
26
|
-
|
26
|
+
# classes used
|
27
|
+
itemClass = Html_DomainItem.new(@html)
|
28
|
+
citationClass = Html_Citation.new(@html)
|
27
29
|
|
28
|
-
|
29
|
-
itemClass = Html_DomainItem.new(@html)
|
30
|
-
citationClass = Html_Citation.new(@html)
|
30
|
+
aDomains.each do |hDomain|
|
31
31
|
|
32
32
|
dName = 'domain'
|
33
33
|
dName = hDomain[:domainCode] unless hDomain[:domainCode].nil?
|
@@ -25,13 +25,13 @@ module ADIWG
|
|
25
25
|
|
26
26
|
def writeHtml(aEntities)
|
27
27
|
|
28
|
-
|
28
|
+
# classes used
|
29
|
+
indexClass = Html_EntityIndex.new(@html)
|
30
|
+
attributeClass = Html_EntityAttribute.new(@html)
|
31
|
+
foreignClass = Html_EntityForeignKey.new(@html)
|
32
|
+
citationClass = Html_Citation.new(@html)
|
29
33
|
|
30
|
-
|
31
|
-
indexClass = Html_EntityIndex.new(@html)
|
32
|
-
attributeClass = Html_EntityAttribute.new(@html)
|
33
|
-
foreignClass = Html_EntityForeignKey.new(@html)
|
34
|
-
citationClass = Html_Citation.new(@html)
|
34
|
+
aEntities.each do |hEntity|
|
35
35
|
|
36
36
|
eName = 'entity'
|
37
37
|
eName = hEntity[:entityCode] unless hEntity[:entityCode].nil?
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# HTML writer
|
2
|
+
# geologic age
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2017-11-09 original script
|
6
|
+
|
7
|
+
require_relative 'html_citation'
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Writers
|
12
|
+
module Html
|
13
|
+
|
14
|
+
class Html_GeologicAge
|
15
|
+
|
16
|
+
def initialize(html)
|
17
|
+
@html = html
|
18
|
+
end
|
19
|
+
|
20
|
+
def writeHtml(hGeoAge)
|
21
|
+
|
22
|
+
# classes used
|
23
|
+
citationClass = Html_Citation.new(@html)
|
24
|
+
|
25
|
+
# geologic age - age time scale
|
26
|
+
unless hGeoAge[:ageTimeScale].nil?
|
27
|
+
@html.em('Age Time Scale: ')
|
28
|
+
@html.text!(hGeoAge[:ageTimeScale])
|
29
|
+
@html.br
|
30
|
+
end
|
31
|
+
|
32
|
+
# geologic age - age estimate
|
33
|
+
unless hGeoAge[:ageEstimate].nil?
|
34
|
+
@html.em('Age Estimate: ')
|
35
|
+
@html.text!(hGeoAge[:ageEstimate])
|
36
|
+
@html.br
|
37
|
+
end
|
38
|
+
|
39
|
+
# geologic age - age uncertainty
|
40
|
+
unless hGeoAge[:ageUncertainty].nil?
|
41
|
+
@html.em('Age Uncertainty: ')
|
42
|
+
@html.section(:class => 'block') do
|
43
|
+
@html.text!(hGeoAge[:ageUncertainty])
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# geologic age - age explanation
|
48
|
+
unless hGeoAge[:ageExplanation].nil?
|
49
|
+
@html.em('Age Determination Methodology: ')
|
50
|
+
@html.section(:class => 'block') do
|
51
|
+
@html.text!(hGeoAge[:ageExplanation])
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# geologic age - age references [] {citation}
|
56
|
+
hGeoAge[:ageReferences].each do |hCitation|
|
57
|
+
@html.details do
|
58
|
+
@html.summary('Age Reference', {'class' => 'h5'})
|
59
|
+
@html.section(:class => 'block') do
|
60
|
+
citationClass.writeHtml(hCitation)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end # writeHtml
|
66
|
+
end # Html_GeologicAge
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -2,11 +2,12 @@
|
|
2
2
|
# temporal extent
|
3
3
|
|
4
4
|
# History:
|
5
|
+
# Stan Smith 2017-11-09 remove subheadings
|
6
|
+
# Stan Smith 2017-11-09 add geologic age
|
5
7
|
# Stan Smith 2017-03-25 refactored for mdTranslator 2.0
|
6
8
|
# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
|
7
9
|
# Stan Smith 2015-04-03 original script
|
8
10
|
|
9
|
-
require_relative 'html_datetime'
|
10
11
|
require_relative 'html_timePeriod'
|
11
12
|
require_relative 'html_timeInstant'
|
12
13
|
|
@@ -24,37 +25,35 @@ module ADIWG
|
|
24
25
|
def writeHtml(hExtent)
|
25
26
|
|
26
27
|
# classes used
|
27
|
-
datetimeClass = Html_Datetime.new(@html)
|
28
28
|
periodClass = Html_TimePeriod.new(@html)
|
29
29
|
instantClass = Html_TimeInstant.new(@html)
|
30
30
|
|
31
31
|
# temporal element - time instant {timeInstant}
|
32
32
|
unless hExtent[:timeInstant].empty?
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
@html.
|
37
|
-
instantClass.writeHtml(hExtent[:timeInstant])
|
38
|
-
end
|
33
|
+
hInstant = hExtent[:timeInstant][:timeInstant]
|
34
|
+
hGeoAge = hExtent[:timeInstant][:geologicAge]
|
35
|
+
unless hInstant.empty?
|
36
|
+
@html.h5('Time Instant')
|
39
37
|
end
|
38
|
+
unless hGeoAge.empty?
|
39
|
+
@html.h5('Geologic Age')
|
40
|
+
end
|
41
|
+
instantClass.writeHtml(hExtent[:timeInstant])
|
40
42
|
end
|
41
43
|
|
42
44
|
# temporal element - time period {timePeriod}
|
43
45
|
unless hExtent[:timePeriod].empty?
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
end
|
54
|
-
@html.section(:class => 'block') do
|
55
|
-
periodClass.writeHtml(hExtent[:timePeriod])
|
56
|
-
end
|
46
|
+
hStartDate = hExtent[:timePeriod][:startDateTime]
|
47
|
+
hEndDate = hExtent[:timePeriod][:endDateTime]
|
48
|
+
hStartAge = hExtent[:timePeriod][:startGeologicAge]
|
49
|
+
hEndAge = hExtent[:timePeriod][:endGeologicAge]
|
50
|
+
unless hStartDate.empty? && hEndDate.empty?
|
51
|
+
@html.h5('Time Period')
|
52
|
+
end
|
53
|
+
unless hStartAge.empty? && hEndAge.empty?
|
54
|
+
@html.h5('Geologic Period')
|
57
55
|
end
|
56
|
+
periodClass.writeHtml(hExtent[:timePeriod])
|
58
57
|
end
|
59
58
|
|
60
59
|
end # writeHtml
|
@@ -2,12 +2,14 @@
|
|
2
2
|
# time instant
|
3
3
|
|
4
4
|
# History:
|
5
|
+
# Stan Smith 2017-11-09 add geologic age
|
5
6
|
# Stan Smith 2017-03-26 refactored for mdTranslator 2.0
|
6
7
|
# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
|
7
8
|
# Stan Smith 2015-04-03 original script
|
8
9
|
|
9
10
|
require_relative 'html_identifier'
|
10
11
|
require_relative 'html_datetime'
|
12
|
+
require_relative 'html_geologicAge'
|
11
13
|
|
12
14
|
module ADIWG
|
13
15
|
module Mdtranslator
|
@@ -25,6 +27,7 @@ module ADIWG
|
|
25
27
|
# classes used
|
26
28
|
identifierClass = Html_Identifier.new(@html)
|
27
29
|
datetimeClass = Html_Datetime.new(@html)
|
30
|
+
geoAgeClass = Html_GeologicAge.new(@html)
|
28
31
|
|
29
32
|
# time instant - id
|
30
33
|
unless hInstant[:timeId].nil?
|
@@ -55,6 +58,11 @@ module ADIWG
|
|
55
58
|
end
|
56
59
|
end
|
57
60
|
|
61
|
+
# time instant - geologic age
|
62
|
+
unless hInstant[:geologicAge].empty?
|
63
|
+
geoAgeClass.writeHtml(hInstant[:geologicAge])
|
64
|
+
end
|
65
|
+
|
58
66
|
# time instant - identifier {identifier}
|
59
67
|
unless hInstant[:identifier].empty?
|
60
68
|
@html.details do
|
@@ -2,11 +2,13 @@
|
|
2
2
|
# time period
|
3
3
|
|
4
4
|
# History:
|
5
|
+
# Stan Smith 2017-11-09 add geologic age
|
5
6
|
# Stan Smith 2017-03-26 refactored for mdTranslator 2.0
|
6
7
|
# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
|
7
8
|
# Stan Smith 2015-03-23 original script
|
8
9
|
|
9
10
|
require_relative 'html_datetime'
|
11
|
+
require_relative 'html_geologicAge'
|
10
12
|
require_relative 'html_identifier'
|
11
13
|
require_relative 'html_timeInterval'
|
12
14
|
require_relative 'html_duration'
|
@@ -26,6 +28,7 @@ module ADIWG
|
|
26
28
|
|
27
29
|
# classes used
|
28
30
|
datetimeClass = Html_Datetime.new(@html)
|
31
|
+
geoAgeClass = Html_GeologicAge.new(@html)
|
29
32
|
identifierClass = Html_Identifier.new(@html)
|
30
33
|
intervalClass = Html_TimeInterval.new(@html)
|
31
34
|
durationClass = Html_Duration.new(@html)
|
@@ -66,6 +69,26 @@ module ADIWG
|
|
66
69
|
end
|
67
70
|
end
|
68
71
|
|
72
|
+
# time period - start geologic age {geologic age}
|
73
|
+
unless hPeriod[:startGeologicAge].empty?
|
74
|
+
@html.details do
|
75
|
+
@html.summary('Starting Geologic Age', 'class' => 'h5')
|
76
|
+
@html.section(:class => 'block') do
|
77
|
+
geoAgeClass.writeHtml(hPeriod[:startGeologicAge])
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# time period - end geologic age {geologic age}
|
83
|
+
unless hPeriod[:endGeologicAge].empty?
|
84
|
+
@html.details do
|
85
|
+
@html.summary('Ending Geologic Age', 'class' => 'h5')
|
86
|
+
@html.section(:class => 'block') do
|
87
|
+
geoAgeClass.writeHtml(hPeriod[:endGeologicAge])
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
69
92
|
# time period - identifier {identifier}
|
70
93
|
unless hPeriod[:identifier].empty?
|
71
94
|
@html.details do
|
@@ -1,8 +1,9 @@
|
|
1
1
|
# mdJson 2.0 writer - dictionary
|
2
2
|
|
3
3
|
# History:
|
4
|
-
#
|
5
|
-
#
|
4
|
+
# Stan Smith 2017-11-09 add data dictionary description
|
5
|
+
# Stan Smith 2017-03-11 refactored for mdJson/mdTranslator 2.0
|
6
|
+
# Josh Bradley original script
|
6
7
|
|
7
8
|
require 'jbuilder'
|
8
9
|
require_relative 'mdJson_citation'
|
@@ -23,8 +24,9 @@ module ADIWG
|
|
23
24
|
def self.build(hDictionary)
|
24
25
|
|
25
26
|
Jbuilder.new do |json|
|
26
|
-
json.
|
27
|
+
json.description hDictionary[:description]
|
27
28
|
json.subject hDictionary[:subjects] unless hDictionary[:subjects].empty?
|
29
|
+
json.citation Citation.build(hDictionary[:citation]) unless hDictionary[:citation].empty?
|
28
30
|
json.recommendedUse hDictionary[:recommendedUses] unless hDictionary[:recommendedUses].empty?
|
29
31
|
json.locale @Namespace.json_map(hDictionary[:locales], Locale)
|
30
32
|
json.responsibleParty ResponsibleParty.build(hDictionary[:responsibleParty])
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# mdJson 2.0 writer - geologic age
|
2
|
+
|
3
|
+
# History:
|
4
|
+
# Stan Smith 2017-11-08 original script
|
5
|
+
|
6
|
+
require 'jbuilder'
|
7
|
+
require_relative 'mdJson_citation'
|
8
|
+
|
9
|
+
module ADIWG
|
10
|
+
module Mdtranslator
|
11
|
+
module Writers
|
12
|
+
module MdJson
|
13
|
+
|
14
|
+
module GeologicAge
|
15
|
+
|
16
|
+
def self.build(hGeoAge)
|
17
|
+
|
18
|
+
@Namespace = ADIWG::Mdtranslator::Writers::MdJson
|
19
|
+
|
20
|
+
Jbuilder.new do |json|
|
21
|
+
json.ageTimeScale hGeoAge[:ageTimeScale]
|
22
|
+
json.ageEstimate hGeoAge[:ageEstimate]
|
23
|
+
json.ageUncertainty hGeoAge[:ageUncertainty]
|
24
|
+
json.ageExplanation hGeoAge[:ageExplanation]
|
25
|
+
json.ageReference @Namespace.json_map(hGeoAge[:ageReferences], Citation)
|
26
|
+
end
|
27
|
+
|
28
|
+
end # build
|
29
|
+
end # GeologicAge
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,11 +1,13 @@
|
|
1
1
|
# mdJson 2.0 writer - time instant
|
2
2
|
|
3
3
|
# History:
|
4
|
-
#
|
4
|
+
# Stan Smith 2017-11-08 add geologic age
|
5
|
+
# Stan Smith 2017-03-15 original script
|
5
6
|
|
6
7
|
require 'jbuilder'
|
7
8
|
require_relative 'mdJson_identifier'
|
8
9
|
require_relative 'mdJson_dateTime'
|
10
|
+
require_relative 'mdJson_geologicAge'
|
9
11
|
|
10
12
|
module ADIWG
|
11
13
|
module Mdtranslator
|
@@ -22,6 +24,7 @@ module ADIWG
|
|
22
24
|
json.identifier Identifier.build(hTimeInstant[:identifier]) unless hTimeInstant[:identifier].empty?
|
23
25
|
json.instantName hTimeInstant[:instantNames] unless hTimeInstant[:instantNames].empty?
|
24
26
|
json.dateTime DateTime.build(hTimeInstant[:timeInstant]) unless hTimeInstant[:timeInstant].empty?
|
27
|
+
json.geologicAge GeologicAge.build(hTimeInstant[:geologicAge]) unless hTimeInstant[:geologicAge].empty?
|
25
28
|
end
|
26
29
|
|
27
30
|
end # build
|
@@ -1,12 +1,14 @@
|
|
1
1
|
# mdJson 2.0 writer - time period
|
2
2
|
|
3
3
|
# History:
|
4
|
-
#
|
5
|
-
#
|
4
|
+
# Stan Smith 2017-11-08 add geologic age
|
5
|
+
# Stan Smith 2017-03-14 refactored for mdJson/mdTranslator 2.0
|
6
|
+
# Josh Bradley original script
|
6
7
|
|
7
8
|
require 'jbuilder'
|
8
9
|
require_relative 'mdJson_identifier'
|
9
10
|
require_relative 'mdJson_dateTime'
|
11
|
+
require_relative 'mdJson_geologicAge'
|
10
12
|
require_relative 'mdJson_timeInterval'
|
11
13
|
require_relative 'mdJson_duration'
|
12
14
|
|
@@ -26,6 +28,8 @@ module ADIWG
|
|
26
28
|
json.periodName hTimePeriod[:periodNames] unless hTimePeriod[:periodNames].empty?
|
27
29
|
json.startDateTime DateTime.build(hTimePeriod[:startDateTime]) unless hTimePeriod[:startDateTime].empty?
|
28
30
|
json.endDateTime DateTime.build(hTimePeriod[:endDateTime]) unless hTimePeriod[:endDateTime].empty?
|
31
|
+
json.startGeologicAge GeologicAge.build(hTimePeriod[:startGeologicAge]) unless hTimePeriod[:startGeologicAge].empty?
|
32
|
+
json.endGeologicAge GeologicAge.build(hTimePeriod[:endGeologicAge]) unless hTimePeriod[:endGeologicAge].empty?
|
29
33
|
json.timeInterval TimeInterval.build(hTimePeriod[:timeInterval]) unless hTimePeriod[:timeInterval].empty?
|
30
34
|
json.duration Duration.build(hTimePeriod[:duration]) unless hTimePeriod[:duration].empty?
|
31
35
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# sbJson 1.0 writer
|
2
2
|
|
3
3
|
# History:
|
4
|
+
# Stan Smith 2017-11-09 add metadata identifier to output identifiers
|
5
|
+
# Stan Smith 2017-11-08 remove identifier which is the primary resource
|
4
6
|
# Stan Smith 2017-05-12 refactored for mdJson/mdTranslator 2.0
|
5
7
|
# Josh Bradley original script
|
6
8
|
|
@@ -38,13 +40,32 @@ module ADIWG
|
|
38
40
|
|
39
41
|
Jbuilder.new do |json|
|
40
42
|
|
41
|
-
|
43
|
+
resourceId = Id.build(intObj)
|
44
|
+
json.id resourceId
|
42
45
|
json.title hCitation[:title] unless hCitation.empty?
|
43
46
|
json.alternateTitles hCitation[:alternateTitles] unless hCitation[:alternateTitles].empty?
|
44
47
|
json.body Abstract.build(resourceInfo[:abstract])
|
45
48
|
json.summary resourceInfo[:shortAbstract]
|
46
49
|
json.citation Citation.build(hCitation) unless hCitation.empty?
|
47
|
-
|
50
|
+
|
51
|
+
# gather all identifiers
|
52
|
+
# include the metadataIdentifier if it is not in the 'gov.sciencebase.catalog' namespace
|
53
|
+
aIdentifiers = []
|
54
|
+
unless metadataInfo[:metadataIdentifier].empty?
|
55
|
+
unless metadataInfo[:metadataIdentifier][:namespace] == 'gov.sciencebase.catalog'
|
56
|
+
aIdentifiers << metadataInfo[:metadataIdentifier]
|
57
|
+
end
|
58
|
+
end
|
59
|
+
# do not duplicate the identifier which is the primary resource
|
60
|
+
unless hCitation.empty?
|
61
|
+
hCitation[:identifiers].each do |hIdentifier|
|
62
|
+
unless hIdentifier[:identifier] == resourceId
|
63
|
+
aIdentifiers << hIdentifier
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
json.identifiers @Namespace.json_map(aIdentifiers, Identifier) unless aIdentifiers.empty?
|
68
|
+
|
48
69
|
json.purpose resourceInfo[:purpose]
|
49
70
|
json.rights Rights.build(resourceInfo[:constraints]) unless resourceInfo[:constraints].empty?
|
50
71
|
json.provenance Provenance.build
|