osem-fcy/app/models/difficulty_level.rb
2021-02-20 09:57:27 -08:00

36 lines
757 B
Ruby

# frozen_string_literal: true
# == Schema Information
#
# Table name: difficulty_levels
#
# id :bigint not null, primary key
# color :string
# description :text
# title :string
# created_at :datetime
# updated_at :datetime
# program_id :integer
#
class DifficultyLevel < ApplicationRecord
belongs_to :program, touch: true
has_many :events, dependent: :nullify
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
validates :title, presence: true
validates :color, format: /\A#[0-9A-F]{6}\z/
before_validation :capitalize_color
private
def capitalize_color
self.color = color.upcase if color.present?
end
def conference_id
program.conference_id
end
end