Skip to content
A Ruby client for connecting with the DOR Workflow REST Service
Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib/dor
spec
.gitignore
.rspec
.rubocop.yml
.rubocop_todo.yml
.travis.yml
.yardopts
Gemfile
LICENSE.txt
README.md
Rakefile
dor-workflow-client.gemspec

README.md

Build Status Test Coverage Maintainability Gem Version

dor-workflow-client gem

A Ruby client to work with the DOR Workflow REST Service. The REST API is defined here: https://consul.stanford.edu/display/DOR/DOR+services#DORservices-initializeworkflow

Usage

You should initialize a Dor::Workflow::Client object in your application configuration, i.e. in a bootup or startup method like:

client = Dor::Workflow::Client.new(url: 'https://test-server.edu/workflow/')

Consumers of recent versions of the dor-services gem can access the configured Dor::Workflow::Client object via Dor::Config.

API

Rubydoc

Example usage

Create a workflow

client.create_workflow_by_name('druid:bc123df4567', 'etdSubmitWF')

Update a workflow step's status

client.update_status(druid: 'druid:bc123df4567',
                     workflow: 'etdSubmitWF',
                     process: 'registrar-approval',
                     status: 'completed')

Show "milestones" for an object

client.milestones('dor', 'druid:gv054hp4128')
#=> [{version: '1', milestone: 'published'}]

List workflow templates

client.workflow_templates

Show a workflow template

client.workflow_template('etdSubmitWF')

Underlying Clients

This gem currently uses the Faraday HTTP client to access the back-end service. The clients be accessed directly from your Dor::Workflow::Client object:

wfs.connection # the Faraday object

Or for advanced configurations, ONE of them (not both) can be passed to the constructor instead of the raw URL string:

conn = Faraday.new(:url => 'http://sushi.com') do |faraday|
  faraday.request  :url_encoded             # form-encode POST params
  faraday.response :logger                  # log requests to STDOUT
  faraday.adapter  Faraday.default_adapter  # make requests with Net::HTTP
end
wfs = Dor::Workflow::Client.new(connection: conn)
You can’t perform that action at this time.