sdr-client 0.73.0 → 0.74.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d9177bcaeb8c59171ec038933046207b1527c091471ff6257c26883a69f3155
4
- data.tar.gz: a5766c28e499c5d66ac874f32bc78e8bdc2e293a2aed0a1e936f4538c9fc89b6
3
+ metadata.gz: e961a5a661471be38fc957cb5ee14985b94d64c47d75300ebee2bec6b5d86f01
4
+ data.tar.gz: 39bdac093eb599e91c402778605eb5164a9a72a289d56d31727e5edfee9569f2
5
5
  SHA512:
6
- metadata.gz: 6c77293e170642a901a6f1c4279a16e6bb32966e58e0e6cc3fcde3d2d7dc8525d84b5f65dfadd4136f32003629e8d4cd73a2ed47bc7896853169e36256ea606c
7
- data.tar.gz: 8769b04c6aca0443cc812de990fa6daa798073b765291a5c75bee08f38a1ed95c1ada4815525f412dcac8a12dd5f810308701e8df943041d2857d86cc9ad9f6f
6
+ metadata.gz: 42a8987a6836d1fbffe02517bf08114ba44595524505ba318a3a3109be2b12bc4cbb67e482a2b67d5045763d24f3192b69726632989d22bab1a140c351d67b44
7
+ data.tar.gz: 873fb15afd29b719f2f4cefe842e7109fb47f950578364a23f3772323015ed73040d1d79ab174e8ea25f7e59272a86eb3d264c26a36649c25727cee6a62f7eff
@@ -7,6 +7,7 @@ module SdrClient
7
7
  # The file uploading part of a deposit
8
8
  class UploadFiles
9
9
  BLOB_PATH = '/v1/direct_uploads'
10
+
10
11
  # @param [Hash<String,Files::DirectUploadRequest>] the metadata for uploading the files
11
12
  # @param [Logger] logger the logger to use
12
13
  # @param [Connection] connection
@@ -23,23 +24,23 @@ module SdrClient
23
24
  @connection = connection
24
25
  end
25
26
 
26
- # @return [Array<SdrClient::Deposit::Files::DirectUploadResponse>] the responses from the server for the uploads
27
+ # @return [Array<Files::DirectUploadResponse>] the responses from the server for the uploads
27
28
  def run
28
- upload_responses = upload_file_metadata
29
- upload_files(upload_responses)
30
- upload_responses.values
29
+ file_metadata.map do |filename, metadata|
30
+ direct_upload(metadata.to_json).tap do |response|
31
+ upload_file(filename: filename,
32
+ url: response.direct_upload.fetch('url'),
33
+ content_type: response.content_type,
34
+ content_length: response.byte_size)
35
+ logger.info("Upload of #{filename} complete")
36
+ end
37
+ end
31
38
  end
32
39
 
33
40
  private
34
41
 
35
42
  attr_reader :logger, :connection, :file_metadata
36
43
 
37
- def upload_file_metadata
38
- file_metadata.transform_values { |metadata| direct_upload(metadata.to_json) }
39
- end
40
-
41
- # This creates a signed token that we can use to upload the file. This token has an expiration set in sdr-api,
42
- # so we have to use it before it expires.
43
44
  def direct_upload(metadata_json)
44
45
  logger.info("Starting an upload request: #{metadata_json}")
45
46
  response = connection.post(BLOB_PATH, metadata_json, 'Content-Type' => 'application/json')
@@ -56,18 +57,6 @@ module SdrClient
56
57
  raise "unexpected response: #{response.inspect}"
57
58
  end
58
59
 
59
- # @param [Hash<String,Files::DirectUploadResponse>] upload_responses the filenames and their upload response
60
- def upload_files(upload_responses)
61
- upload_responses.each do |filename, response|
62
- upload_file(filename: filename,
63
- url: response.direct_upload.fetch('url'),
64
- content_type: response.content_type,
65
- content_length: response.byte_size)
66
-
67
- logger.info('Upload complete')
68
- end
69
- end
70
-
71
60
  def upload_file(filename:, url:, content_type:, content_length:)
72
61
  logger.info("Uploading `#{filename}' to #{url}")
73
62
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SdrClient
4
- VERSION = '0.73.0'
4
+ VERSION = '0.74.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdr-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.73.0
4
+ version: 0.74.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-22 00:00:00.000000000 Z
11
+ date: 2022-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -256,7 +256,7 @@ metadata:
256
256
  source_code_uri: https://github.com/sul-dlss/sdr-client
257
257
  changelog_uri: https://github.com/sul-dlss/sdr-client/releases
258
258
  rubygems_mfa_required: 'true'
259
- post_install_message:
259
+ post_install_message:
260
260
  rdoc_options: []
261
261
  require_paths:
262
262
  - lib
@@ -271,8 +271,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
271
  - !ruby/object:Gem::Version
272
272
  version: '0'
273
273
  requirements: []
274
- rubygems_version: 3.3.9
275
- signing_key:
274
+ rubygems_version: 3.2.32
275
+ signing_key:
276
276
  specification_version: 4
277
277
  summary: The CLI for https://github.com/sul-dlss/sdr-api
278
278
  test_files: []