uc3-dmp-id 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b5c0aa471073de5389e6c43c002e0d755770a92e843c1c14dd79de9282076ef
4
- data.tar.gz: 8eb5f9aad1727ddc546d3f93464feef2a1052bf8f4baa470601eb24ce12536f0
3
+ metadata.gz: 4246dcd22bffa17f20b22217a7b2dbd5cf205bf6e062197bbc179d8bd15663df
4
+ data.tar.gz: 1427526f7079ee63b3b0ea769557bf28b0c680124860a31e3c4ec36255b1fd11
5
5
  SHA512:
6
- metadata.gz: 3a0eb1bea68002ba01b1c1d8f857d89fbff26cd058ffab31379bbc28e5c237c5b530dfbbfc9d3d8eb1a106e306b74a7c394d10b6dd2f261f2ae6d996e9d8794c
7
- data.tar.gz: 33a52715b9fcfa8564b6f3e44245013918e26b8fae8af771cddbe96e47c771168884a5bc74cd2ef95baa1bf4404eaa1fb4540dcc850bb741dd04b491ec9a39f4
6
+ metadata.gz: 5a110c35c6fb293ff7e4ad7d47e21fc1fe20ca9f21a5830f3fb151af13c9e3c30e6caf9c7412802736d7909c53d43fade84c00d175228698ff65f2cadc23a1e6
7
+ data.tar.gz: cdb727bf7a72f06d0cf9310bbf7c8710a8ce27b4bb3b1d57eed932d50e4620edfd65d318acd673e448d733fd3bcef75b7496cc49493f01f72ffd7d04264c2722
@@ -23,7 +23,7 @@ module Uc3DmpId
23
23
 
24
24
  # Find the DMP's versions
25
25
  # -------------------------------------------------------------------------
26
- def versions(p_key:, client: nil, log_writer: nil, debug: false)
26
+ def versions(p_key:, client: nil, debug: false)
27
27
  raise Uc3DmpIdFinderError, MSG_MISSING_PK if p_key.nil?
28
28
 
29
29
  args = {
@@ -33,36 +33,36 @@ module Uc3DmpId
33
33
  projection_expression: 'modified',
34
34
  scan_index_forward: false
35
35
  }
36
- client = client.nil? ? Uc3DmpDynamo::Client.new(log_writer: log_writer, debug: debug) : client
36
+ client = client.nil? ? Uc3DmpDynamo::Client.new(debug: debug) : client
37
37
  client.query(**args)
38
38
  end
39
39
 
40
40
  # Find a DMP based on the contents of the incoming JSON
41
41
  # -------------------------------------------------------------------------
42
- def by_json(json:, log_writer: nil, debug: false)
42
+ def by_json(json:, debug: false)
43
43
  json = Validator.parse_json(json: json)&.fetch('dmp', {})
44
44
  raise Uc3DmpIdFinderError, MSG_INVALID_ARGS if json.nil? || (json['PK'].nil? && json['dmp_id'].nil?)
45
45
 
46
46
  p_key = json['PK']
47
47
  # Translate the incoming :dmp_id into a PK
48
48
  p_key = Helper.dmp_id_to_pk(json: json.fetch('dmp_id', {})) if p_key.nil?
49
- client = client.nil? ? Uc3DmpDynamo::Client.new(log_writer: log_writer, debug: debug) : client
49
+ client = client.nil? ? Uc3DmpDynamo::Client.new(debug: debug) : client
50
50
 
51
51
  # find_by_dmphub_provenance_id -> if no PK and no dmp_id result
52
- return by_provenance_identifier(json: json, client: client, log_writer: log_writer, debug: debug) if p_key.nil?
52
+ return by_provenance_identifier(json: json, client: client, debug: debug) if p_key.nil?
53
53
 
54
54
  # find_by_PK
55
- by_pk(p_key: p_key, s_key: json['SK'], client: client, log_writer: log_writer, debug: debug)
55
+ by_pk(p_key: p_key, s_key: json['SK'], client: client, debug: debug)
56
56
  end
57
57
 
58
58
  # Find the DMP by its PK and SK
59
59
  # -------------------------------------------------------------------------
60
- def by_pk(p_key:, s_key: Helper::DMP_LATEST_VERSION, client: nil, log_writer: nil, debug: false)
60
+ def by_pk(p_key:, s_key: Helper::DMP_LATEST_VERSION, client: nil, debug: false)
61
61
  raise Uc3DmpIdFinderError, MSG_MISSING_PK if p_key.nil?
62
62
 
63
63
  s_key = Helper::DMP_LATEST_VERSION if s_key.nil? || s_key.strip.empty?
64
64
 
65
- client = client.nil? ? Uc3DmpDynamo::Client.new(log_writer: log_writer, debug: debug) : client
65
+ client = client.nil? ? Uc3DmpDynamo::Client.new(debug: debug) : client
66
66
  resp = client.get_item(
67
67
  key: {
68
68
  PK: Helper.append_pk_prefix(dmp: p_key),
@@ -71,13 +71,13 @@ module Uc3DmpId
71
71
  )
72
72
  return nil if resp.nil? || resp.fetch('dmp', {})['PK'].nil?
73
73
 
74
- _append_versions(p_key: resp['dmp']['PK'], dmp: resp, client: client)
74
+ _append_versions(p_key: resp['dmp']['PK'], dmp: resp, client: client, debug: debug)
75
75
  end
76
76
 
77
77
  # Attempt to find the DMP item by the provenance system's identifier
78
78
  # -------------------------------------------------------------------------
79
79
  # rubocop:disable Metrics/AbcSize
80
- def by_provenance_identifier(json:, client: nil, log_writer: nil, debug: false)
80
+ def by_provenance_identifier(json:, client: nil, debug: false)
81
81
  raise Uc3DmpIdFinderError, MSG_MISSING_PROV_ID if json.nil? || json.fetch('dmp_id', {})['identifier'].nil?
82
82
 
83
83
  args = {
@@ -90,7 +90,7 @@ module Uc3DmpId
90
90
  filter_expression: 'SK = :version',
91
91
  expression_attribute_values: { ':version': KeyHelper::DMP_LATEST_VERSION }
92
92
  }
93
- client = client.nil? ? Uc3DmpDynamo::Client.new(log_writer: log_writer, debug: debug) : client
93
+ client = client.nil? ? Uc3DmpDynamo::Client.new(debug: debug) : client
94
94
  resp = client.query(**args)
95
95
  return resp if resp.nil? || resp['dmp'].nil?
96
96
 
@@ -103,10 +103,10 @@ module Uc3DmpId
103
103
 
104
104
  # Build the dmphub_versions array and attach it to the dmp
105
105
  # rubocop:disable Metrics/AbcSize
106
- def _append_versions(p_key:, dmp:, client: nil, log_writer: log_writer, debug: false)
106
+ def _append_versions(p_key:, dmp:, client: nil, debug: false)
107
107
  return dmp if p_key.nil? || !dmp.is_a?(Hash) || dmp['dmp'].nil?
108
108
 
109
- results = versions(p_key: p_key, client: client, log_writer: log_writer, debug: debug)
109
+ results = versions(p_key: p_key, client: client, debug: debug)
110
110
  return dmp unless results.length > 1
111
111
 
112
112
  versions = results.map do |version|
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uc3DmpId
4
- VERSION = '0.0.7'
4
+ VERSION = '0.0.8'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uc3-dmp-id
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Riley