Some improvements
Some checks are pending
CI / scan_ruby (push) Waiting to run
CI / scan_js (push) Waiting to run
CI / lint (push) Waiting to run
CI / test (push) Waiting to run

This commit is contained in:
sto
2025-03-20 16:14:48 +01:00
parent a03907f756
commit ea7cdcf608
6 changed files with 51 additions and 13 deletions

View File

@@ -4,7 +4,7 @@ class ContestantsController < ApplicationController
before_action :set_completions, only: %i[edit update ]
def edit
@title = "Edit contestant"
@title = "Contestant"
end
def new
@@ -27,7 +27,7 @@ class ContestantsController < ApplicationController
if @contestant.update(contestant_params)
redirect_to @contest
else
@title = "Edit contestant"
@title = "Contestant"
render :edit, status: :unprocessable_entity
end
end
@@ -47,8 +47,32 @@ class ContestantsController < ApplicationController
@contestant = Contestant.find(params[:id])
end
def pad(n)
if n > 9
return n.to_s
end
"0" + n.to_s
end
def display_time(seconds)
if seconds > 3600
hours = seconds / 3600
return hours.to_s + ":" + display_time(seconds % 3600)
elsif seconds > 60
minutes = seconds / 60
return pad(minutes) + ":" + display_time(seconds % 60)
end
pad(seconds)
end
def set_completions
@completions = @contestant.completions
@completions = @contestant.completions.order(:time_seconds)
current_time_from_start = 0
@completions.each do |completion|
completion.display_time_from_start = display_time(completion.time_seconds)
completion.display_relative_time = display_time(completion.time_seconds - current_time_from_start)
current_time_from_start += completion.time_seconds
end
end
def contestant_params

View File

@@ -8,8 +8,8 @@ class ContestsController < ApplicationController
def show
@title = @contest.name
@contestants = @contest.contestants
@puzzles = @contest.puzzles
@contestants = @contest.contestants.order(:name)
@puzzles = @contest.puzzles.order(:id)
set_badges
end