dor-services-client 14.5.0 → 14.6.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/Gemfile.lock +5 -2
- data/README.md +3 -0
- data/lib/dor/services/client/object_version.rb +36 -0
- data/lib/dor/services/client/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f174f312d81c83f4eb16c9d833623fb69b8a010f4afbca1b57018a38819c10f2
|
4
|
+
data.tar.gz: 7230f8d8093bc586cb5a083b7b292c12d47fbba648e1999f3c697bcb7d56a216
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7d5cffdeb8ce04d90055bce6a9e5a751dcf7eaef4483e7f206eb10a68eecd3c3519d2295b470e006b88d1d2b2bbc8ae47fdaae8ab45e28d403bdc9b68615c28
|
7
|
+
data.tar.gz: dbcf6972c5b6dacd76407eb6a8573377ea0372a0447f9c834a5a1803b6a9cc6d0d2d25f83b90cec6ec02e9f7ddd6648e51d4175ad7e62ef4bc48fead47f7daa6
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dor-services-client (14.
|
4
|
+
dor-services-client (14.6.0)
|
5
5
|
activesupport (>= 4.2, < 8)
|
6
6
|
cocina-models (~> 0.96.0)
|
7
7
|
deprecation
|
@@ -151,10 +151,13 @@ GEM
|
|
151
151
|
rubocop (~> 1.41)
|
152
152
|
rubocop-factory_bot (2.25.1)
|
153
153
|
rubocop (~> 1.41)
|
154
|
-
rubocop-rspec (2.
|
154
|
+
rubocop-rspec (2.28.0)
|
155
155
|
rubocop (~> 1.40)
|
156
156
|
rubocop-capybara (~> 2.17)
|
157
157
|
rubocop-factory_bot (~> 2.22)
|
158
|
+
rubocop-rspec_rails (~> 2.28)
|
159
|
+
rubocop-rspec_rails (2.28.2)
|
160
|
+
rubocop (~> 1.40)
|
158
161
|
ruby-progressbar (1.13.0)
|
159
162
|
simplecov (0.22.0)
|
160
163
|
docile (~> 1.1)
|
data/README.md
CHANGED
@@ -120,6 +120,9 @@ object_client.notify_goobi
|
|
120
120
|
# Manage versions
|
121
121
|
object_client.version.inventory
|
122
122
|
object_client.version.current
|
123
|
+
# Returns a struct containing the status.
|
124
|
+
# Status includes whether the object is open, assembling, accessioning, or closeable.
|
125
|
+
object_client.version.status
|
123
126
|
object_client.version.openable?
|
124
127
|
# see dor-services-app openapi.yml for optional params
|
125
128
|
object_client.version.open(description: 'Changed title')
|
@@ -6,6 +6,31 @@ module Dor
|
|
6
6
|
# API calls that are about versions
|
7
7
|
class ObjectVersion < VersionedService
|
8
8
|
Version = Struct.new(:versionId, :tag, :message, keyword_init: true)
|
9
|
+
VersionStatus = Struct.new(:versionId, :open, :openable, :assembling, :accessioning, :closeable, keyword_init: true) do
|
10
|
+
def open?
|
11
|
+
open
|
12
|
+
end
|
13
|
+
|
14
|
+
def openable?
|
15
|
+
openable
|
16
|
+
end
|
17
|
+
|
18
|
+
def assembling?
|
19
|
+
assembling
|
20
|
+
end
|
21
|
+
|
22
|
+
def accessioning?
|
23
|
+
accessioning
|
24
|
+
end
|
25
|
+
|
26
|
+
def closed?
|
27
|
+
!open
|
28
|
+
end
|
29
|
+
|
30
|
+
def closeable?
|
31
|
+
closeable
|
32
|
+
end
|
33
|
+
end
|
9
34
|
|
10
35
|
# @param object_identifier [String] the pid for the object
|
11
36
|
def initialize(connection:, version:, object_identifier:)
|
@@ -95,6 +120,17 @@ module Dor
|
|
95
120
|
JSON.parse(resp.body).fetch('versions').map { |params| Version.new(**params.symbolize_keys!) }
|
96
121
|
end
|
97
122
|
|
123
|
+
# @return [VersionStatus] status of the version
|
124
|
+
# @raise [UnexpectedResponse] on an unsuccessful response from the server
|
125
|
+
def status
|
126
|
+
resp = connection.get do |req|
|
127
|
+
req.url "#{base_path}/status"
|
128
|
+
end
|
129
|
+
raise_exception_based_on_response!(resp, object_identifier) unless resp.success?
|
130
|
+
|
131
|
+
VersionStatus.new(JSON.parse(resp.body).symbolize_keys!)
|
132
|
+
end
|
133
|
+
|
98
134
|
private
|
99
135
|
|
100
136
|
attr_reader :object_identifier
|
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: 14.
|
4
|
+
version: 14.6.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: 2024-03
|
12
|
+
date: 2024-04-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -278,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
278
278
|
- !ruby/object:Gem::Version
|
279
279
|
version: '0'
|
280
280
|
requirements: []
|
281
|
-
rubygems_version: 3.5.
|
281
|
+
rubygems_version: 3.5.7
|
282
282
|
signing_key:
|
283
283
|
specification_version: 4
|
284
284
|
summary: A client for dor-services-app
|