Only take the STATUS configuration from the environment
This allows us to remove the preinitializer-based configuration parsing.
This commit is contained in:
parent
5eef38a6b6
commit
9af31c2254
4 changed files with 16 additions and 33 deletions
1
config/.gitignore
vendored
1
config/.gitignore
vendored
|
@ -1,2 +1 @@
|
|||
application.yml
|
||||
database.yml
|
||||
|
|
|
@ -1,6 +1,21 @@
|
|||
require_relative "boot"
|
||||
|
||||
require_relative "preinitializer"
|
||||
# Set the STATUS constant from the environment, if it matches a recognized value
|
||||
ALLOWED_STATUS = [
|
||||
:online, # online and operating normally
|
||||
:api_readonly, # site online but API in read-only mode
|
||||
:api_offline, # site online but API offline
|
||||
:database_readonly, # database and site in read-only mode
|
||||
:database_offline, # database offline with site in emergency mode
|
||||
:gpx_offline # gpx storage offline
|
||||
].freeze
|
||||
|
||||
status = if ENV["STATUS"] && ALLOWED_STATUS.include?(ENV["STATUS"].to_sym)
|
||||
ENV["STATUS"].to_sym
|
||||
else
|
||||
:online
|
||||
end
|
||||
Object.const_set("STATUS", status)
|
||||
|
||||
if STATUS == :database_offline
|
||||
require "action_controller/railtie"
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
defaults: &defaults
|
||||
# Application status - possible values are:
|
||||
# :online - online and operating normally
|
||||
# :api_readonly - site online but API in read-only mode
|
||||
# :api_offline - site online but API offline
|
||||
# :database_readonly - database and site in read-only mode
|
||||
# :database_offline - database offline with site in emergency mode
|
||||
# :gpx_offline - gpx storage offline
|
||||
status: :online
|
||||
|
||||
development:
|
||||
<<: *defaults
|
||||
|
||||
production:
|
||||
<<: *defaults
|
||||
|
||||
test:
|
||||
<<: *defaults
|
|
@ -1,13 +0,0 @@
|
|||
require "yaml"
|
||||
|
||||
env = if defined?(Rake.application) && Rake.application.top_level_tasks.grep(/^(default$|test(:|$))/).any?
|
||||
"test"
|
||||
else
|
||||
ENV["RAILS_ENV"] || "development"
|
||||
end
|
||||
|
||||
config = YAML.load_file(File.expand_path(env == "test" ? "../example.application.yml" : "../application.yml", __FILE__))
|
||||
|
||||
config[env].each do |key, value|
|
||||
Object.const_set(key.upcase, value) unless Object.const_defined?(key.upcase)
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue