1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00
fab-manager/app/models/product.rb

27 lines
907 B
Ruby
Raw Normal View History

2022-07-22 18:48:28 +02:00
# frozen_string_literal: true
2022-08-23 11:19:07 +02:00
# Product is a model for the merchandise.
# It holds data of products in the store
2022-07-13 15:06:46 +02:00
class Product < ApplicationRecord
2022-08-16 18:53:11 +02:00
extend FriendlyId
friendly_id :name, use: :slugged
2022-07-13 15:06:46 +02:00
belongs_to :product_category
2022-07-22 18:48:28 +02:00
has_and_belongs_to_many :machines
2022-08-02 19:47:56 +02:00
has_many :product_files, as: :viewable, dependent: :destroy
accepts_nested_attributes_for :product_files, allow_destroy: true, reject_if: :all_blank
has_many :product_images, as: :viewable, dependent: :destroy
accepts_nested_attributes_for :product_images, allow_destroy: true, reject_if: :all_blank
2022-08-05 15:25:51 +02:00
has_many :product_stock_movements, dependent: :destroy
accepts_nested_attributes_for :product_stock_movements, allow_destroy: true, reject_if: :all_blank
2022-08-16 18:53:11 +02:00
validates :name, :slug, presence: true
2022-08-05 15:25:51 +02:00
validates :amount, numericality: { greater_than: 0, allow_nil: true }
scope :active, -> { where(is_active: true) }
2022-07-13 15:06:46 +02:00
end