Use `abort` instead of `warn(); exit` in boot.rb env check (#29209)

main-rebase-security-fix
Matt Jankowski 2024-02-16 09:29:24 -05:00 committed by GitHub
parent 1946e171e6
commit 1d9d14b8de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 8 deletions

View File

@ -96,12 +96,6 @@ Rails/FilePath:
Rails/HttpStatus:
EnforcedStyle: numeric
# Reason: Allowed in boot ENV checker
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsexit
Rails/Exit:
Exclude:
- 'config/boot.rb'
# Reason: Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railslexicallyscopedactionfilter
Rails/LexicallyScopedActionFilter:

View File

@ -1,8 +1,15 @@
# frozen_string_literal: true
unless ENV.key?('RAILS_ENV')
warn 'ERROR: Missing RAILS_ENV environment variable, please set it to "production", "development", or "test".'
exit 1
abort <<~ERROR
The RAILS_ENV environment variable is not set.
Please set it correctly depending on context:
- Use "production" for a live deployment of the application
- Use "development" for local feature work
- Use "test" when running the automated spec suite
ERROR
end
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)