X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a2afe9905bbd23015b41b2ac414a9b315700a151..defeccdc58d82965f832a4dd3257a6abc57f79b7:/apps/explorer/app/models/pipeline_instance.rb?ds=inline diff --git a/apps/explorer/app/models/pipeline_instance.rb b/apps/explorer/app/models/pipeline_instance.rb new file mode 100644 index 0000000000..7fe88c62a8 --- /dev/null +++ b/apps/explorer/app/models/pipeline_instance.rb @@ -0,0 +1,19 @@ +class PipelineInstance < OrvosBase + attr_accessor :pipeline_template + + def update_job_parameters(new_params) + self.components[:steps].each_with_index do |step, i| + step[:params].each do |param| + if new_params.has_key?(new_param_name = "#{i}/#{param[:name]}") or + new_params.has_key?(new_param_name = "#{step[:name]}/#{param[:name]}") or + new_params.has_key?(new_param_name = param[:name]) + param_type = :value + %w(hash data_locator).collect(&:to_sym).each do |ptype| + param_type = ptype if param.has_key? ptype + end + param[param_type] = new_params[new_param_name] + end + end + end + end +end