From f8d63ba0a3b78f3e0dc73642bf884929d6e4988c Mon Sep 17 00:00:00 2001 From: benmelz Date: Fri, 3 Apr 2026 11:30:10 -0400 Subject: [PATCH 1/6] APP_ENV => RACK_ENV --- Rakefile | 2 +- config.ru | 2 +- config/deploy.rb | 4 ---- lib/application_configuration.rb | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Rakefile b/Rakefile index eff8250..5134565 100644 --- a/Rakefile +++ b/Rakefile @@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.join(__dir__, 'lib') require 'bundler' -env = ENV['APP_ENV'] || 'development' +env = ENV['RACK_ENV'] || 'development' Bundler.require(:default, env) require 'application_configuration' diff --git a/config.ru b/config.ru index b51d6cb..21b2e9a 100644 --- a/config.ru +++ b/config.ru @@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.join(__dir__, 'lib') require 'bundler' -env = ENV['APP_ENV'] = ENV.fetch('RACK_ENV', 'development') +env = ENV.fetch('RACK_ENV', 'development') Bundler.require(:default, env) require 'application_configuration' diff --git a/config/deploy.rb b/config/deploy.rb index 855bf36..76c4d69 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -6,10 +6,6 @@ set :application, 'dev-training-web' set :repo_url, 'https://github.com/umts/dev-training-web.git' set :branch, 'main' - -set :app_env, fetch(:stage) -set :default_env, { APP_ENV: fetch(:app_env) } - set :deploy_to, "/srv/#{fetch :application}" set :keep_releases, 5 diff --git a/lib/application_configuration.rb b/lib/application_configuration.rb index a81a7cc..2b80aff 100644 --- a/lib/application_configuration.rb +++ b/lib/application_configuration.rb @@ -16,7 +16,7 @@ def self.load! Figaro.adapter = Figaro::Application Figaro.application = Figaro::Application.new( path: config_file, - environment: ENV['APP_ENV'] || 'development' + environment: ENV['RACK_ENV'] || 'development' ) Figaro.load end From b0232bcd597b2ba066e344edfd0c38a8faae5026 Mon Sep 17 00:00:00 2001 From: benmelz Date: Fri, 3 Apr 2026 11:35:24 -0400 Subject: [PATCH 2/6] load app via environment file --- Rakefile | 6 +----- config.ru | 8 ++------ config/environment.rb | 5 +++++ script/console | 5 +---- spec/spec_helper.rb | 6 ++---- 5 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 config/environment.rb diff --git a/Rakefile b/Rakefile index 5134565..65fff5d 100644 --- a/Rakefile +++ b/Rakefile @@ -1,10 +1,6 @@ # frozen_string_literal: true -$LOAD_PATH.unshift File.join(__dir__, 'lib') - -require 'bundler' -env = ENV['RACK_ENV'] || 'development' -Bundler.require(:default, env) +require_relative 'config/environment' require 'application_configuration' ApplicationConfiguration.load! diff --git a/config.ru b/config.ru index 21b2e9a..5256b0c 100644 --- a/config.ru +++ b/config.ru @@ -1,10 +1,6 @@ # frozen_string_literal: true -$LOAD_PATH.unshift File.join(__dir__, 'lib') - -require 'bundler' -env = ENV.fetch('RACK_ENV', 'development') -Bundler.require(:default, env) +require_relative 'config/environment' require 'application_configuration' ApplicationConfiguration.load! @@ -12,5 +8,5 @@ ApplicationConfiguration.load! require 'application_assets' require 'dev_training_application' -map(ApplicationAssets::ASSET_ROOT) { run ApplicationAssets.new } unless env == 'production' +map(ApplicationAssets::ASSET_ROOT) { run ApplicationAssets.new } if ENV.fetch('RACK_ENV', 'development') != 'production' map('/') { run DevTrainingApplication } diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 0000000..413c35a --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +$LOAD_PATH.unshift File.expand_path('../lib', __dir__) +require 'bundler/setup' +Bundler.require(:default, ENV.fetch('RACK_ENV', 'development')) diff --git a/script/console b/script/console index 36e69d7..df34a17 100755 --- a/script/console +++ b/script/console @@ -1,10 +1,7 @@ #!/usr/bin/env ruby # frozen_string_literal: true -require 'bundler' - -$LOAD_PATH.unshift File.join(__dir__, '..', 'lib') -Bundler.require(:default, :development) +require_relative '../config/environment' require 'application_configuration' ApplicationConfiguration.load! diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 8b9bbde..fb645d8 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,8 +1,5 @@ # frozen_string_literal: true -require 'bundler' -Bundler.require(:default, :test) - SimpleCov.start do enable_coverage :branch load_profile 'test_frameworks' @@ -10,7 +7,8 @@ track_files 'lib/**/*.rb' end -$LOAD_PATH.unshift File.join(__dir__, '..', 'lib') +ENV['RACK_ENV'] = 'test' +require_relative 'config/environment' Dir.glob(File.join(__dir__, 'support/**/*.rb')).each { |f| require f } From f083d3033a57571e856e3bebd23af1fb33224fe9 Mon Sep 17 00:00:00 2001 From: benmelz Date: Fri, 3 Apr 2026 11:39:58 -0400 Subject: [PATCH 3/6] fix rakefile --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 65fff5d..8b45475 100644 --- a/Rakefile +++ b/Rakefile @@ -23,7 +23,7 @@ namespace :assets do end # rubocop:enable Rake/Desc -unless env == 'production' +unless ENV.fetch('RACK_ENV', 'development') == 'production' require 'fileutils' require 'haml_lint/rake_task' require 'rdoc/task' From 049ab145eb4755c4faf8ca389528045451664622 Mon Sep 17 00:00:00 2001 From: benmelz Date: Fri, 3 Apr 2026 12:00:30 -0400 Subject: [PATCH 4/6] typoed simplecov... somehow --- spec/spec_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index fb645d8..e481347 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -SimpleCov.start do +Simplecov.start do enable_coverage :branch load_profile 'test_frameworks' add_filter %r{^/vendor/} From e46eb71f18cf3b3d58319dfe7fe97c43bf7f999c Mon Sep 17 00:00:00 2001 From: benmelz Date: Fri, 3 Apr 2026 12:01:23 -0400 Subject: [PATCH 5/6] try best to not interrupt deployment --- config/deploy.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/deploy.rb b/config/deploy.rb index 76c4d69..cf43434 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -8,6 +8,9 @@ set :branch, 'main' set :deploy_to, "/srv/#{fetch :application}" +set :app_env, fetch(:stage) +set :default_env, { RACK_ENV: fetch(:app_env) } + set :keep_releases, 5 append :linked_files, 'config/application.yml' From feff4392aa72dcffdc337b6435e8469c2f6f0035 Mon Sep 17 00:00:00 2001 From: benmelz Date: Fri, 3 Apr 2026 12:15:54 -0400 Subject: [PATCH 6/6] actually fix spec --- coverage/.last_run.json | 2 +- spec/spec_helper.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/coverage/.last_run.json b/coverage/.last_run.json index ed8dbab..3c48834 100644 --- a/coverage/.last_run.json +++ b/coverage/.last_run.json @@ -1,6 +1,6 @@ { "result": { - "line": 98.11, + "line": 98.13, "branch": 85.71 } } diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index e481347..62649ff 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true -Simplecov.start do +require 'simplecov' +SimpleCov.start do enable_coverage :branch load_profile 'test_frameworks' add_filter %r{^/vendor/} @@ -8,7 +9,7 @@ end ENV['RACK_ENV'] = 'test' -require_relative 'config/environment' +require_relative '../config/environment' Dir.glob(File.join(__dir__, 'support/**/*.rb')).each { |f| require f }