uc3-dmp-id 0.0.68 → 0.0.70
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/uc3-dmp-id/helper.rb +12 -5
- data/lib/uc3-dmp-id/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0ca5545af2c686ec3c72c6d87ee6035f2c32d15e4e02e88a2242405d989c723
|
4
|
+
data.tar.gz: dc8abcfa7e6f83b0f4c65701595d57f6dfa8a3ba59049b3a90814eaa08036c35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1396221ec09ad597c60b0227263589ef4ab5dbec2a0522ccfd264d87d4c7125bb69d0953be1faa3a3bb1cf0e9ad0a10472d1933501edb7d54a8fdd137017d7c
|
7
|
+
data.tar.gz: 00b202a1a166b2ad2a334503991e20d470e0ed445e5635a199c244c5622e2d3f8bbbf13da07989b2958625904f13c3fd067a96ff5eaec6d304630b723f5886f6
|
data/lib/uc3-dmp-id/helper.rb
CHANGED
@@ -138,7 +138,8 @@ module Uc3DmpId
|
|
138
138
|
return nil unless json.is_a?(Hash)
|
139
139
|
|
140
140
|
dmp = json['dmp'].nil? ? json : json['dmp']
|
141
|
-
|
141
|
+
id = dmp.fetch('contact', {}).fetch('contact_id', {})['identifier']
|
142
|
+
return id unless id.nil?
|
142
143
|
|
143
144
|
dmp.fetch('contributor', []).map { |contributor| contributor.fetch('contact_id', {})['identifier'] }.first
|
144
145
|
end
|
@@ -160,7 +161,7 @@ module Uc3DmpId
|
|
160
161
|
# Add DMPHub specific fields to the DMP ID JSON
|
161
162
|
def annotate_dmp_json(provenance:, p_key:, json:)
|
162
163
|
json = parse_json(json: json)
|
163
|
-
return json if provenance.nil? ||
|
164
|
+
return json if provenance.nil? || p_key.nil? || !json.is_a?(Hash)
|
164
165
|
|
165
166
|
# Fail the json as is if the :PK does not match the :dmp_id if the json has a :PK
|
166
167
|
id = dmp_id_to_pk(json: json.fetch('dmp_id', {}))
|
@@ -190,9 +191,15 @@ module Uc3DmpId
|
|
190
191
|
json.fetch('dmp_id', {})['identifier'].nil?
|
191
192
|
|
192
193
|
# Record the original Provenance system's identifier
|
193
|
-
|
194
|
-
|
195
|
-
|
194
|
+
# If we are currently seeding records for existing DMP IDs, then use the :dmproadmap_links
|
195
|
+
if provenance.fetch('seedingWithLiveDmpIds', false).to_s.downcase == 'true' &&
|
196
|
+
!annotated.fetch('dmproadmap_links', {})['get'].nil?
|
197
|
+
annotated['dmphub_provenance_identifier'] = annotated.fetch('dmproadmap_links', {})['get']
|
198
|
+
else
|
199
|
+
annotated['dmphub_provenance_identifier'] = format_provenance_id(
|
200
|
+
provenance: provenance, value: json.fetch('dmp_id', {})['identifier']
|
201
|
+
)
|
202
|
+
end
|
196
203
|
annotated
|
197
204
|
end
|
198
205
|
|
data/lib/uc3-dmp-id/version.rb
CHANGED