]> git.openstreetmap.org Git - rails.git/blob - config/boot.rb
b7af0c35c7e78314768de378587c84519ca55024
[rails.git] / config / boot.rb
1 # Don't change this file. Configuration is done in config/environment.rb and config/environments/*.rb
2
3 unless defined?(RAILS_ROOT)
4   root_path = File.join(File.dirname(__FILE__), '..')
5
6   unless RUBY_PLATFORM =~ /(:?mswin|mingw)/
7     require 'pathname'
8     root_path = Pathname.new(root_path).cleanpath(true).to_s
9   end
10
11   RAILS_ROOT = root_path
12 end
13
14 unless defined?(Rails::Initializer)
15   if File.directory?("#{RAILS_ROOT}/vendor/rails")
16     require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
17   else
18     require 'rubygems'
19
20     environment_without_comments = IO.readlines(File.dirname(__FILE__) + '/environment.rb').reject { |l| l =~ /^#/ }.join
21     environment_without_comments =~ /[^#]RAILS_GEM_VERSION = '([\d.]+)'/
22     rails_gem_version = $1
23
24     if version = defined?(RAILS_GEM_VERSION) ? RAILS_GEM_VERSION : rails_gem_version
25       # Asking for 1.1.6 will give you 1.1.6.5206, if available -- makes it easier to use beta gems
26       rails_gem = Gem.cache.search('rails', "~>#{version}.0").sort_by { |g| g.version.version }.last
27
28       if rails_gem
29         gem "rails", "=#{rails_gem.version.version}"
30         require rails_gem.full_gem_path + '/lib/initializer'
31       else
32         STDERR.puts %(Cannot find gem for Rails ~>#{version}.0:
33     Install the missing gem with 'gem install -v=#{version} rails', or
34     change environment.rb to define RAILS_GEM_VERSION with your desired version.
35   )
36         exit 1
37       end
38     else
39       gem "rails"
40       require 'initializer'
41     end
42   end
43
44   Rails::Initializer.run(:set_load_path)
45 end