Commit c488c2061dcb426ec5c6ad43c62349aec82e4426
1 parent
2c00d88e
Exists in
master
and in
1 other branch
Added more comments to initializers/_load_config. Raise an error if config.yml i…
…s missing on a standard deployment
Showing
1 changed file
with
7 additions
and
1 deletions
Show diff stats
config/initializers/_load_config.rb
... | ... | @@ -2,6 +2,7 @@ require 'ostruct' |
2 | 2 | |
3 | 3 | Errbit::Config = OpenStruct.new |
4 | 4 | |
5 | +# If Errbit is running on Heroku, config can be set from environment variables. | |
5 | 6 | if ENV['HEROKU'] |
6 | 7 | Errbit::Config.host = ENV['ERRBIT_HOST'] |
7 | 8 | Errbit::Config.email_from = ENV['ERRBIT_EMAIL_FROM'] |
... | ... | @@ -23,8 +24,10 @@ if ENV['HEROKU'] |
23 | 24 | } |
24 | 25 | end |
25 | 26 | |
27 | +# Use example config for test environment. | |
26 | 28 | config_file = Rails.root.join('config', Rails.env == "test" ? "config.example.yml" : "config.yml") |
27 | 29 | |
30 | +# Load config if config file exists. | |
28 | 31 | if File.exists?(config_file) |
29 | 32 | yaml = File.read(config_file) |
30 | 33 | config = YAML.load(yaml) |
... | ... | @@ -32,9 +35,12 @@ if File.exists?(config_file) |
32 | 35 | config.each do |k,v| |
33 | 36 | Errbit::Config.send("#{k}=", v) |
34 | 37 | end |
38 | +# Raise an error if we are not running tests, not running on Heroku, and config.yml doesn't exist. | |
39 | +elsif not ENV['HEROKU'] | |
40 | + raise "Please copy 'config/config.example.yml' to 'config/config.yml' and configure your settings." | |
35 | 41 | end |
36 | 42 | |
37 | -# Set SMTP settings if given, but retain defaults if not. | |
43 | +# Set SMTP settings if given. | |
38 | 44 | if smtp = Errbit::Config.smtp_settings |
39 | 45 | Errbit::Application.config.action_mailer.smtp_settings = smtp |
40 | 46 | end | ... | ... |