Sha256: aa4c09efca661286c8d400c7af092f99b28edd19effc771ef91e03fe5ff6eee1

Contents?: true

Size: 973 Bytes

Versions: 1

Compression:

Stored size: 973 Bytes

Contents

class Unico::Material < Unico::Model
  extend EnumerateIt

  self.abstract_class = true
  self.table_name = :unico_materials

  attr_modal :description, :material_classification

  attr_writer :autocomplete_material_class

  has_enumeration_for :material_classification, with: MaterialClassificationType,
                                                create_helpers: true, create_scopes: true

  belongs_to :material_class, class_name: '::MaterialClass'
  belongs_to :reference_unit, class_name: '::ReferenceUnit'

  validates :material_class, :reference_unit, :material_classification, :detailed_description, presence: true
  validates :code, :description, presence: true, uniqueness: { allow_blank: true }
  validates :control_amount, inclusion: { in: [true, false] }

  orderize :description
  filterize

  def to_s
    "#{code} - #{description}"
  end

  def autocomplete_material_class
    return '' unless material_class.present?

    material_class.to_s
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
unico-training-7.8.0 app/models/unico/material.rb