Added API routes to provide some information for JS; added CoffeeScript to grab benchmark results for a test

This commit is contained in:
2025-06-19 00:38:36 -04:00
parent d17b66920a
commit 8cd47d7e70
8 changed files with 96 additions and 16 deletions

23
src/routes/api1.rb Normal file
View File

@ -0,0 +1,23 @@
# frozen_string_literal: true
# /api/v1 routes
class GameData < Sinatra::Base
get '/api/v1/benchmark/details' do
benchmark_id = params[:benchmark_id]
benchmark = Benchmark.where(id: benchmark_id).first()
json benchmark.values()
end
get '/api/v1/results' do
test_id = params[:test_id]
benchmark_id = params[:benchmark_id]
results = Result.where(test_id: test_id, benchmark_id: benchmark_id).all()
json results.map(&:values)
end
end

View File

@ -6,3 +6,5 @@ require_relative 'benchmark'
require_relative 'result'
require_relative 'reports'
require_relative 'test'
require_relative 'api1'

View File

@ -27,7 +27,7 @@ class GameData < Sinatra::Base
result_maximum = params[:result_maximum] if params.key?(:result_maximum)
Result.create(
hardware_id: params[:result_hardware],
test_id: params[:result_test],
benchmark_id: params[:result_benchmark],
avg_score: params[:result_average],
min_score: result_minimum,
@ -35,8 +35,8 @@ class GameData < Sinatra::Base
)
if params.key?(:result_referrer)
if params[:result_referrer] == 'hardware'
redirect "/hardware/#{params[:result_hardware]}"
if params[:result_referrer] == 'test'
redirect "/test/#{params[:result_test]}"
elsif params[:result_referrer] == 'benchmark'
redirect "/benchmark/#{params[:result_benchmark]}"
end

View File

@ -40,11 +40,9 @@ class GameData < Sinatra::Base
get '/test/:test_id' do
tst = Test.where(id: params[:test_id]).first()
benchmarks = Benchmark.order(:name).all()
erb :'test/view', locals: {
title: tst.name,
test: tst,
benchmarks: benchmarks
test: tst
}
end