class ContractPurchase include Mongoid::Document include Mongoid::Timestamps field :total_amount, type: Integer, :default => 0 belongs_to :request_contract has_many :purchase_receipts def total_amount_recieved self.purchase_receipts.sum(:amount_received) end def total_adjusted_amount self.purchase_receipts.sum(:adjustable_amount) end def cleared? self.total_amount == (self.total_amount_recieved + self.total_adjusted_amount) end end