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 +4 -4
- data/.github/pull_request_template.md +9 -1
- data/dor-services-client.gemspec +2 -2
- data/lib/dor/services/client.rb +4 -4
- data/lib/dor/services/client/administrative_tags.rb +1 -1
- data/lib/dor/services/client/metadata.rb +2 -1
- data/lib/dor/services/client/object.rb +11 -11
- data/lib/dor/services/client/version.rb +1 -1
- data/lib/dor/services/client/versioned_service.rb +4 -0
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 843960ba599a3283fec5cc49bcac51cd9f9c1c16a12e5de783c1ce8bee9e8982
|
4
|
+
data.tar.gz: aa7632d75fc823c8d67b470bc4e465c33eb46dbdb959545c06235c75b6ac22e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4581d285a28a1d8cd11e27c42d7ffe6af3f394ea4a395de09c83e70ae2808e73656be8ecbe10a26a778ddfe6cb75603b88e8aae4ee6a82f8ab642a3c3ee22a7
|
7
|
+
data.tar.gz: de6f348749c432f9ea89af2020f900c1d35f5408b867574f4ba3cba80929f4a7f9445737e897093f240d0deffc05f68080d86cb87bfec7c127357298b22518e5
|
data/dor-services-client.gemspec
CHANGED
@@ -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.
|
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
|
data/lib/dor/services/client.rb
CHANGED
@@ -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 [
|
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)
|
@@ -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.
|
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-
|
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.
|
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.
|
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:
|
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:
|
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.
|
271
|
+
rubygems_version: 3.1.2
|
272
272
|
signing_key:
|
273
273
|
specification_version: 4
|
274
274
|
summary: A client for dor-services-app
|