Sha256: 80a6c80e57a3645c4db3f5772418ec30cdeb3c4e0d5d9bb1ca899316a45c40fb

Contents?: true

Size: 980 Bytes

Versions: 5

Compression:

Stored size: 980 Bytes

Contents

module Comee
  module Core
    class CustomerOrderItem < ApplicationRecord
      before_save :calculate_total_price

      belongs_to :customer_order
      belongs_to :product
      belongs_to :unit

      validates :serial_no, :customer_item_no, :customer_item_description, :quantity, :price, :delivery_date, presence: true
      validates :quantity, :price, numericality: {greater_than_or_equal_to: 0}
      validates :total_price, numericality: {greater_than_or_equal_to: 0}, allow_nil: true
      validates :serial_no, numericality: {greater_than: 0, only_integer: true}

      def calculate_total_price
        self.total_price = (price * quantity).round(2)
      end

      def self.ransackable_attributes(_auth_object = nil)
        %w[id customer_order_id product_id unit_id customer_item_no customer_item_description delivery_date]
      end

      def self.ransackable_associations(_auth_object = nil)
        %w[customer_order product unit]
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
comee_core-0.2.98 app/models/comee/core/customer_order_item.rb
comee_core-0.2.97 app/models/comee/core/customer_order_item.rb
comee_core-0.2.96 app/models/comee/core/customer_order_item.rb
comee_core-0.2.95 app/models/comee/core/customer_order_item.rb
comee_core-0.2.94 app/models/comee/core/customer_order_item.rb