class Teneo::DataModel::ConversionTask
noinspection RailsParamDefResolve
Public Class Methods
from_hash(hash, id_tags = [:conversion_workflow_id, :name])
click to toggle source
Calls superclass method
Teneo::DataModel::Base::from_hash
# File lib/teneo/data_model/conversion_task.rb, line 28 def self.from_hash(hash, id_tags = [:conversion_workflow_id, :name]) workflow_name = hash.delete(:conversion_workflow) query = workflow_name ? {name: workflow_name} : {id: hash[:conversion_workflow_id]} conversion_workflow = record_finder Teneo::DataModel::ConversionWorkflow, query hash[:conversion_workflow_id] = conversion_workflow.id params = hash.delete(:values) item = super(hash, id_tags) do |item, h| item.position = (position = h.delete(:position)) ? position : item.position = item.conversion_workflow.conversion_tasks.count if (converter = h.delete(:converter)) item.converter = record_finder Teneo::DataModel::Converter, name: converter end end if params item.parameter_values.clear params.each do |name, value| item.parameter_values << Teneo::DataModel::ParameterValue.from_hash(name: name, value: value, with_values_id: item.id, with_values_type: item.class.name) end item.save! end item end
Public Instance Methods
init_position()
click to toggle source
# File lib/teneo/data_model/conversion_task.rb, line 23 def init_position # noinspection RubyResolve self.position ||= self.class.where(conversion_workflow_id: conversion_workflow_id).pluck(:position).max + 1 end