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
 |