Manuel Bustillo
e20a366410
All checks were successful
Check usage of free licenses / check-licenses (pull_request) Successful in 56s
Add copyright notice / copyright_notice (pull_request) Successful in 1m36s
Run unit tests / unit_tests (pull_request) Successful in 3m56s
Build Nginx-based docker image / build-static-assets (pull_request) Successful in 28m26s
35 lines
856 B
Ruby
35 lines
856 B
Ruby
# Copyright (C) 2024-2025 LibreWeddingPlanner contributors
|
|
|
|
# frozen_string_literal: true
|
|
|
|
# == Schema Information
|
|
#
|
|
# Table name: expenses
|
|
#
|
|
# id :uuid not null, primary key
|
|
# amount :decimal(, )
|
|
# name :string
|
|
# pricing_type :enum default("fixed"), not null
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
# wedding_id :uuid not null
|
|
#
|
|
# Indexes
|
|
#
|
|
# index_expenses_on_wedding_id (wedding_id)
|
|
#
|
|
# Foreign Keys
|
|
#
|
|
# fk_rails_... (wedding_id => weddings.id)
|
|
#
|
|
class Expense < ApplicationRecord
|
|
acts_as_tenant :wedding
|
|
enum :pricing_type,
|
|
fixed: 'fixed',
|
|
per_person: 'per_person'
|
|
|
|
validates :name, presence: true
|
|
validates :amount, presence: true, numericality: { greater_than: 0 }
|
|
validates :pricing_type, presence: true
|
|
end
|