Class: Dor::Workflow::Client::LifecycleRoutes
- Inherits:
-
Object
- Object
- Dor::Workflow::Client::LifecycleRoutes
- Defined in:
- lib/dor/workflow/client/lifecycle_routes.rb
Overview
Makes requests relating to a lifecycle
Instance Method Summary collapse
-
#active_lifecycle(repo, druid, milestone) ⇒ Time
Returns the Date for a requested milestone ONLY FROM THE ACTIVE workflow table.
-
#initialize(requestor:) ⇒ LifecycleRoutes
constructor
A new instance of LifecycleRoutes.
-
#lifecycle(repo, druid, milestone) ⇒ Time
Returns the Date for a requested milestone from workflow lifecycle.
- #milestones(repo, druid) ⇒ Hash
Constructor Details
#initialize(requestor:) ⇒ LifecycleRoutes
Returns a new instance of LifecycleRoutes.
8 9 10 |
# File 'lib/dor/workflow/client/lifecycle_routes.rb', line 8 def initialize(requestor:) @requestor = requestor end |
Instance Method Details
#active_lifecycle(repo, druid, milestone) ⇒ Time
Returns the Date for a requested milestone ONLY FROM THE ACTIVE workflow table
42 43 44 45 46 47 48 |
# File 'lib/dor/workflow/client/lifecycle_routes.rb', line 42 def active_lifecycle(repo, druid, milestone) doc = query_lifecycle(repo, druid, true) milestone = doc.at_xpath("//lifecycle/milestone[text() = '#{milestone}']") return Time.parse(milestone['date']) if milestone nil end |
#lifecycle(repo, druid, milestone) ⇒ Time
Returns the Date for a requested milestone from workflow lifecycle
23 24 25 26 27 28 29 |
# File 'lib/dor/workflow/client/lifecycle_routes.rb', line 23 def lifecycle(repo, druid, milestone) doc = query_lifecycle(repo, druid) milestone = doc.at_xpath("//lifecycle/milestone[text() = '#{milestone}']") return Time.parse(milestone['date']) if milestone nil end |
#milestones(repo, druid) ⇒ Hash
51 52 53 54 55 56 |
# File 'lib/dor/workflow/client/lifecycle_routes.rb', line 51 def milestones(repo, druid) doc = query_lifecycle(repo, druid) doc.xpath('//lifecycle/milestone').collect do |node| { milestone: node.text, at: Time.parse(node['date']), version: node['version'] } end end |