|
|
@ -18,16 +18,15 @@ require "active_support" |
|
|
|
require "active_support/core_ext" |
|
|
|
require "pry" # debug |
|
|
|
|
|
|
|
# Load environment variables |
|
|
|
require_relative "./utils/env" |
|
|
|
module LifePex |
|
|
|
APP_ENV = ENV.fetch("LIFEPEX_ENV") { "development" } |
|
|
|
APP_ENV = load_dotenv |
|
|
|
end |
|
|
|
|
|
|
|
require "dotenv" |
|
|
|
Dotenv.load(".env.#{LifePex::APP_ENV}.local", ".env.local", ".env") |
|
|
|
|
|
|
|
# Initialize framework |
|
|
|
require_relative "./utils/url.rb" |
|
|
|
require_relative "./utils/boot_framework" |
|
|
|
|
|
|
|
LifePex::BootFramework.boot_application do |
|
|
|
harshly_need_env "LIFEPEX_DB" |
|
|
|
kindly_ask_env "LIFEPEX_BASE_URL" |
|
|
@ -40,6 +39,7 @@ LifePex::BootFramework.boot_application do |
|
|
|
end |
|
|
|
end.finish! |
|
|
|
|
|
|
|
# Setup module variables |
|
|
|
module LifePex |
|
|
|
DB = Sequel.connect ENV["LIFEPEX_DB"] |
|
|
|
BASE_URL = ENV["LIFEPEX_BASE_URL"] || "http://localhost:4567" |
|
|
@ -53,6 +53,8 @@ module LifePex |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
# Then we load all the systems |
|
|
|
|
|
|
|
Dir[File.join(__dir__, 'utils', '*.rb')].each { |file| require file } |
|
|
|
|
|
|
|
require_relative "./achievements/dsl.rb" |
|
|
@ -61,10 +63,12 @@ require_relative "./achievements/achievement.rb" |
|
|
|
Dir[File.join(__dir__, 'models', '*.rb')].each { |file| require file } |
|
|
|
Dir[File.join(__dir__, 'systems', '*.rb')].each { |file| require file } |
|
|
|
|
|
|
|
# Static file serving in this file because it is overkill to create a file for this |
|
|
|
class LifePex::Systems::PublicSystem < Sinatra::Base |
|
|
|
set :public_folder, "public" |
|
|
|
end |
|
|
|
|
|
|
|
# Main app |
|
|
|
class LifePex::App < Sinatra::Base |
|
|
|
DocMyRoutes.configure do |config| |
|
|
|
config.title = "LifePex" |
|
|
|