dor-services-client 6.3.0 → 6.6.1

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: 7a27050d3ec926a85dc7008ef3e8d474c5c4a8c7312a17488ab4f7637f8a7fe5
4
- data.tar.gz: c1743cb83b1ff422517aa38643308d564d567a5dae46db6502a19165fd237cf6
3
+ metadata.gz: 843960ba599a3283fec5cc49bcac51cd9f9c1c16a12e5de783c1ce8bee9e8982
4
+ data.tar.gz: aa7632d75fc823c8d67b470bc4e465c33eb46dbdb959545c06235c75b6ac22e5
5
5
  SHA512:
6
- metadata.gz: 4a0e9fc38ba40fff3e7c0a0626b38a0e053fc649b1ffc96c0521105bed6560dd9a32e3bee1db2d051428fb372a6f007ec1f44127e334b95a7ac3e2a9131ed6a6
7
- data.tar.gz: 9c00a67479069aeb5c14c77087dbda87b34386251529e9ce15aedf9e10462296519f6701987fcc17ccac96f05d18a5435a0d665456ab0162e723e5755fd860a9
6
+ metadata.gz: a4581d285a28a1d8cd11e27c42d7ffe6af3f394ea4a395de09c83e70ae2808e73656be8ecbe10a26a778ddfe6cb75603b88e8aae4ee6a82f8ab642a3c3ee22a7
7
+ data.tar.gz: de6f348749c432f9ea89af2020f900c1d35f5408b867574f4ba3cba80929f4a7f9445737e897093f240d0deffc05f68080d86cb87bfec7c127357298b22518e5
@@ -1,4 +1,12 @@
1
1
  ## Why was this change made?
2
2
 
3
3
 
4
- ## Was the documentation (README, API, wiki, consul, etc.) updated?
4
+
5
+ ## How was this change tested?
6
+
7
+
8
+
9
+ ## Which documentation and/or configurations were updated?
10
+
11
+
12
+
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ['lib']
24
24
 
25
25
  spec.add_dependency 'activesupport', '>= 4.2', '< 7'
26
- spec.add_dependency 'cocina-models', '~> 0.32.0' # leave pinned to patch level until cocina-models hits 1.0
26
+ spec.add_dependency 'cocina-models', '~> 0.33.0' # leave pinned to patch level until cocina-models hits 1.0
27
27
  spec.add_dependency 'deprecation', '>= 0'
28
28
  spec.add_dependency 'faraday', '>= 0.15', '< 2'
29
29
  spec.add_dependency 'moab-versioning', '~> 4.0'
@@ -34,6 +34,6 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency 'rake', '>= 12.3.3'
35
35
  spec.add_development_dependency 'rspec', '~> 3.0'
36
36
  spec.add_development_dependency 'rubocop', '~> 0.61.0'
37
- spec.add_development_dependency 'simplecov'
37
+ spec.add_development_dependency 'simplecov', '~> 0.17.0' # CodeClimate cannot use SimpleCov >= 0.18.0 for generating test coverage
38
38
  spec.add_development_dependency 'webmock'
39
39
  end
@@ -36,6 +36,9 @@ module Dor
36
36
  # Error that is raised when the remote server returns a 401 Unauthorized
37
37
  class UnauthorizedResponse < UnexpectedResponse; end
38
38
 
39
+ # Error that is raised when the remote server returns a 409 Conflict
40
+ class ConflictResponse < UnexpectedResponse; end
41
+
39
42
  # Error that is raised when the remote server returns some unparsable response
40
43
  class MalformedResponse < Error; end
41
44
 
@@ -125,10 +128,7 @@ module Dor
125
128
  builder.adapter Faraday.default_adapter
126
129
  builder.headers[:user_agent] = user_agent
127
130
  builder.headers[TOKEN_HEADER] = "Bearer #{token}"
128
- if with_retries
129
- builder.request :retry, max: 4, interval: 1,
130
- backoff_factor: 2, exceptions: ['Faraday::Error', 'Timeout::Error']
131
- end
131
+ builder.request :retry, max: 4, interval: 1, backoff_factor: 2 if with_retries
132
132
  end
133
133
  end
134
134
 
@@ -49,7 +49,7 @@ module Dor
49
49
  #
50
50
  # @raise [NotFoundResponse] when the response is a 404 (object not found)
51
51
  # @raise [UnexpectedResponse] if the request is unsuccessful.
52
- # @return [Hash]
52
+ # @return [Array<String>]
53
53
  def list
54
54
  resp = connection.get do |req|
55
55
  req.url "#{api_version}/objects/#{object_identifier}/administrative_tags"
@@ -21,10 +21,11 @@ module Dor
21
21
  # @option opts [Hash] :identity Data for identity metadata
22
22
  # @option opts [Hash] :technical Data for technical metadata
23
23
  # @option opts [Hash] :provenance Data for provenance metadata
24
+ # @option opts [Hash] :geo Data for geographic metadata
24
25
  # @example:
25
26
  # legacy_update(descriptive: { updated: '2001-12-20', content: '<descMetadata />' })
26
27
  def legacy_update(opts)
27
- opts = opts.slice(:descriptive, :rights, :identity, :content, :technical, :provenance)
28
+ opts = opts.slice(:descriptive, :rights, :identity, :content, :technical, :provenance, :geo)
28
29
  resp = connection.patch do |req|
29
30
  req.url "#{base_path}/legacy"
30
31
  req.headers['Content-Type'] = 'application/json'
@@ -16,39 +16,39 @@ module Dor
16
16
  end
17
17
 
18
18
  def metadata
19
- @metadata ||= Metadata.new(parent_params)
19
+ @metadata ||= Metadata.new(**parent_params)
20
20
  end
21
21
 
22
22
  def events
23
- @events ||= Events.new(parent_params)
23
+ @events ||= Events.new(**parent_params)
24
24
  end
25
25
 
26
26
  def files
27
- @files ||= Files.new(parent_params)
27
+ @files ||= Files.new(**parent_params)
28
28
  end
29
29
 
30
30
  def workspace
31
- @workspace ||= Workspace.new(parent_params)
31
+ @workspace ||= Workspace.new(**parent_params)
32
32
  end
33
33
 
34
34
  def release_tags
35
- @release_tags ||= ReleaseTags.new(parent_params)
35
+ @release_tags ||= ReleaseTags.new(**parent_params)
36
36
  end
37
37
 
38
38
  def administrative_tags
39
- @administrative_tags ||= AdministrativeTags.new(parent_params)
39
+ @administrative_tags ||= AdministrativeTags.new(**parent_params)
40
40
  end
41
41
 
42
42
  def version
43
- @version ||= ObjectVersion.new(parent_params)
43
+ @version ||= ObjectVersion.new(**parent_params)
44
44
  end
45
45
 
46
46
  def embargo
47
- @embargo ||= Embargo.new(parent_params)
47
+ @embargo ||= Embargo.new(**parent_params)
48
48
  end
49
49
 
50
50
  def accession(params = {})
51
- @accession ||= Accession.new(parent_params.merge(params))
51
+ @accession ||= Accession.new(**parent_params.merge(params))
52
52
  end
53
53
 
54
54
  # Retrieves the Cocina model
@@ -88,14 +88,14 @@ module Dor
88
88
  # @raise [UnexpectedResponse] if the request is unsuccessful.
89
89
  # @return [Array<Cocina::Models::DRO>]
90
90
  def collections
91
- Collections.new(parent_params).collections
91
+ Collections.new(**parent_params).collections
92
92
  end
93
93
 
94
94
  # Get a list of the members
95
95
  # @raise [UnexpectedResponse] if the request is unsuccessful.
96
96
  # @return [Array<Members::Member>]
97
97
  def members
98
- Members.new(parent_params).members
98
+ Members.new(**parent_params).members
99
99
  end
100
100
 
101
101
  # Publish an object (send to PURL)
@@ -3,7 +3,7 @@
3
3
  module Dor
4
4
  module Services
5
5
  class Client
6
- VERSION = '6.3.0'
6
+ VERSION = '6.6.1'
7
7
  end
8
8
  end
9
9
  end
@@ -19,18 +19,22 @@ module Dor
19
19
 
20
20
  attr_reader :connection, :api_version
21
21
 
22
+ # rubocop:disable Metrics/MethodLength
22
23
  def raise_exception_based_on_response!(response, object_identifier = nil)
23
24
  exception_class = case response.status
24
25
  when 404
25
26
  NotFoundResponse
26
27
  when 401
27
28
  UnauthorizedResponse
29
+ when 409
30
+ ConflictResponse
28
31
  else
29
32
  UnexpectedResponse
30
33
  end
31
34
  raise exception_class,
32
35
  ResponseErrorFormatter.format(response: response, object_identifier: object_identifier)
33
36
  end
37
+ # rubocop:enable Metrics/MethodLength
34
38
  end
35
39
  end
36
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dor-services-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.3.0
4
+ version: 6.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-05-12 00:00:00.000000000 Z
12
+ date: 2020-07-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -37,14 +37,14 @@ dependencies:
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.32.0
40
+ version: 0.33.0
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.32.0
47
+ version: 0.33.0
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: deprecation
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -181,16 +181,16 @@ dependencies:
181
181
  name: simplecov
182
182
  requirement: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - ">="
184
+ - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: '0'
186
+ version: 0.17.0
187
187
  type: :development
188
188
  prerelease: false
189
189
  version_requirements: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - ">="
191
+ - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: '0'
193
+ version: 0.17.0
194
194
  - !ruby/object:Gem::Dependency
195
195
  name: webmock
196
196
  requirement: !ruby/object:Gem::Requirement
@@ -268,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
268
268
  - !ruby/object:Gem::Version
269
269
  version: '0'
270
270
  requirements: []
271
- rubygems_version: 3.0.3
271
+ rubygems_version: 3.1.2
272
272
  signing_key:
273
273
  specification_version: 4
274
274
  summary: A client for dor-services-app