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