dor-workflow-service 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -275,6 +275,19 @@ module Dor
275
275
  dor_services[url].post ''
276
276
  end
277
277
 
278
+ # Calls the versionClose endpoint of the WorkflowService:
279
+ # - completes the versioningWF:submit-version and versioningWF:start-accession steps
280
+ # - initiates accesssionWF
281
+ # @param [String] repo The repository the object resides in. The service recoginzes "dor" and "sdr" at the moment
282
+ # @param [String] druid The id of the object to delete the workflow from
283
+ # @param [Boolean] create_accession_wf Option to create accessionWF when closing a version. Defaults to true
284
+ def close_version(repo, druid, create_accession_wf = true)
285
+ uri = "#{repo}/objects/#{druid}/versionClose"
286
+ uri << "?create-accession=false" if(!create_accession_wf)
287
+ workflow_resource[uri].post ''
288
+ return true
289
+ end
290
+
278
291
  def workflow_resource
279
292
  raise "Please call Dor::WorkflowService.configure(url) once before calling any WorkflowService methods" if(@@resource.nil?)
280
293
  @@resource
@@ -1,7 +1,7 @@
1
1
  module Dor
2
2
  module Workflow
3
3
  module Service
4
- VERSION = "1.4.1"
4
+ VERSION = "1.5.0"
5
5
  end
6
6
  end
7
7
  end
@@ -261,4 +261,18 @@ describe Dor::WorkflowService do
261
261
  end
262
262
  end
263
263
 
264
+ describe "#close_version" do
265
+ it "calls the versionClose endpoint with druid" do
266
+ @mock_resource.should_receive(:[]).with("dor/objects/druid:123/versionClose").and_return(@mock_resource)
267
+ @mock_resource.should_receive(:post).with('').and_return('')
268
+ Dor::WorkflowService.close_version(@repo, @druid)
269
+ end
270
+
271
+ it "optionally prevents creation of accessionWF" do
272
+ @mock_resource.should_receive(:[]).with("dor/objects/druid:123/versionClose?create-accession=false").and_return(@mock_resource)
273
+ @mock_resource.should_receive(:post).with('').and_return('')
274
+ Dor::WorkflowService.close_version(@repo, @druid, false)
275
+ end
276
+ end
277
+
264
278
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dor-workflow-service
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-16 00:00:00.000000000 Z
12
+ date: 2014-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport