Save display times in the db
All checks were successful
CI / scan_ruby (push) Successful in 17s
CI / scan_js (push) Successful in 11s
CI / lint (push) Successful in 12s
CI / test (push) Successful in 41s

This commit is contained in:
sto
2025-03-26 17:00:06 +01:00
parent c98caeea92
commit a5d165c4b3
14 changed files with 78 additions and 56 deletions

View File

@@ -2,13 +2,15 @@
#
# Table name: completions
#
# id :integer not null, primary key
# time_seconds :integer
# created_at :datetime not null
# updated_at :datetime not null
# contest_id :integer not null
# contestant_id :integer not null
# puzzle_id :integer not null
# id :integer not null, primary key
# display_relative_time :string
# display_time_from_start :string
# time_seconds :integer
# created_at :datetime not null
# updated_at :datetime not null
# contest_id :integer not null
# contestant_id :integer not null
# puzzle_id :integer not null
#
# Indexes
#
@@ -27,8 +29,6 @@ class Completion < ApplicationRecord
belongs_to :contestant
belongs_to :puzzle
attr_accessor :display_time_from_start, :display_relative_time
validates :time_seconds, presence: true
validates_numericality_of :time_seconds
validates :puzzle_id, uniqueness: { scope: :contestant }

View File

@@ -2,12 +2,13 @@
#
# Table name: contestants
#
# id :integer not null, primary key
# email :string
# name :string
# created_at :datetime not null
# updated_at :datetime not null
# contest_id :integer not null
# id :integer not null, primary key
# display_time :string
# email :string
# name :string
# created_at :datetime not null
# updated_at :datetime not null
# contest_id :integer not null
#
# Indexes
#
@@ -19,7 +20,6 @@
#
class Contestant < ApplicationRecord
belongs_to :contest
has_many :completions
validates :name, presence: true