Commit 8608f10b133549966e000b6c983d9aa1edd1bdd6
1 parent
c8d37823
Exists in
master
and in
1 other branch
Set default settings from config.example.yml if key is missing from config.yml
Showing
1 changed file
with
9 additions
and
3 deletions
Show diff stats
config/initializers/_load_config.rb
... | ... | @@ -20,12 +20,12 @@ if ENV['HEROKU'] |
20 | 20 | end |
21 | 21 | |
22 | 22 | # Use example config for test environment. |
23 | -config_file = Rails.root.join('config', Rails.env == "test" ? "config.example.yml" : "config.yml") | |
23 | +default_config_file = Rails.root.join("config", "config.example.yml") | |
24 | +config_file = Rails.env == "test" ? default_config_file : Rails.root.join("config", "config.yml") | |
24 | 25 | |
25 | 26 | # Load config if config file exists. |
26 | 27 | if File.exists?(config_file) |
27 | - yaml = File.read(config_file) | |
28 | - config = YAML.load(yaml) | |
28 | + config = YAML.load_file(config_file) | |
29 | 29 | config.merge!(config.delete(Rails.env)) if config.has_key?(Rails.env) |
30 | 30 | config.each do |k,v| |
31 | 31 | Errbit::Config.send("#{k}=", v) |
... | ... | @@ -35,6 +35,12 @@ elsif not ENV['HEROKU'] |
35 | 35 | raise "Please copy 'config/config.example.yml' to 'config/config.yml' and configure your settings." |
36 | 36 | end |
37 | 37 | |
38 | +# Set default settings from config.example.yml if key is missing from config.yml | |
39 | +default_config = YAML.load_file(default_config_file) | |
40 | +default_config.each do |k,v| | |
41 | + Errbit::Config.send("#{k}=", v) if Errbit::Config.send(k) === nil | |
42 | +end | |
43 | + | |
38 | 44 | # Set SMTP settings if given. |
39 | 45 | if smtp = Errbit::Config.smtp_settings |
40 | 46 | Errbit::Application.config.action_mailer.smtp_settings = smtp | ... | ... |