Refactored app to more explicitly require gems/modules that are used per-file
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:
25
src/app.rb
25
src/app.rb
@@ -4,20 +4,31 @@ require 'sinatra/base'
|
|||||||
require 'sequel'
|
require 'sequel'
|
||||||
require 'sqlite3'
|
require 'sqlite3'
|
||||||
|
|
||||||
require_relative 'appinfo'
|
|
||||||
|
|
||||||
# Load the Sequel timestamps plugin
|
# Load the Sequel timestamps plugin
|
||||||
Sequel::Model.plugin(:timestamps)
|
Sequel::Model.plugin(:timestamps)
|
||||||
# Initialize Sequel gem for database actions
|
# Initialize Sequel gem for database actions
|
||||||
DB = Sequel.connect(adapter: $conf.get('database.adapter'), database: $conf.get('database.database'))
|
DB = Sequel.connect(adapter: $conf.get('database.adapter'), database: $conf.get('database.database'))
|
||||||
|
|
||||||
# Load models
|
# Load in routes (must happen after Sequel is loaded!)
|
||||||
require_relative 'models/init'
|
require_relative 'routes/api1'
|
||||||
|
require_relative 'routes/benchmark'
|
||||||
|
require_relative 'routes/hardware'
|
||||||
|
require_relative 'routes/index'
|
||||||
|
require_relative 'routes/reports'
|
||||||
|
require_relative 'routes/result'
|
||||||
|
require_relative 'routes/test'
|
||||||
|
|
||||||
# Load the routes
|
# GameData - main app that gets launched
|
||||||
require_relative 'routes/init'
|
# - 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
|
||||||
|
|
||||||
class GameData < Server
|
enable :sessions
|
||||||
|
|
||||||
|
# Set up static file serving
|
||||||
|
enable :static
|
||||||
|
set :public_folder, File.join(__dir__, '/../public')
|
||||||
|
|
||||||
use IndexRoutes
|
use IndexRoutes
|
||||||
use HardwareRoutes
|
use HardwareRoutes
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require_relative 'appinfo'
|
||||||
|
|
||||||
# Helpers - view helper functions
|
# Helpers - view helper functions
|
||||||
module Helpers
|
module Helpers
|
||||||
|
|
||||||
|
@@ -1,6 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require_relative 'hardware'
|
|
||||||
require_relative 'benchmark'
|
|
||||||
require_relative 'result'
|
|
||||||
require_relative 'test'
|
|
@@ -1,6 +1,11 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'sinatra/json'
|
||||||
|
|
||||||
require_relative '../server'
|
require_relative '../server'
|
||||||
|
require_relative '../models/benchmark'
|
||||||
|
require_relative '../models/test'
|
||||||
|
require_relative '../models/result'
|
||||||
|
|
||||||
# /api/v1 routes
|
# /api/v1 routes
|
||||||
class APIv1Routes < Server
|
class APIv1Routes < Server
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative '../server'
|
require_relative '../server'
|
||||||
|
require_relative '../models/benchmark'
|
||||||
|
|
||||||
# /benchmark routes
|
# /benchmark routes
|
||||||
class BenchmarkRoutes < Server
|
class BenchmarkRoutes < Server
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative '../server'
|
require_relative '../server'
|
||||||
|
require_relative '../models/hardware'
|
||||||
|
require_relative '../models/benchmark'
|
||||||
|
|
||||||
# /hardware routes
|
# /hardware routes
|
||||||
class HardwareRoutes < Server
|
class HardwareRoutes < Server
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative '../server'
|
require_relative '../server'
|
||||||
|
require_relative '../models/test'
|
||||||
|
|
||||||
# / (top-level) routes
|
# / (top-level) routes
|
||||||
class IndexRoutes < Server
|
class IndexRoutes < Server
|
||||||
|
@@ -1,10 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require_relative 'index'
|
|
||||||
require_relative 'hardware'
|
|
||||||
require_relative 'benchmark'
|
|
||||||
require_relative 'reports'
|
|
||||||
require_relative 'result'
|
|
||||||
require_relative 'test'
|
|
||||||
|
|
||||||
require_relative 'api1'
|
|
@@ -1,6 +1,11 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'sinatra/json'
|
||||||
|
|
||||||
require_relative '../server'
|
require_relative '../server'
|
||||||
|
require_relative '../models/benchmark'
|
||||||
|
require_relative '../models/result'
|
||||||
|
require_relative '../models/test'
|
||||||
|
|
||||||
# /reports routes
|
# /reports routes
|
||||||
class ReportsRoutes < Server
|
class ReportsRoutes < Server
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative '../server'
|
require_relative '../server'
|
||||||
|
require_relative '../models/result'
|
||||||
|
|
||||||
# /result routes
|
# /result routes
|
||||||
class ResultRoutes < Server
|
class ResultRoutes < Server
|
||||||
|
@@ -1,6 +1,9 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative '../server'
|
require_relative '../server'
|
||||||
|
require_relative '../models/benchmark'
|
||||||
|
require_relative '../models/hardware'
|
||||||
|
require_relative '../models/test'
|
||||||
|
|
||||||
# /test routes
|
# /test routes
|
||||||
class TestRoutes < Server
|
class TestRoutes < Server
|
||||||
|
@@ -1,17 +1,10 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'sinatra/base'
|
require 'sinatra/base'
|
||||||
require 'sinatra/json'
|
|
||||||
|
|
||||||
# Base app
|
# Server - base modular Sinatra app class
|
||||||
class Server < Sinatra::Base
|
class Server < Sinatra::Base
|
||||||
|
|
||||||
enable :sessions
|
|
||||||
|
|
||||||
# Set up static file serving
|
|
||||||
enable :static
|
|
||||||
set :public_folder, File.join(__dir__, '/../public')
|
|
||||||
|
|
||||||
# Register view helpers
|
# Register view helpers
|
||||||
require_relative 'helpers'
|
require_relative 'helpers'
|
||||||
helpers Helpers
|
helpers Helpers
|
||||||
|
Reference in New Issue
Block a user