Sha256: 681b601bdbe33a924779ebf0b0122128b1162a9e8748524ddb35691183254ab7

Contents?: true

Size: 540 Bytes

Versions: 63

Compression:

Stored size: 540 Bytes

Contents

module Comee
  module Core
    class AdditionalItem < ApplicationRecord
      before_save { self.total_price = unit_price * quantity }
      after_save { invoice.update_total_price }
      belongs_to :invoice

      validates :description, presence: true
      validates :quantity, :unit_price, presence: true, numericality: {greater_than: 0}

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

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
comee_core-0.3.16 app/models/comee/core/additional_item.rb
comee_core-0.3.15 app/models/comee/core/additional_item.rb
comee_core-0.3.14 app/models/comee/core/additional_item.rb
comee_core-0.3.13 app/models/comee/core/additional_item.rb
comee_core-0.3.12 app/models/comee/core/additional_item.rb
comee_core-0.3.11 app/models/comee/core/additional_item.rb
comee_core-0.3.10 app/models/comee/core/additional_item.rb
comee_core-0.3.9 app/models/comee/core/additional_item.rb
comee_core-0.3.8 app/models/comee/core/additional_item.rb
comee_core-0.3.7 app/models/comee/core/additional_item.rb
comee_core-0.3.6 app/models/comee/core/additional_item.rb
comee_core-0.3.5 app/models/comee/core/additional_item.rb
comee_core-0.3.4 app/models/comee/core/additional_item.rb
comee_core-0.3.3 app/models/comee/core/additional_item.rb
comee_core-0.3.2 app/models/comee/core/additional_item.rb
comee_core-0.3.1 app/models/comee/core/additional_item.rb
comee_core-0.3.0 app/models/comee/core/additional_item.rb
comee_core-0.2.99 app/models/comee/core/additional_item.rb
comee_core-0.2.98 app/models/comee/core/additional_item.rb
comee_core-0.2.97 app/models/comee/core/additional_item.rb