class Teneo::DataModel::Concept::Contract
require 'dry/validation/compat/form' require 'dry/types/compat/form_types'
Public Instance Methods
array_of?(type_class, value)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 32 def array_of?(type_class, value) return true if value.nil? value.is_a?(Array) && value.all? {|x| x.is_a?(type_class)} end
exists?(column, value)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 52 def exists?(column, value) !form.model.class.find_by(Hash[column, value]).nil? end
from_with_lower_order?(from_id)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 74 def from_with_lower_order?(from_id) return true if from_id.nil? ref_order = form.model.send(:order) || form.input_params[:order] form.model.class.find_by(id: from_id).send(:order) < ref_order end
is_nil?(value)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 24 def is_nil?(value) value.nil? end
matches_ingest_model?(from_id)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 68 def matches_ingest_model?(from_id) return true if from_id.nil? ref_id = form.model.send(:ingest_model_id) || form.input_params[:ingest_model_id] form.model.class.find_by(id: from_id).send(:ingest_model_id) == ref_id end
matches_inst_code?(model, id)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 60 def matches_inst_code?(model, id) return true if id.nil? ref_id = form.model.send(:organization_id) || form.input_params[:organization_id] ref_code = Teneo::DataModel::Organization.find_by(id: ref_id)[:inst_code] code = model.find_by(id: id)[:inst_code] ref_code == code end
matches_package?(parent_id)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 80 def matches_package?(parent_id) return true if parent_id.nil? ref_id = form.model.send(:package_id) || form.input_params[:package_id] form.model.class.find_by(id: parent_id).send(:package_id) == ref_id end
model_exist?(model, id)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 56 def model_exist?(model, id) !model.find_by(id: id).nil? end
not_nil?(value)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 28 def not_nil?(value) !value.nil? end
unique?(column, value)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 37 def unique?(column, value) return true if form.model.nil? query = form.model.class.where.not(id: form.model.id).find_by(column => value) query.nil? end
unique_scope?(columns, value)
click to toggle source
# File lib/teneo/data_model/concept/contract.rb, line 43 def unique_scope?(columns, value) hash = columns.each_with_object({}) do |column, hash| hash[column] = form.model.send(column) || form.input_params[column] end hash[columns.last] = value query = form.model.class.where.not(id: form.model.id).find_by(hash) query.nil? end