Removed Test object to simplify database schema; updated docker scripts to run database migrations before starting the server if the database doesn't exist
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@ -3,6 +3,6 @@
|
||||
# Benchmark - database model for PC benchmarks
|
||||
class Benchmark < Sequel::Model
|
||||
|
||||
one_to_many :tests
|
||||
one_to_many :results
|
||||
|
||||
end
|
||||
|
@ -3,6 +3,6 @@
|
||||
# Hardware - database model for PC hardware
|
||||
class Hardware < Sequel::Model(:hardware)
|
||||
|
||||
one_to_many :tests
|
||||
one_to_many :results
|
||||
|
||||
end
|
||||
|
@ -3,4 +3,3 @@
|
||||
require_relative 'hardware'
|
||||
require_relative 'benchmark'
|
||||
require_relative 'result'
|
||||
require_relative 'test'
|
||||
|
@ -3,7 +3,8 @@
|
||||
# Result - database model for benchmark results
|
||||
class Result < Sequel::Model
|
||||
|
||||
many_to_one :test
|
||||
many_to_one :hardware
|
||||
many_to_one :benchmarks
|
||||
|
||||
def formatted_score
|
||||
return @score
|
||||
|
@ -1,30 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# Test - database model for PC hardware tests
|
||||
class Test < Sequel::Model
|
||||
|
||||
one_to_many :results # link Test model to its related results
|
||||
many_to_one :benchmark # link Test model back to its benchmark
|
||||
many_to_one :hardware # link Test model back to hardware used in test
|
||||
|
||||
# formats the name of the test for display in the web UI
|
||||
def formatted_name
|
||||
return "#{@date_tag} - #{@hardware.name} / #{@benchmark.name}"
|
||||
end
|
||||
|
||||
# formats the name of the test for use in a graph
|
||||
def graph_name
|
||||
return "#{@hardware.name} (#{@date_tag})"
|
||||
end
|
||||
|
||||
# determines whether the test has enough results to fulfill the requirement
|
||||
def valid?
|
||||
return (@results.length >= $conf.get('testing.minimum_results_required'))
|
||||
end
|
||||
|
||||
# determines how many results are still missing for a test
|
||||
def missing_results
|
||||
return ($conf.get('testing.minimum_results_required') - @results.length)
|
||||
end
|
||||
|
||||
end
|
@ -4,12 +4,10 @@
|
||||
class GameData < Sinatra::Base
|
||||
|
||||
get '/' do
|
||||
tests = Test.reverse(:updated_at).limit(10).all()
|
||||
results = Result.reverse(:updated_at).limit(10).all()
|
||||
|
||||
erb :'index/index', locals: {
|
||||
title: 'Dashboard',
|
||||
tests: tests,
|
||||
results: results
|
||||
}
|
||||
end
|
||||
|
@ -4,4 +4,3 @@ require_relative 'index'
|
||||
require_relative 'hardware'
|
||||
require_relative 'benchmark'
|
||||
require_relative 'result'
|
||||
require_relative 'test'
|
||||
|
@ -1,53 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# /test routes
|
||||
class GameData < Sinatra::Base
|
||||
|
||||
get '/test' do
|
||||
tests = Test.reverse(:updated_at).limit(10).all()
|
||||
|
||||
erb :'test/index', locals: {
|
||||
title: 'List of Tests',
|
||||
tests: tests
|
||||
}
|
||||
end
|
||||
|
||||
get '/test/add' do
|
||||
hardware = Hardware.all()
|
||||
benchmarks = Benchmark.all()
|
||||
|
||||
erb :'test/add', locals: {
|
||||
title: 'Add Test',
|
||||
hardware: hardware,
|
||||
benchmarks: benchmarks
|
||||
}
|
||||
end
|
||||
post '/test/add' do
|
||||
date_tag = params[:test_date_tag]
|
||||
|
||||
# make sure the date tag field is formatting properly
|
||||
date_tag = "(#{date_tag}" unless date_tag.start_with?('(')
|
||||
date_tag += ')' unless date_tag.end_with?(')')
|
||||
|
||||
test = Test.create(
|
||||
date_tag: date_tag,
|
||||
hardware_id: params[:test_hardware]
|
||||
)
|
||||
|
||||
params[:test_benchmarks].each do |b|
|
||||
benchmark = Benchmark.where(id: b).first()
|
||||
test.add_benchmark(benchmark)
|
||||
end
|
||||
|
||||
redirect "/test/#{test.id}"
|
||||
end
|
||||
|
||||
get '/test/:test_id' do
|
||||
test = Test.where(id: params[:test_id]).first()
|
||||
erb :'test/view', locals: {
|
||||
title: "Test: #{test.date_tag}",
|
||||
test: test
|
||||
}
|
||||
end
|
||||
|
||||
end
|
Reference in New Issue
Block a user