osem-fcy/app/models/resource.rb

26 lines
709 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2021-02-20 09:57:27 -08:00
# == Schema Information
#
# Table name: resources
#
# id :bigint not null, primary key
# description :text
# name :string
# quantity :integer
# used :integer default(0)
# conference_id :integer
#
class Resource < ApplicationRecord
belongs_to :conference
validates :name, :used, :quantity, presence: true
validates :used, :quantity, numericality: { greater_than_or_equal_to: 0, only_integer: true }
validate :used_no_more_than_quantity
private
def used_no_more_than_quantity
errors.add(:used, 'cannot be higher than total quantity') if used.present? && quantity.present? && used > quantity
end
end