Sha256: a836bec24ef7e9cc06c23d091e6d00ae89d96f4769fad42cf6eeafaca2bd4ec6

Contents?: true

Size: 888 Bytes

Versions: 3

Compression:

Stored size: 888 Bytes

Contents

module Sis
  module Core
    class Staff < ApplicationRecord
      belongs_to :user, class_name: 'User'
      SINGLE = 'Single'.freeze
      MARRIED = 'Married'.freeze
      MARITAL_STATUS = [SINGLE, MARRIED].freeze
      validates :job_title, :job_level, :department, :date_of_employment, :salary,
                :remark, :mothers_name, :education_level, :phone_number,
                :place_of_birth, :marital_status, :region, :zone, :wereda,
                :kebele, :id_number,
                :emergency_contact_name, :emergency_contact_phone,
                :relation_to_emergency_contact, :user_id,
                presence: true
      validates :salary, numericality: true
      validates :marital_status, inclusion: { in: MARITAL_STATUS }
      validates :id_number, uniqueness: true
      validates :passport_number, uniqueness: true, if: :passport_number?
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sis_core-1.0.5 app/models/sis/core/staff.rb
sis_core-1.0.4 app/models/sis/core/staff.rb
sis_core-1.0.3 app/models/sis/core/staff.rb