module Comee module Core class CustomerOrderItem < ApplicationRecord before_save :calculate_total_price, unless: proc { |item| item.total_price } belongs_to :customer_order belongs_to :product belongs_to :unit validates :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 def calculate_total_price self.total_price = price * quantity 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