aboutsummaryrefslogtreecommitdiffstats
path: root/railties/environments/shared_for_gem.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/environments/shared_for_gem.rb')
-rw-r--r--railties/environments/shared_for_gem.rb44
1 files changed, 36 insertions, 8 deletions
diff --git a/railties/environments/shared_for_gem.rb b/railties/environments/shared_for_gem.rb
index 1ae6746122..52f618563c 100644
--- a/railties/environments/shared_for_gem.rb
+++ b/railties/environments/shared_for_gem.rb
@@ -1,23 +1,51 @@
RAILS_ROOT = File.expand_path(File.dirname(__FILE__) + "/../")
RAILS_ENV = ENV['RAILS_ENV'] || 'development'
-ADDITIONAL_LOAD_PATHS = [ "app/models", "app/controllers", "app/helpers", "config", "lib", "vendor" ]
-ADDITIONAL_LOAD_PATHS.unshift(Dir["#{RAILS_ROOT}/app/models/[a-z]*"].collect{ |dir| "app/models/#{File.basename(dir)}" })
-ADDITIONAL_LOAD_PATHS.unshift("test/mocks/#{RAILS_ENV}")
-ADDITIONAL_LOAD_PATHS.flatten.each { |dir| $:.unshift "#{RAILS_ROOT}/#{dir}" }
+# Mocks first.
+ADDITIONAL_LOAD_PATHS = ["#{RAILS_ROOT}/test/mocks/#{RAILS_ENV}"]
-require 'rubygems'
+# Then model subdirectories.
+ADDITIONAL_LOAD_PATHS.concat(Dir["#{RAILS_ROOT}/app/models/[a-z]*"])
+
+# Followed by the standard includes.
+ADDITIONAL_LOAD_PATHS.concat %w(
+ app/models
+ app/controllers
+ app/helpers
+ config
+ lib
+ vendor
+).map { |dir| "#{RAILS_ROOT}/#{dir}" }
+
+# Prepend to $LOAD_PATH
+ADDITIONAL_LOAD_PATHS.reverse.each do |dir|
+ $:.unshift(dir) if File.directory?(dir)
+end
+
+# Require Rails gems.
+require 'rubygems'
require_gem 'activerecord'
require_gem 'actionpack'
require_gem 'actionmailer'
require_gem 'rails'
-require 'yaml'
-ActionController::Base.template_root = ActionMailer::Base.template_root = "#{RAILS_ROOT}/app/views/"
+# Environment-specific configuration.
+require 'yaml'
ActiveRecord::Base.configurations = YAML::load(File.open("#{RAILS_ROOT}/config/database.yml"))
-
ActionController::Base.require_or_load 'abstract_application'
ActionController::Base.require_or_load "environments/#{RAILS_ENV}"
+
+# Configure defaults if the included environment did not.
+RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log")
+[ActiveRecord::Base, ActionController::Base, ActionMailer::Base].each do |klass|
+ klass.logger ||= RAILS_DEFAULT_LOGGER
+end
+[ActionController::Base, ActionMailer::Base].each do |klass|
+ klass.template_root ||= "#{RAILS_ROOT}/app/views/"
+end
+
+
+# Include your app's configuration here: