class WfsRails::WorkflowParser
Parsing Workflow creation request
Attributes
druid[R]
repository[R]
xml_request[R]
Public Class Methods
new(request_body, druid, repository)
click to toggle source
@param [String] request_body @param [String] druid @param [String] repository
# File lib/wfs_rails/workflow_parser.rb, line 11 def initialize(request_body, druid, repository) @xml_request = Nokogiri::XML(request_body) @druid = druid @repository = repository end
Public Instance Methods
create_workflows()
click to toggle source
@return [Array]
# File lib/wfs_rails/workflow_parser.rb, line 19 def create_workflows processes.map do |process| Workflow.create(datastream: workflow_id, druid: druid, process: process.name, status: process.status, lane_id: process.lane_id, repository: repository, lifecycle: process.lifecycle ) end end
Private Instance Methods
processes()
click to toggle source
# File lib/wfs_rails/workflow_parser.rb, line 38 def processes workflow.xpath('//process').map do |process| ProcessParser.new(process) end end
workflow()
click to toggle source
# File lib/wfs_rails/workflow_parser.rb, line 34 def workflow xml_request.xpath('//workflow') end
workflow_id()
click to toggle source
# File lib/wfs_rails/workflow_parser.rb, line 44 def workflow_id workflow.attr('id') end