dor-services-client 4.13.1 → 4.14.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 +4 -4
- data/README.md +4 -1
- data/lib/dor/services/client/members.rb +47 -0
- data/lib/dor/services/client/object.rb +7 -0
- data/lib/dor/services/client/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56c3ce6206a170292f44d10b8203748a498ae80450b15551136f3e7a2c804c67
|
4
|
+
data.tar.gz: 20cd69d1dffee9040fdd37fc2cd2c4b38e82a0f081d53367201789b2c2f0f6b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eaff2fded30179d72a406fa087a2e4b8b43f1d8efe648215700df4244a599a3031b6b83aae50fb0414cff18f8ccf4b5618a5d27d2a3b3292ac4b0d11bd99e29a
|
7
|
+
data.tar.gz: e07b40ad72c26e76cd42325f264bea7af646c3593a09490a212e02947d4b69323b572523d9d2d6b97b11bc2018b6f781bf19dddda7bae450051552174d40436b
|
data/README.md
CHANGED
@@ -125,9 +125,12 @@ object_client.metadata.legacy_update(
|
|
125
125
|
# Return the Cocina metadata
|
126
126
|
object_client.find
|
127
127
|
|
128
|
-
# Query for an
|
128
|
+
# Query for an object's collections
|
129
129
|
object_client.collections
|
130
130
|
|
131
|
+
# Query for a collection's members
|
132
|
+
object_client.members
|
133
|
+
|
131
134
|
# View information about an object's files
|
132
135
|
object_client.files.retrieve(filename: filename_string)
|
133
136
|
object_client.files.list
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Dor
|
4
|
+
module Services
|
5
|
+
class Client
|
6
|
+
# API call that queries the members of a collection.
|
7
|
+
class Members < VersionedService
|
8
|
+
Member = Struct.new(:externalIdentifier, :type, keyword_init: true)
|
9
|
+
|
10
|
+
# @param object_identifier [String] the pid for the object
|
11
|
+
def initialize(connection:, version:, object_identifier:)
|
12
|
+
super(connection: connection, version: version)
|
13
|
+
@object_identifier = object_identifier
|
14
|
+
end
|
15
|
+
|
16
|
+
# Get a list of the members.
|
17
|
+
# @raise [UnexpectedResponse] if the request is unsuccessful.
|
18
|
+
# @return [Array<Member>]
|
19
|
+
def members
|
20
|
+
resp = connection.get do |req|
|
21
|
+
req.url members_path
|
22
|
+
end
|
23
|
+
|
24
|
+
return response_to_models(resp) if resp.success?
|
25
|
+
|
26
|
+
raise_exception_based_on_response!(resp, object_identifier)
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def response_to_models(resp)
|
32
|
+
JSON.parse(resp.body)['members'].map { |result| Member.new(**result.symbolize_keys) }
|
33
|
+
end
|
34
|
+
|
35
|
+
def object_path
|
36
|
+
"#{api_version}/objects/#{object_identifier}"
|
37
|
+
end
|
38
|
+
|
39
|
+
def members_path
|
40
|
+
"#{object_path}/members"
|
41
|
+
end
|
42
|
+
|
43
|
+
attr_reader :object_identifier
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -64,6 +64,13 @@ module Dor
|
|
64
64
|
Collections.new(parent_params).collections
|
65
65
|
end
|
66
66
|
|
67
|
+
# Get a list of the members
|
68
|
+
# @raise [UnexpectedResponse] if the request is unsuccessful.
|
69
|
+
# @return [Array<Members::Member>]
|
70
|
+
def members
|
71
|
+
Members.new(parent_params).members
|
72
|
+
end
|
73
|
+
|
67
74
|
# Publish an object (send to PURL)
|
68
75
|
# @raise [NotFoundResponse] when the response is a 404 (object not found)
|
69
76
|
# @raise [UnexpectedResponse] when the response is not successful.
|
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: 4.
|
4
|
+
version: 4.14.0
|
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-02-
|
12
|
+
date: 2020-02-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -215,6 +215,7 @@ files:
|
|
215
215
|
- lib/dor/services/client/events.rb
|
216
216
|
- lib/dor/services/client/files.rb
|
217
217
|
- lib/dor/services/client/marcxml.rb
|
218
|
+
- lib/dor/services/client/members.rb
|
218
219
|
- lib/dor/services/client/metadata.rb
|
219
220
|
- lib/dor/services/client/object.rb
|
220
221
|
- lib/dor/services/client/object_version.rb
|
@@ -243,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
244
|
- !ruby/object:Gem::Version
|
244
245
|
version: '0'
|
245
246
|
requirements: []
|
246
|
-
rubygems_version: 3.
|
247
|
+
rubygems_version: 3.0.3
|
247
248
|
signing_key:
|
248
249
|
specification_version: 4
|
249
250
|
summary: A client for dor-services-app
|