Sha256: 792700787fa313d1295475c05a6788cad779903caa67cc0472a230851aec9a6d

Contents?: true

Size: 597 Bytes

Versions: 23

Compression:

Stored size: 597 Bytes

Contents

module Comee
  module Core
    class InvoiceItem < ApplicationRecord
      before_save { self.total_price = unit_price * quantity }
      after_save :update_invoice_price

      belongs_to :shipment_instruction_item
      belongs_to :invoice
      belongs_to :unit

      validates :quantity, :unit_price, presence: true, numericality: {greater_than: 0}
      validates :total_price, numericality: {greater_than_or_equal_to: 0, allow_nil: true}

      def update_invoice_price
        invoice.total_price = invoice.invoice_items.sum(:total_price)
        invoice.save!
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
comee_core-0.2.48 app/models/comee/core/invoice_item.rb
comee_core-0.2.47 app/models/comee/core/invoice_item.rb
comee_core-0.2.46 app/models/comee/core/invoice_item.rb
comee_core-0.2.45 app/models/comee/core/invoice_item.rb
comee_core-0.2.44 app/models/comee/core/invoice_item.rb
comee_core-0.2.43 app/models/comee/core/invoice_item.rb
comee_core-0.2.42 app/models/comee/core/invoice_item.rb
comee_core-0.2.41 app/models/comee/core/invoice_item.rb
comee_core-0.2.40 app/models/comee/core/invoice_item.rb
comee_core-0.2.39 app/models/comee/core/invoice_item.rb
comee_core-0.2.38 app/models/comee/core/invoice_item.rb
comee_core-0.2.37 app/models/comee/core/invoice_item.rb
comee_core-0.2.36 app/models/comee/core/invoice_item.rb
comee_core-0.2.35 app/models/comee/core/invoice_item.rb
comee_core-0.2.34 app/models/comee/core/invoice_item.rb
comee_core-0.2.33 app/models/comee/core/invoice_item.rb
comee_core-0.2.32 app/models/comee/core/invoice_item.rb
comee_core-0.2.31 app/models/comee/core/invoice_item.rb
comee_core-0.2.30 app/models/comee/core/invoice_item.rb
comee_core-0.2.29 app/models/comee/core/invoice_item.rb