Manuel Bustillo
a5d3062654
Some checks failed
Run unit tests / rubocop (pull_request) Successful in 48s
Run unit tests / check-licenses (pull_request) Successful in 55s
Run unit tests / copyright_notice (pull_request) Successful in 1m16s
Run unit tests / unit_tests (pull_request) Failing after 3m39s
Run unit tests / build-static-assets (pull_request) Has been skipped
35 lines
877 B
Ruby
35 lines
877 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) ON DELETE => cascade
|
|
#
|
|
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
|