sdr-client 0.73.0 → 0.74.0

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: 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: []