]> git.openstreetmap.org Git - rails.git/blobdiff - config/preinitializer.rb
Merge remote-tracking branch 'openstreetmap/pull/954'
[rails.git] / config / preinitializer.rb
index 1cc3f62c780a37bf64e6920bf1ed1bbf144ee9ca..07f10572286923c6b2b9acc074c83e84a6bc3d83 100644 (file)
@@ -1,16 +1,17 @@
-require 'yaml'
+require "yaml"
 
-config = YAML.load_file(File.expand_path("../application.yml", __FILE__))
-env = ENV['RAILS_ENV'] || 'development'
+env = if defined?(Rake.application) && Rake.application.top_level_tasks.grep(/^(default$|test(:|$))/).any?
+        "test"
+      else
+        ENV["RAILS_ENV"] || "development"
+      end
 
-ENV.each do |key,value|
-  if key.match(/^OSM_(.*)$/)
-    Object.const_set(Regexp.last_match(1).upcase, value)
-  end
+config = YAML.load_file(File.expand_path(env == "test" ? "../example.application.yml" : "../application.yml", __FILE__))
+
+ENV.each do |key, value|
+  Object.const_set(Regexp.last_match(1).upcase, value) if key =~ /^OSM_(.*)$/
 end
 
-config[env].each do |key,value|
-  unless Object.const_defined?(key.upcase)
-    Object.const_set(key.upcase, value)
-  end
+config[env].each do |key, value|
+  Object.const_set(key.upcase, value) unless Object.const_defined?(key.upcase)
 end