From ed77e84c4b00bf1d2269af6a07575c30039d942d Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Thu, 8 Oct 2009 15:08:08 -0700 Subject: Ported over more initializers --- railties/lib/rails/application.rb | 42 ++++++++++++++++++++++++++++++++++++++- railties/lib/rails/initializer.rb | 42 --------------------------------------- 2 files changed, 41 insertions(+), 43 deletions(-) (limited to 'railties/lib/rails') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index c7b92ef9b7..5b5f6842b9 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -102,7 +102,47 @@ module Rails # Create tmp directories initializer :ensure_tmp_directories_exist do %w(cache pids sessions sockets).each do |dir_to_make| - FileUtils.mkdir_p(File.join(configuration.root_path, 'tmp', dir_to_make)) + FileUtils.mkdir_p(File.join(config.root_path, 'tmp', dir_to_make)) + end + end + + # Loads the environment specified by Configuration#environment_path, which + # is typically one of development, test, or production. + initializer :load_environment do + silence_warnings do + next if @environment_loaded + next unless File.file?(config.environment_path) + + @environment_loaded = true + constants = self.class.constants + + eval(IO.read(configuration.environment_path), binding, configuration.environment_path) + + (self.class.constants - constants).each do |const| + Object.const_set(const, self.class.const_get(const)) + end + end + end + + initializer :add_gem_load_paths do + require 'rails/gem_dependency' + Rails::GemDependency.add_frozen_gem_path + unless config.gems.empty? + require "rubygems" + config.gems.each { |gem| gem.add_load_paths } + end + end + + # Preload all frameworks specified by the Configuration#frameworks. + # Used by Passenger to ensure everything's loaded before forking and + # to avoid autoload race conditions in JRuby. + initializer :preload_frameworks do + if config.preload_frameworks + config.frameworks.each do |framework| + # String#classify and #constantize aren't available yet. + toplevel = Object.const_get(framework.to_s.gsub(/(?:^|_)(.)/) { $1.upcase }) + toplevel.load_all! if toplevel.respond_to?(:load_all!) + end end end end diff --git a/railties/lib/rails/initializer.rb b/railties/lib/rails/initializer.rb index 687455feca..bfdecd0f80 100644 --- a/railties/lib/rails/initializer.rb +++ b/railties/lib/rails/initializer.rb @@ -116,48 +116,6 @@ module Rails end end - # Loads the environment specified by Configuration#environment_path, which - # is typically one of development, test, or production. - Initializer.default.add :load_environment do - silence_warnings do - next if @environment_loaded - next unless File.file?(configuration.environment_path) - - @environment_loaded = true - - config = configuration - constants = self.class.constants - - eval(IO.read(configuration.environment_path), binding, configuration.environment_path) - - (self.class.constants - constants).each do |const| - Object.const_set(const, self.class.const_get(const)) - end - end - end - - Initializer.default.add :add_gem_load_paths do - require 'rails/gem_dependency' - Rails::GemDependency.add_frozen_gem_path - unless config.gems.empty? - require "rubygems" - config.gems.each { |gem| gem.add_load_paths } - end - end - - # Preload all frameworks specified by the Configuration#frameworks. - # Used by Passenger to ensure everything's loaded before forking and - # to avoid autoload race conditions in JRuby. - Initializer.default.add :preload_frameworks do - if configuration.preload_frameworks - configuration.frameworks.each do |framework| - # String#classify and #constantize aren't available yet. - toplevel = Object.const_get(framework.to_s.gsub(/(?:^|_)(.)/) { $1.upcase }) - toplevel.load_all! if toplevel.respond_to?(:load_all!) - end - end - end - # This initialization routine does nothing unless :active_record # is one of the frameworks to load (Configuration#frameworks). If it is, # this sets the database configuration from Configuration#database_configuration -- cgit v1.2.3