Sha256: 589d22330241f9146c47c9ecb59c3a312c150b8626e8476911eb6eb0a6811890

Contents?: true

Size: 619 Bytes

Versions: 2

Compression:

Stored size: 619 Bytes

Contents

module Ecom
  module Core
    class CrewOvertime < ApplicationRecord
      belongs_to :overtime_type
      belongs_to :overtime_sheet_entry
      belongs_to :revision_to, class_name: 'Ecom::Core::CrewOvertime', optional: true
      belongs_to :created_by, class_name: 'Ecom::Core::User'

      has_one :revision, class_name: 'Ecom::Core::CrewOvertime', foreign_key: :revision_to_id

      validates :hours, :raw_hours, presence: true

      before_save :calculate_hours

      def calculate_hours
        rate = OvertimeType.find(overtime_type_id).rate
        self.hours = raw_hours * rate
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ecom_core-1.2.7 app/models/ecom/core/crew_overtime.rb
ecom_core-1.2.6 app/models/ecom/core/crew_overtime.rb