59 lines
1.3 KiB
Ruby
59 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# /hardware routes
|
|
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/#{hardware.id}"
|
|
end
|
|
|
|
get '/hardware/:hardware_id' do
|
|
benchmarks = Benchmark.order(:name).all()
|
|
hardware = Hardware.where(id: params[:hardware_id]).first()
|
|
erb :'hardware/view', locals: {
|
|
title: hardware.name,
|
|
hardware: hardware,
|
|
benchmarks: benchmarks
|
|
}
|
|
end
|
|
|
|
get '/hardware/:hardware_id/edit' do
|
|
hardware = Hardware.where(id: params[:hardware_id]).first()
|
|
erb :'hardware/edit', locals: {
|
|
title: "Editing: #{hardware.name}",
|
|
hardware: hardware
|
|
}
|
|
end
|
|
|
|
post '/hardware/:hardware_id/edit' do
|
|
hardware = Hardware.where(id: params[:hardware_id]).first()
|
|
|
|
hardware.update(
|
|
name: params[:hardware_name],
|
|
type: params[:hardware_type]
|
|
)
|
|
|
|
redirect "/hardware/#{hardware.id}"
|
|
end
|
|
|
|
end
|