From 291db231d5d8ccba7a5a8d5cd1eac1db79ca6792 Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Wed, 5 Jul 2023 22:08:37 -0400 Subject: [PATCH] Added functionality to add new hardware and benchmarks to tie to results (this may be moved to an admin panel later) --- src/routes/benchmark.rb | 25 +++++++++++++++++++++++ src/routes/hardware.rb | 24 ++++++++++++++++++++++ src/routes/init.rb | 2 ++ views/benchmark/add.erb | 37 ++++++++++++++++++++++++++++++++++ views/benchmark/index.erb | 42 +++++++++++++++++++++++++++++++++++++++ views/hardware/add.erb | 32 +++++++++++++++++++++++++++++ views/hardware/index.erb | 42 +++++++++++++++++++++++++++++++++++++++ views/partials/navbar.erb | 6 +++--- 8 files changed, 207 insertions(+), 3 deletions(-) create mode 100644 src/routes/benchmark.rb create mode 100644 src/routes/hardware.rb create mode 100644 views/benchmark/add.erb create mode 100644 views/benchmark/index.erb create mode 100644 views/hardware/add.erb create mode 100644 views/hardware/index.erb diff --git a/src/routes/benchmark.rb b/src/routes/benchmark.rb new file mode 100644 index 0000000..2138e81 --- /dev/null +++ b/src/routes/benchmark.rb @@ -0,0 +1,25 @@ +class GameData < Sinatra::Base + get '/benchmark' do + benchmarks = Benchmark.reverse(:updated_at).limit(10).all() + + erb :'benchmark/index', locals: { + title: 'List of Benchmarks', + benchmarks: benchmarks + } + end + + get '/benchmark/add' do + erb :'benchmark/add', locals: { + title: 'Add Benchmark' + } + end + post '/benchmark/add' do + benchmark = Benchmark.create( + name: params[:benchmark_name], + scoring: params[:benchmark_scoring], + description: params[:benchmark_description] + ) + + redirect "/benchmark" + end +end diff --git a/src/routes/hardware.rb b/src/routes/hardware.rb new file mode 100644 index 0000000..c2b1424 --- /dev/null +++ b/src/routes/hardware.rb @@ -0,0 +1,24 @@ +class GameData < Sinatra::Base + get '/hardware' do + hardware = Hardware.reverse(:updated_at).limit(10).all() + + erb :'hardware/index', locals: { + title: 'List of Hardware', + hardware: hardware + } + end + + get '/hardware/add' do + erb :'hardware/add', locals: { + title: 'Add Hardware' + } + end + post '/hardware/add' do + hardware = Hardware.create( + name: params[:hardware_name], + type: params[:hardware_type] + ) + + redirect "/hardware" + end +end diff --git a/src/routes/init.rb b/src/routes/init.rb index 5e9ed2d..04b8e8f 100644 --- a/src/routes/init.rb +++ b/src/routes/init.rb @@ -1 +1,3 @@ require_relative 'index' +require_relative 'hardware' +require_relative 'benchmark' diff --git a/views/benchmark/add.erb b/views/benchmark/add.erb new file mode 100644 index 0000000..719a1c5 --- /dev/null +++ b/views/benchmark/add.erb @@ -0,0 +1,37 @@ +
+
+

Add new benchmark

+
+
+ +
+ +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ + +
+ +
diff --git a/views/benchmark/index.erb b/views/benchmark/index.erb new file mode 100644 index 0000000..4fcc741 --- /dev/null +++ b/views/benchmark/index.erb @@ -0,0 +1,42 @@ +
+
+

List of benchmarks

+
+ + +
+ +
+ <% if benchmarks.length > 0 %> +
+ + + + + + + + + + + <% benchmarks.each do |b| %> + + + + + + + <% end %> + +
Benchmark nameScoring typeDate addedDate modified
<%= b.name %><%= b.scoring %><%= b.created_at %><%= b.updated_at %>
+
+ <% else %> +
+

I'm sorry, there doesn't appear to be any benchmarks added yet. Check again later!

+
+ <% end %> +
diff --git a/views/hardware/add.erb b/views/hardware/add.erb new file mode 100644 index 0000000..f56415f --- /dev/null +++ b/views/hardware/add.erb @@ -0,0 +1,32 @@ +
+
+

Add new hardware

+
+
+ +
+ +
+
+
+ +
+ +
+ +
+
+ + +
+ +
diff --git a/views/hardware/index.erb b/views/hardware/index.erb new file mode 100644 index 0000000..f06b333 --- /dev/null +++ b/views/hardware/index.erb @@ -0,0 +1,42 @@ +
+
+

List of hardware

+
+ + +
+ +
+ <% if hardware.length > 0 %> +
+ + + + + + + + + + + <% hardware.each do |h| %> + + + + + + + <% end %> + +
Hardware nameTypeDate addedDate modified
<%= h.name %><%= h.type %><%= h.created_at %><%= h.updated_at %>
+
+ <% else %> +
+

I'm sorry, there doesn't appear to be any hardware added yet. Check again later!

+
+ <% end %> +
diff --git a/views/partials/navbar.erb b/views/partials/navbar.erb index 412c6bc..45058f1 100644 --- a/views/partials/navbar.erb +++ b/views/partials/navbar.erb @@ -3,9 +3,9 @@