module Ecom module Core class Crew < ApplicationRecord PERMANENT = 'Permanent'.freeze TEMPORARY = 'Temporary'.freeze before_save :set_employment_date, if: proc { |c| c.employment_date.nil? } belongs_to :crew_type has_many :crew_types, class_name: 'Ecom::Core::CrewTime' validates :name, :qualification, presence: true validates :employment, inclusion: [PERMANENT, TEMPORARY] #validates :wage, presence: true, if: ->(o) { o.employment == PERMANENT } #validates :wage, absence: true, if: ->(o) { o.employment == TEMPORARY } def set_employment_date self.employment_date = Date.today end end end end