aboutsummaryrefslogtreecommitdiffstats
path: root/railties/environments/boot.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2006-04-07 18:21:52 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2006-04-07 18:21:52 +0000
commitc077a7308eb84deb0e068ead404caa88621f1836 (patch)
treeb4e8ee76c7b52334912dd8aa916fb679ee264779 /railties/environments/boot.rb
parent7d3092478cf2f572ffc9a106c2eedc520986e60d (diff)
downloadrails-c077a7308eb84deb0e068ead404caa88621f1836.tar.gz
rails-c077a7308eb84deb0e068ead404caa88621f1836.tar.bz2
rails-c077a7308eb84deb0e068ead404caa88621f1836.zip
Fixed that boot.rb would set RAILS_GEM_VERSION twice, not respect an uncommented RAILS_GEM_VERSION line, and not use require_gem [DHH] Added rake rails:update:configs to update config/boot.rb from the latest (also included in rake rails:update) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4197 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/environments/boot.rb')
-rw-r--r--railties/environments/boot.rb46
1 files changed, 26 insertions, 20 deletions
diff --git a/railties/environments/boot.rb b/railties/environments/boot.rb
index e638abe1a2..9a094cbc6d 100644
--- a/railties/environments/boot.rb
+++ b/railties/environments/boot.rb
@@ -2,37 +2,43 @@
unless defined?(RAILS_ROOT)
root_path = File.join(File.dirname(__FILE__), '..')
+
unless RUBY_PLATFORM =~ /mswin32/
require 'pathname'
root_path = Pathname.new(root_path).cleanpath(true).to_s
end
+
RAILS_ROOT = root_path
end
-if File.directory?("#{RAILS_ROOT}/vendor/rails")
- require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
-else
- require 'rubygems'
+unless defined?(Rails::Initializer)
+ if File.directory?("#{RAILS_ROOT}/vendor/rails")
+ require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
+ else
+ require 'rubygems'
- if !defined?(RAILS_GEM_VERSION) && File.read(File.dirname(__FILE__) + '/environment.rb') =~ /^\s*RAILS_GEM_VERSION = '([\d.]+)'/
- RAILS_GEM_VERSION = $1
- end
+ environment_without_comments = IO.readlines(File.dirname(__FILE__) + '/environment.rb').reject { |l| l =~ /^#/ }.join
+ environment_without_comments =~ /[^#]RAILS_GEM_VERSION = '([\d.]+)'/
+ rails_gem_version = $1
- if defined?(RAILS_GEM_VERSION)
- rails_gem = Gem.cache.search('rails', "=#{RAILS_GEM_VERSION}").first
+ if version = defined?(RAILS_GEM_VERSION) ? RAILS_GEM_VERSION : rails_gem_version
+ rails_gem = Gem.cache.search('rails', "=#{version}").first
- if rails_gem
- require rails_gem.full_gem_path + '/lib/initializer'
+ if rails_gem
+ require_gem "rails", "=#{version}"
+ require rails_gem.full_gem_path + '/lib/initializer'
+ else
+ STDERR.puts %(Cannot find gem for Rails =#{version}:
+ Install the missing gem with 'gem install -v=#{version} rails', or
+ change environment.rb to define RAILS_GEM_VERSION with your desired version.
+ )
+ exit 1
+ end
else
- STDERR.puts %(Cannot find gem for Rails =#{RAILS_GEM_VERSION}:
- Install the missing gem with 'gem install -v=#{RAILS_GEM_VERSION} rails', or
- change environment.rb to define RAILS_GEM_VERSION with your desired version.
-)
- exit 1
+ require_gem "rails"
+ require 'initializer'
end
- else
- require 'initializer'
end
-end
-Rails::Initializer.run(:set_load_path) \ No newline at end of file
+ Rails::Initializer.run(:set_load_path)
+end \ No newline at end of file