Sha256: 3293848a1aabf49f1d3a707e6ba9dbc949a8cd58729f380e92bdb1dde859e923
Contents?: true
Size: 997 Bytes
Versions: 1
Compression:
Stored size: 997 Bytes
Contents
class Unico::SimilarityControlItem < Unico::Model self.abstract_class = true self.table_name = :unico_similarity_control_items belongs_to :similarity_control validates :similarity_control_id, :field_id, :field_description, :code, presence: true delegate :scope_column1, :scope_column2, :reference_column, to: :similarity_control, allow_nil: true orderize :id def scope_value1 find_relation(scope_column1, read_attribute(:scope_value1)).to_s end def scope_value2 find_relation(scope_column2, read_attribute(:scope_value2)).to_s end def extra_info record = find_relation(reference_column, field_id) if record.respond_to?(:neighborhoods) record.neighborhoods.map(&:to_s).to_sentence end end def show_at_report? principal? || agglutinate? end private def find_relation(column, value) return value unless column.ends_with?('_id') relation = column.gsub('_id', '') relation.classify.constantize.find(value) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
unico-training-7.8.0 | app/models/unico/similarity_control_item.rb |