# Copyright (C) 2024 Manuel Bustillo # == Schema Information # # Table name: guests # # id :uuid not null, primary key # name :string # phone :string # status :integer default("considered") # created_at :datetime not null # updated_at :datetime not null # group_id :uuid not null # # Indexes # # index_guests_on_group_id (group_id) # # Foreign Keys # # fk_rails_... (group_id => groups.id) # class Guest < ApplicationRecord belongs_to :group enum :status, { considered: 0, invited: 10, confirmed: 20, declined: 30, tentative: 40 }, validate: true validates :name, presence: true scope :potential, -> { where.not(status: %i[declined considered]) } end