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
|
database.yml
|
||||||
|
|
|
@ -1,6 +1,21 @@
|
||||||
require_relative "boot"
|
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
|
if STATUS == :database_offline
|
||||||
require "action_controller/railtie"
|
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