dor-workflow-client 3.9.0 → 3.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +26 -1
- data/lib/dor/workflow/client/version.rb +1 -1
- data/lib/dor/workflow/client.rb +9 -1
- data/spec/workflow/client_spec.rb +23 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 357ae42f561bd2a83ecd8250dc767b3426c0817d651fe38da5c81879d8bfbfc4
|
4
|
+
data.tar.gz: a6696a3639a6eaea0aa37b101d752f89a70104027f68473852e3a0f35432c1a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf907f6f4995caa88e19e06f0bf39e3a7ba54ce8515c106b69fc39c31f365d55de4de20afc673f9827f3264eeedb0dab8a804783853f6da3d9f025c0c9ac6bc4
|
7
|
+
data.tar.gz: e135d69b3ab60c5518f58524f1aee09a086d54277a02f7e344e8028e9b47d0ce79b015a94a852f4b3ee039770a3a57488511029239c0890942348613e3bdb56d
|
data/README.md
CHANGED
@@ -13,11 +13,36 @@ https://consul.stanford.edu/display/DOR/DOR+services#DORservices-initializeworkf
|
|
13
13
|
You should initialize a `Dor::Workflow::Client` object in your application configuration, i.e. in a bootup or startup method like:
|
14
14
|
|
15
15
|
```ruby
|
16
|
-
|
16
|
+
client = Dor::Workflow::Client.new(url: 'https://test-server.edu/workflow/')
|
17
17
|
```
|
18
18
|
|
19
19
|
Consumers of recent versions of the [dor-services](https://github.com/sul-dlss/dor-services) gem can access the configured `Dor::Workflow::Client` object via `Dor::Config`.
|
20
20
|
|
21
|
+
## API
|
22
|
+
|
23
|
+
Create a workflow
|
24
|
+
```
|
25
|
+
client.create_workflow_by_name('druid:bc123df4567', 'etdSubmitWF')
|
26
|
+
```
|
27
|
+
|
28
|
+
Update a workflow step's status
|
29
|
+
```
|
30
|
+
client.update_status(druid: 'druid:bc123df4567',
|
31
|
+
workflow: 'etdSubmitWF',
|
32
|
+
process: 'registrar-approval',
|
33
|
+
status: 'completed')
|
34
|
+
```
|
35
|
+
|
36
|
+
List workflow templates
|
37
|
+
```
|
38
|
+
client.workflow_templates
|
39
|
+
```
|
40
|
+
|
41
|
+
Show a workflow template
|
42
|
+
```
|
43
|
+
client.workflow_template('etdSubmitWF')
|
44
|
+
```
|
45
|
+
|
21
46
|
## Underlying Clients
|
22
47
|
|
23
48
|
This gem currently uses the [Faraday](https://github.com/lostisland/faraday) HTTP client to access the back-end service. The clients be accessed directly from your `Dor::Workflow::Client` object:
|
data/lib/dor/workflow/client.rb
CHANGED
@@ -70,7 +70,15 @@ module Dor
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def workflow_template(name)
|
73
|
-
|
73
|
+
templates.retrieve(name)
|
74
|
+
end
|
75
|
+
|
76
|
+
def workflow_templates
|
77
|
+
templates.all
|
78
|
+
end
|
79
|
+
|
80
|
+
def templates
|
81
|
+
WorkflowTemplate.new(requestor: requestor)
|
74
82
|
end
|
75
83
|
|
76
84
|
private
|
@@ -207,6 +207,29 @@ RSpec.describe Dor::Workflow::Client do
|
|
207
207
|
end
|
208
208
|
end
|
209
209
|
|
210
|
+
describe '#workflow_templates' do
|
211
|
+
subject(:workflow_templates) { client.workflow_templates }
|
212
|
+
|
213
|
+
let(:workflow_template_client) { instance_double Dor::Workflow::Client::WorkflowTemplate, all: 'data' }
|
214
|
+
|
215
|
+
before do
|
216
|
+
allow(Dor::Workflow::Client::WorkflowTemplate).to receive(:new).and_return(workflow_template_client)
|
217
|
+
end
|
218
|
+
|
219
|
+
it 'delegates to the client' do
|
220
|
+
expect(workflow_templates).to eq 'data'
|
221
|
+
expect(workflow_template_client).to have_received(:all)
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
describe '#templates' do
|
226
|
+
subject(:templates) { client.templates }
|
227
|
+
|
228
|
+
it 'returns the template client' do
|
229
|
+
expect(templates).to be_instance_of Dor::Workflow::Client::WorkflowTemplate
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
210
233
|
describe '#workflow_status' do
|
211
234
|
let(:repo) { @repo }
|
212
235
|
let(:druid) { @druid }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dor-workflow-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Willy Mene
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-09-
|
12
|
+
date: 2019-09-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|