Class: LyberCore::Workflow
- Inherits:
-
Object
- Object
- LyberCore::Workflow
- Defined in:
- lib/lyber_core/workflow.rb
Overview
This encapsulates the workflow operations that lyber-core does
Instance Attribute Summary collapse
-
#object_client ⇒ Object
readonly
Returns the value of attribute object_client.
-
#process ⇒ Object
readonly
Returns the value of attribute process.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
-
#workflow_name ⇒ Object
readonly
Returns the value of attribute workflow_name.
Instance Method Summary collapse
- #complete!(status, elapsed, note) ⇒ Object
- #error!(error_msg, error_text) ⇒ Object
-
#initialize(object_client:, workflow_name:, process:, version:) ⇒ Workflow
constructor
A new instance of Workflow.
-
#object_workflow ⇒ Dor::Services::Client::ObjectWorkflow
For druid/workflow/step on which this instance was initialized.
-
#process_response ⇒ Dor::Services::Response::Process
For druid/workflow/step on which this instance was initialized.
- #retrying! ⇒ Object
- #skip!(note) ⇒ Object
- #start!(note) ⇒ Object
-
#workflow_process ⇒ Dor::Services::Client::Process
For druid/workflow/step on which this instance was initialized.
-
#workflow_response ⇒ Dor::Services::Response::Workflow
For druid/workflow/step on which this instance was initialized.
Constructor Details
#initialize(object_client:, workflow_name:, process:, version:) ⇒ Workflow
Returns a new instance of Workflow.
6 7 8 9 10 11 |
# File 'lib/lyber_core/workflow.rb', line 6 def initialize(object_client:, workflow_name:, process:, version:) @object_client = object_client @workflow_name = workflow_name @process = process @version = version end |
Instance Attribute Details
#object_client ⇒ Object (readonly)
Returns the value of attribute object_client.
55 56 57 |
# File 'lib/lyber_core/workflow.rb', line 55 def object_client @object_client end |
#process ⇒ Object (readonly)
Returns the value of attribute process.
55 56 57 |
# File 'lib/lyber_core/workflow.rb', line 55 def process @process end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
55 56 57 |
# File 'lib/lyber_core/workflow.rb', line 55 def version @version end |
#workflow_name ⇒ Object (readonly)
Returns the value of attribute workflow_name.
55 56 57 |
# File 'lib/lyber_core/workflow.rb', line 55 def workflow_name @workflow_name end |
Instance Method Details
#complete!(status, elapsed, note) ⇒ Object
37 38 39 |
# File 'lib/lyber_core/workflow.rb', line 37 def complete!(status, elapsed, note) workflow_process.update(status:, elapsed:, note:, version:) end |
#error!(error_msg, error_text) ⇒ Object
49 50 51 |
# File 'lib/lyber_core/workflow.rb', line 49 def error!(error_msg, error_text) workflow_process.update_error(error_msg:, error_text:, version:) end |
#object_workflow ⇒ Dor::Services::Client::ObjectWorkflow
Returns for druid/workflow/step on which this instance was initialized.
14 15 16 |
# File 'lib/lyber_core/workflow.rb', line 14 def object_workflow @object_workflow ||= object_client.workflow(workflow_name) end |
#process_response ⇒ Dor::Services::Response::Process
Returns for druid/workflow/step on which this instance was initialized.
29 30 31 |
# File 'lib/lyber_core/workflow.rb', line 29 def process_response @process_response ||= workflow_response.process_for_recent_version(name: process) end |
#retrying! ⇒ Object
41 42 43 |
# File 'lib/lyber_core/workflow.rb', line 41 def workflow_process.update(status: 'retrying', elapsed: 1.0, note: nil, version:) end |
#skip!(note) ⇒ Object
45 46 47 |
# File 'lib/lyber_core/workflow.rb', line 45 def skip!(note) workflow_process.update(status: 'skipped', elapsed: 0, note:, version:) end |
#start!(note) ⇒ Object
33 34 35 |
# File 'lib/lyber_core/workflow.rb', line 33 def start!(note) workflow_process.update(status: 'started', elapsed: 1.0, note:, version:) end |
#workflow_process ⇒ Dor::Services::Client::Process
Returns for druid/workflow/step on which this instance was initialized.
19 20 21 |
# File 'lib/lyber_core/workflow.rb', line 19 def workflow_process @workflow_process ||= object_workflow.process(process) end |
#workflow_response ⇒ Dor::Services::Response::Workflow
Returns for druid/workflow/step on which this instance was initialized.
24 25 26 |
# File 'lib/lyber_core/workflow.rb', line 24 def workflow_response @workflow_response ||= object_workflow.find end |