diff options
Diffstat (limited to 'railties/environments/shared_for_gem.rb')
-rw-r--r-- | railties/environments/shared_for_gem.rb | 44 |
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: |