blob: 51d6c57ff904bd9d76a8f09f0b3cb26570115e8e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# frozen_string_literal: true
# Product
# public_id:string
# name:string
# unitary_price:float
# bulk_price:float
# picture:attachment
# available_quantity:integer
# categories:text
class Product < ApplicationRecord
belongs_to :company
has_many :product_reviews
has_many :product_carts
has_many :carts, through: :product_carts
has_many :product_orders
has_many :orders, through: :product_orders
validates :name, presence: true
validates :unitary_price, presence: true
validates :unitary_price, comparison: { greater_than: 0 }
validates :bulk_price, presence: true
validates :bulk_price, comparison: { greater_than: 0 }
validates :available_quantity, presence: true
validates :available_quantity, comparison: { greater_than: 0 }
has_one_attached :picture
serialize :categories, Array
def to_param
public_id
end
end
|