Changed naming from Routes to Controllers; fixed some Sinatra modular layout stuff; added RSpec for testing and some basic tests
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:
44
src/server.rb
Executable file → Normal file
44
src/server.rb
Executable file → Normal file
@@ -1,15 +1,45 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'sinatra/base'
|
||||
require 'sequel'
|
||||
require 'sqlite3'
|
||||
|
||||
# Server - base modular Sinatra app class
|
||||
class Server < Sinatra::Base
|
||||
require_relative 'config'
|
||||
|
||||
# Register view helpers
|
||||
require_relative 'helpers'
|
||||
helpers Helpers
|
||||
$conf = Config.new(File.join(__dir__, 'config/defaults.yaml'))
|
||||
|
||||
# Set up our view engine
|
||||
set :views, File.join(settings.root, '/../views')
|
||||
# Load the Sequel timestamps plugin
|
||||
Sequel::Model.plugin(:timestamps)
|
||||
# Initialize Sequel gem for database actions
|
||||
DB = Sequel.connect(adapter: $conf.get('database.adapter'), database: $conf.get('database.database'))
|
||||
|
||||
# Load in routes (must happen after Sequel is loaded!)
|
||||
require_relative 'controllers/api1'
|
||||
require_relative 'controllers/benchmark'
|
||||
require_relative 'controllers/hardware'
|
||||
require_relative 'controllers/index'
|
||||
require_relative 'controllers/reports'
|
||||
require_relative 'controllers/result'
|
||||
require_relative 'controllers/test'
|
||||
|
||||
# GameData - main app that gets launched
|
||||
# - inherits from Sinatra::Base to instantiate the server
|
||||
# - sets up some base app configuration
|
||||
# - registers route classes with the base app
|
||||
class GameData < Sinatra::Base
|
||||
|
||||
enable :sessions
|
||||
|
||||
# Set up static file serving
|
||||
enable :static
|
||||
set :public_folder, File.join(__dir__, '/../public')
|
||||
|
||||
use IndexController
|
||||
use HardwareController
|
||||
use BenchmarkController
|
||||
use TestController
|
||||
use ResultController
|
||||
use ReportsController
|
||||
use APIv1Controller
|
||||
|
||||
end
|
||||
|
Reference in New Issue
Block a user