1 class Workflow < ArvadosModel
4 include CommonApiTemplate
6 validate :validate_workflow
7 after_save :set_name_and_description
9 api_accessible :user, extend: :common do |t|
17 @workflow_yaml = YAML.load self.workflow if !workflow.blank?
19 errors.add :validate_workflow, "#{self.workflow} is not valid yaml"
23 def set_name_and_description
26 old_wf = YAML.load self.workflow_was if !self.workflow_was.blank?
27 changes = self.changes
29 ['name', 'description'].each do |a|
30 if !changes.include?(a)
31 v = self.read_attribute(a)
32 if !v.present? or v == old_wf[a]
33 self[a] = @workflow_yaml[a]
38 errors.add :set_name_and_description, "#{e.message}"