Commit 19b2c04990f78225bf4c5d59decf4e3da36ab42a
1 parent
6c80863f
Exists in
master
and in
1 other branch
Load heroku values always if they are available, then override with config.yml
Showing
1 changed file
with
13 additions
and
12 deletions
Show diff stats
config/initializers/_load_config.rb
| 1 | 1 | require 'ostruct' |
| 2 | 2 | |
| 3 | -config_file = Rails.root.join('config', Rails.env == "test" ? "config.example.yml" : "config.yml") | |
| 4 | -Errbit::Config = nil # assign global scope | |
| 5 | -if File.exists?(config_file) | |
| 6 | - yaml = File.read(config_file) | |
| 7 | - config = YAML.load(yaml) | |
| 3 | +Errbit::Config = OpenStruct.new | |
| 8 | 4 | |
| 9 | - config.merge!(config.delete(Rails.env)) if config.has_key?(Rails.env) | |
| 10 | - | |
| 11 | - Errbit::Config = OpenStruct.new(config) | |
| 12 | -elsif ENV['HEROKU'] | |
| 13 | - Errbit::Config = OpenStruct.new | |
| 5 | +if ENV['HEROKU'] | |
| 14 | 6 | Errbit::Config.host = ENV['ERRBIT_HOST'] |
| 15 | 7 | Errbit::Config.email_from = ENV['ERRBIT_EMAIL_FROM'] |
| 16 | 8 | Errbit::Config.email_at_notices = [1,3,10] #ENV['ERRBIT_EMAIL_AT_NOTICES'] |
| ... | ... | @@ -22,8 +14,17 @@ elsif ENV['HEROKU'] |
| 22 | 14 | :password => ENV['SENDGRID_PASSWORD'], |
| 23 | 15 | :domain => ENV['SENDGRID_DOMAIN'] |
| 24 | 16 | } |
| 25 | -else | |
| 26 | - raise("Missing config file #{config_file}") | |
| 17 | +end | |
| 18 | + | |
| 19 | +config_file = Rails.root.join('config', Rails.env == "test" ? "config.example.yml" : "config.yml") | |
| 20 | + | |
| 21 | +if File.exists?(config_file) | |
| 22 | + yaml = File.read(config_file) | |
| 23 | + config = YAML.load(yaml) | |
| 24 | + config.merge!(config.delete(Rails.env)) if config.has_key?(Rails.env) | |
| 25 | + config.each do |k,v| | |
| 26 | + Errbit::Config.send("#{k}=", v) | |
| 27 | + end | |
| 27 | 28 | end |
| 28 | 29 | |
| 29 | 30 | # Set config specific values | ... | ... |